; ; __multtenpow12 from 0x18012d8dc to 0x18012dba6 (714 bytes) ; ; 3 xrefs: ; > __crt_stdio_output::output_processor,__crt_stdio_output::standard_base>>::process @ 0x18012cc6a ; > sub_18012D200 @ 0x18012d222 ; > @ 0x180202c78 ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; mov [rsp+arg_8], rbx ; +0x0, 0x18012d8dc mov [rsp+arg_10], rbp ; +0x5, 0x18012d8e1 mov [rsp+arg_18], rsi ; +0xa, 0x18012d8e6 push rdi ; +0xf, 0x18012d8eb push r12 ; +0x10, 0x18012d8ec push r13 ; +0x12, 0x18012d8ee push r14 ; +0x14, 0x18012d8f0 push r15 ; +0x16, 0x18012d8f2 sub rsp, 40h ; +0x18, 0x18012d8f4 mov rax, cs:__security_cookie ; +0x1c, 0x18012d8f8 xor rax, rsp ; +0x23, 0x18012d8ff mov [rsp+68h+var_30], rax ; +0x26, 0x18012d902 movzx eax, word ptr [rcx+42h] ; +0x2b, 0x18012d907 mov esi, 78h ; 'x' ; +0x2f, 0x18012d90b mov rbx, rcx ; +0x34, 0x18012d910 lea ebp, [rsi-20h] ; +0x37, 0x18012d913 lea r15d, [rsi-77h] ; +0x3a, 0x18012d916 cmp ax, 64h ; 'd' ; +0x3e, 0x18012d91a ja short loc_18012D985 ; +0x42, 0x18012d91e jz loc_18012DA03 ; +0x44, 0x18012d920 cmp ax, 41h ; 'A' ; +0x4a, 0x18012d926 jz loc_18012DA16 ; +0x4e, 0x18012d92a cmp ax, 43h ; 'C' ; +0x54, 0x18012d930 jz short loc_18012D96F ; +0x58, 0x18012d934 cmp ax, 44h ; 'D' ; +0x5a, 0x18012d936 jbe loc_18012DA1F ; +0x5e, 0x18012d93a cmp ax, 47h ; 'G' ; +0x64, 0x18012d940 jbe loc_18012DA16 ; +0x68, 0x18012d944 cmp ax, 53h ; 'S' ; +0x6e, 0x18012d94a jz short loc_18012D9BF ; +0x72, 0x18012d94e cmp ax, bp ; +0x74, 0x18012d950 jz short loc_18012D9D4 ; +0x77, 0x18012d953 cmp ax, 5Ah ; 'Z' ; +0x79, 0x18012d955 jz short loc_18012D97B ; +0x7d, 0x18012d959 cmp ax, 61h ; 'a' ; +0x7f, 0x18012d95b jz loc_18012DA16 ; +0x83, 0x18012d95f cmp ax, 63h ; 'c' ; +0x89, 0x18012d965 jnz loc_18012DA1F ; +0x8d, 0x18012d969 xor edx, edx ; +0x93, 0x18012d96f call unknown_libname_49; Microsoft VisualC 64bit universal runtime ; +0x95, 0x18012d971 jmp loc_18012DA1B ; +0x9a, 0x18012d976 call unknown_libname_43; Microsoft VisualC 64bit universal runtime ; +0x9f, 0x18012d97b jmp loc_18012DA1B ; +0xa4, 0x18012d980 cmp ax, 67h ; 'g' ; +0xa9, 0x18012d985 jbe loc_18012DA16 ; +0xad, 0x18012d989 cmp ax, 69h ; 'i' ; +0xb3, 0x18012d98f jz short loc_18012DA03 ; +0xb7, 0x18012d993 cmp ax, 6Eh ; 'n' ; +0xb9, 0x18012d995 jz short loc_18012D9FC ; +0xbd, 0x18012d999 cmp ax, 6Fh ; 'o' ; +0xbf, 0x18012d99b jz short loc_18012D9DE ; +0xc3, 0x18012d99f cmp ax, 70h ; 'p' ; +0xc5, 0x18012d9a1 jz short loc_18012D9C6 ; +0xc9, 0x18012d9a5 cmp ax, 73h ; 's' ; +0xcb, 0x18012d9a7 jz short loc_18012D9BF ; +0xcf, 0x18012d9ab cmp ax, 75h ; 'u' ; +0xd1, 0x18012d9ad jz short loc_18012DA07 ; +0xd5, 0x18012d9b1 cmp ax, si ; +0xd7, 0x18012d9b3 jnz short loc_18012DA1F ; +0xda, 0x18012d9b6 mov edx, 10h ; +0xdc, 0x18012d9b8 jmp short loc_18012DA0C ; +0xe1, 0x18012d9bd call unknown_libname_55; Microsoft VisualC 64bit universal runtime ; +0xe3, 0x18012d9bf jmp short loc_18012DA1B ; +0xe8, 0x18012d9c4 mov dword ptr [rcx+38h], 10h ; +0xea, 0x18012d9c6 mov dword ptr [rcx+3Ch], 0Bh ; +0xf1, 0x18012d9cd mov r8b, r15b ; +0xf8, 0x18012d9d4 mov edx, 10h ; +0xfb, 0x18012d9d7 jmp short loc_18012DA0F ; +0x100, 0x18012d9dc mov ecx, [rcx+30h] ; +0x102, 0x18012d9de mov eax, ecx ; +0x105, 0x18012d9e1 shr eax, 5 ; +0x107, 0x18012d9e3 test r15b, al ; +0x10a, 0x18012d9e6 jz short loc_18012D9F2 ; +0x10d, 0x18012d9e9 bts ecx, 7 ; +0x10f, 0x18012d9eb mov [rbx+30h], ecx ; +0x113, 0x18012d9ef mov edx, 8 ; +0x116, 0x18012d9f2 mov rcx, rbx ; +0x11b, 0x18012d9f7 jmp short loc_18012DA0C ; +0x11e, 0x18012d9fa call unknown_libname_52; Microsoft VisualC 64bit universal runtime ; +0x120, 0x18012d9fc jmp short loc_18012DA1B ; +0x125, 0x18012da01 or dword ptr [rcx+30h], 10h ; +0x127, 0x18012da03 mov edx, 0Ah ; +0x12b, 0x18012da07 xor r8d, r8d ; +0x130, 0x18012da0c call sub_18012E820 ; +0x133, 0x18012da0f jmp short loc_18012DA1B ; +0x138, 0x18012da14 call unknown_libname_46; Microsoft VisualC 64bit universal runtime ; +0x13a, 0x18012da16 test al, al ; +0x13f, 0x18012da1b jnz short loc_18012DA26 ; +0x141, 0x18012da1d xor al, al ; +0x143, 0x18012da1f jmp loc_18012DB7B ; +0x145, 0x18012da21 cmp byte ptr [rbx+40h], 0 ; +0x14a, 0x18012da26 jnz loc_18012DB78 ; +0x14e, 0x18012da2a mov edx, [rbx+30h] ; +0x154, 0x18012da30 xor eax, eax ; +0x157, 0x18012da33 mov [rsp+68h+var_38], eax ; +0x159, 0x18012da35 xor edi, edi ; +0x15d, 0x18012da39 mov [rsp+68h+var_34], ax ; +0x15f, 0x18012da3b mov eax, edx ; +0x164, 0x18012da40 shr eax, 4 ; +0x166, 0x18012da42 lea r13d, [rdi+20h] ; +0x169, 0x18012da45 test r15b, al ; +0x16d, 0x18012da49 jz short loc_18012DA80 ; +0x170, 0x18012da4c mov eax, edx ; +0x172, 0x18012da4e shr eax, 6 ; +0x174, 0x18012da50 test r15b, al ; +0x177, 0x18012da53 jz short loc_18012DA62 ; +0x17a, 0x18012da56 lea eax, [rdi+2Dh] ; +0x17c, 0x18012da58 mov word ptr [rsp+68h+var_38], ax ; +0x17f, 0x18012da5b jmp short loc_18012DA7D ; +0x184, 0x18012da60 test r15b, dl ; +0x186, 0x18012da62 jz short loc_18012DA6E ; +0x189, 0x18012da65 mov eax, 2Bh ; '+' ; +0x18b, 0x18012da67 jmp short loc_18012DA5B ; +0x190, 0x18012da6c mov eax, edx ; +0x192, 0x18012da6e shr eax, 1 ; +0x194, 0x18012da70 test r15b, al ; +0x196, 0x18012da72 jz short loc_18012DA80 ; +0x199, 0x18012da75 mov word ptr [rsp+68h+var_38], r13w ; +0x19b, 0x18012da77 mov rdi, r15 ; +0x1a1, 0x18012da7d movzx ecx, word ptr [rbx+42h] ; +0x1a4, 0x18012da80 mov r9d, 0FFDFh ; +0x1a8, 0x18012da84 movzx eax, cx ; +0x1ae, 0x18012da8a sub ax, bp ; +0x1b1, 0x18012da8d test r9w, ax ; +0x1b4, 0x18012da90 jnz short loc_18012DAA5 ; +0x1b8, 0x18012da94 mov eax, edx ; +0x1ba, 0x18012da96 shr eax, 5 ; +0x1bc, 0x18012da98 test r15b, al ; +0x1bf, 0x18012da9b jz short loc_18012DAA5 ; +0x1c2, 0x18012da9e mov r8b, r15b ; +0x1c4, 0x18012daa0 jmp short loc_18012DAA8 ; +0x1c7, 0x18012daa3 xor r8b, r8b ; +0x1c9, 0x18012daa5 lea eax, [rcx-41h] ; +0x1cc, 0x18012daa8 mov r12d, 30h ; '0' ; +0x1cf, 0x18012daab test r9w, ax ; +0x1d5, 0x18012dab1 setz al ; +0x1d9, 0x18012dab5 test r8b, r8b ; +0x1dc, 0x18012dab8 jnz short loc_18012DAC1 ; +0x1df, 0x18012dabb test al, al ; +0x1e1, 0x18012dabd jz short loc_18012DADE ; +0x1e3, 0x18012dabf mov word ptr [rsp+rdi*2+68h+var_38], r12w ; +0x1e5, 0x18012dac1 cmp cx, bp ; +0x1eb, 0x18012dac7 jz short loc_18012DAD2 ; +0x1ee, 0x18012daca cmp cx, 41h ; 'A' ; +0x1f0, 0x18012dacc jnz short loc_18012DAD5 ; +0x1f4, 0x18012dad0 movzx esi, bp ; +0x1f6, 0x18012dad2 mov word ptr [rsp+rdi*2+68h+var_38+2], si ; +0x1f9, 0x18012dad5 add rdi, 2 ; +0x1fe, 0x18012dada mov ebp, [rbx+34h] ; +0x202, 0x18012dade lea r14, [rbx+28h] ; +0x205, 0x18012dae1 sub ebp, [rbx+50h] ; +0x209, 0x18012dae5 lea rsi, [rbx+468h] ; +0x20c, 0x18012dae8 sub ebp, edi ; +0x213, 0x18012daef test dl, 0Ch ; +0x215, 0x18012daf1 jnz short loc_18012DB07 ; +0x218, 0x18012daf4 mov r9, r14 ; +0x21a, 0x18012daf6 mov r8d, ebp ; +0x21d, 0x18012daf9 mov dl, r13b ; +0x220, 0x18012dafc mov rcx, rsi ; +0x223, 0x18012daff call unknown_libname_36; Microsoft VisualC 64bit universal runtime ; +0x226, 0x18012db02 lea rax, [rbx+10h] ; +0x22b, 0x18012db07 mov r9, r14 ; +0x22f, 0x18012db0b mov r8d, edi ; +0x232, 0x18012db0e mov [rsp+68h+var_48], rax ; +0x235, 0x18012db11 lea rdx, [rsp+68h+var_38] ; +0x23a, 0x18012db16 mov rcx, rsi ; +0x23f, 0x18012db1b call unknown_libname_60; Microsoft VisualC 64bit universal runtime ; +0x242, 0x18012db1e mov ecx, [rbx+30h] ; +0x247, 0x18012db23 mov eax, ecx ; +0x24a, 0x18012db26 shr eax, 3 ; +0x24c, 0x18012db28 test r15b, al ; +0x24f, 0x18012db2b jz short loc_18012DB49 ; +0x252, 0x18012db2e shr ecx, 2 ; +0x254, 0x18012db30 test r15b, cl ; +0x257, 0x18012db33 jnz short loc_18012DB49 ; +0x25a, 0x18012db36 mov r9, r14 ; +0x25c, 0x18012db38 mov r8d, ebp ; +0x25f, 0x18012db3b mov dl, r12b ; +0x262, 0x18012db3e mov rcx, rsi ; +0x265, 0x18012db41 call unknown_libname_36; Microsoft VisualC 64bit universal runtime ; +0x268, 0x18012db44 xor edx, edx ; +0x26d, 0x18012db49 mov rcx, rbx ; +0x26f, 0x18012db4b call unknown_libname_58; Microsoft VisualC 64bit universal runtime ; +0x272, 0x18012db4e lea r9, [rbx+28h] ; +0x277, 0x18012db53 cmp dword ptr [r9], 0 ; +0x27b, 0x18012db57 jl short loc_18012DB78 ; +0x27f, 0x18012db5b mov r10d, [rbx+30h] ; +0x281, 0x18012db5d shr r10d, 2 ; +0x285, 0x18012db61 test r15b, r10b ; +0x289, 0x18012db65 jz short loc_18012DB78 ; +0x28c, 0x18012db68 mov r8d, ebp ; +0x28e, 0x18012db6a mov dl, r13b ; +0x291, 0x18012db6d mov rcx, rsi ; +0x294, 0x18012db70 call unknown_libname_36; Microsoft VisualC 64bit universal runtime ; +0x297, 0x18012db73 mov al, r15b ; +0x29c, 0x18012db78 mov rcx, [rsp+68h+var_30] ; +0x29f, 0x18012db7b xor rcx, rsp; StackCookie ; +0x2a4, 0x18012db80 call __security_check_cookie ; +0x2a7, 0x18012db83 lea r11, [rsp+68h+var_28] ; +0x2ac, 0x18012db88 mov rbx, [r11+38h] ; +0x2b1, 0x18012db8d mov rbp, [r11+40h] ; +0x2b5, 0x18012db91 mov rsi, [r11+48h] ; +0x2b9, 0x18012db95 mov rsp, r11 ; +0x2bd, 0x18012db99 pop r15 ; +0x2c0, 0x18012db9c pop r14 ; +0x2c2, 0x18012db9e pop r13 ; +0x2c4, 0x18012dba0 pop r12 ; +0x2c6, 0x18012dba2 pop rdi ; +0x2c8, 0x18012dba4 retn ; +0x2c9, 0x18012dba5