Function at 0x413aee
Capabilities:
Identify system language via api

Disassembly:
mov eax, 0x431cfb
call fcn.00430710
sub esp, 0xa8
mov al, byte [ebp + 0x13]
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ebx
mov byte [ebp - 0x7c], al
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
push 1
mov dword [ebp - 0x10], ebx
pop esi
push dword [0x43aca8]
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
inc dword [0x43aca0]
mov byte [0x43ac81], al
mov dword [ebp - 0x28], ebx
push 0x2511ffff
push 0xd999ffff
mov byte [ebp - 4], 2
call fcn.0040b0f0
add byte [0x43ac81], al
mov ax, word [0x43ac82]
inc ax
pop ecx
mov word [0x43ac86], ax
mov eax, dword [ebp + 0xc]
pop ecx
lea edx, [ebp - 0x28]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x24]
mov edi, eax
mov dword [0x43ac98], esi
movsx eax, word [0x43ac8c]
push eax
push dword [0x43acb0]
call fcn.0040aeeb
pop ecx
cmp edi, ebx
pop ecx
mov dword [0x43aca4], eax
jl 0x414d35
cmp dword [ebp - 0x28], ebx
je 0x414d35
mov dword [ebp - 0x3c], ebx
movsx eax, word [0x43ac8c]
push eax
push 0x2e77ffff
mov byte [ebp - 4], 3
call fcn.0040afcb
push 0xfb13ffff
push 0xd97fffff
mov dword [0x43acbc], eax
call fcn.0040b0f0
add byte [0x43ac7e], al
mov eax, dword [ebp - 0x28]
add esp, 0x10
lea edx, [ebp - 0x3c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x3c]
inc byte [0x43ac7a]
cmp dword [ebp - 0x3c], ebx
je 0x413fc8
movsx eax, byte [0x43ac7c]
push dword [0x43acb4]
push eax
call fcn.0040aeeb
mov word [0x43ac82], ax
mov ax, word [0x43acbc]
or ax, word [0x43ac8e]
pop ecx
pop ecx
mov dword [ebp - 0x1c], ebx
mov word [0x43ac84], ax
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x10]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 4
call dword [ecx + 0x174]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00418e31
movsx eax, byte [0x43ac7a]
or word [0x43ac94], 0xffff
push 0xa7ddffff
push eax
call fcn.0040afcb
add dword [0x43aca8], eax
push 0xf4a3ffff
movsx eax, word [0x43ac8a]
push eax
call fcn.0040b087
mov word [0x43ac84], ax
mov eax, dword [ebp - 0x10]
add esp, 0x10
cmp eax, ebx
je 0x413c8e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x10], ebx
call dword [sym.imp.USER32.dll_GetInputState]
push dword [0x43acbc]
add dword [0x43acb4], eax
push dword [0x43aca4]
call fcn.0040b087
cmp dword [ebp - 0x1c], ebx
pop ecx
pop ecx
mov dword [0x43aca0], eax
je 0x413fb7
mov dword [ebp - 0x18], ebx
movsx eax, word [0x43ac94]
push eax
push 0x4e3ffff
mov byte [ebp - 4], 5
call fcn.0040aeeb
mov byte [0x43ac7b], al
push 0x83efffff
movsx eax, word [0x43ac88]
imul eax, eax, 0x67cfffff
push dword [0x43acb4]
mov dword [0x43ac9c], eax
mov word [ebp - 0x54], 8
call fcn.0040b0f0
mov dword [0x43acac], eax
movsx eax, byte [0x43ac7e]
push eax
push 0x819ffff
call fcn.0040af6d
push 0xe7edffff
push 0x61f1ffff
mov byte [0x43ac78], al
call fcn.0040aeeb
push 0xffffffffffffffff
push str.base
mov word [0x43ac94], ax
call fcn.00412eca
add esp, 0x28
lea edx, [ebp - 0x10]
lea esi, [ebp - 0x54]
mov dword [ebp - 0x4c], eax
push edx
mov eax, dword [ebp - 0x1c]
sub esp, 0x10
mov edi, esp
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x30]
push 0x54bdffff
push dword [0x43acac]
call fcn.0040b0ac
mov word [0x43ac94], ax
push 0x9e7fffff
movsx eax, byte [0x43ac79]
push eax
call fcn.0040af94
add dword [0x43acbc], eax
add esp, 0x10
push dword [ebp - 0x4c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x18]
call fcn.00418e31
mov al, byte [0x43acb4]
sub al, byte [0x43ac92]
add byte [0x43ac7c], al
mov al, byte [0x43ac79]
neg al
mov byte [0x43ac80], al
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x413dcf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x10], ebx
call dword [sym.imp.USER32.dll_GetInputState]
add byte [0x43ac7e], al
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov byte [0x43ac79], bl
je 0x413fa6
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push eax
call dword [ecx + 0x24]
mov al, byte [0x43ac79]
push dword [0x43acb0]
sub al, byte [0x43ac7b]
push dword [0x43aca8]
add byte [0x43ac7a], al
call fcn.0040b037
add dword [0x43acac], eax
dec byte [0x43ac7a]
cmp dword [ebp - 0x20], ebx
pop ecx
pop ecx
jle 0x413fa6
mov dword [ebp - 0x14], ebx
push 0xcdc5ffff
mov byte [ebp - 4], 6
push dword [0x43acac]
mov dword [ebp + 0xc], ebx
call fcn.0040af32
add dword [0x43acbc], eax
movsx eax, word [0x43ac8a]
push eax
movsx eax, byte [0x43ac7a]
push eax
call fcn.0040af32
add byte [0x43ac7a], al
add esp, 0x10
cmp dword [ebp - 0x20], ebx
jle 0x413f95
mov word [ebp - 0x54], 3
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4c], eax
movsx eax, byte [0x43ac7b]
push eax
push 0xa5e9ffff
call fcn.0040b037
pop ecx
lea edx, [ebp - 0x10]
pop ecx
lea esi, [ebp - 0x54]
push edx
add word [0x43ac82], ax
sub esp, 0x10
mov eax, dword [ebp - 0x18]
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x54]
mov edi, esp
movsd dword es:[edi], dword [esi]
dec word [0x43ac8c]
or word [0x43ac86], 0xffff
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
call fcn.00418f66
push 0x66abffff
push 0x62cbffff
call fcn.0040b0f0
pop ecx
mov word [0x43ac82], ax
pop ecx
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov byte [0x43ac7e], al
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x413f0e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0xffffffffffffffff
mov dword [ebp - 0x10], ebx
call dword [sym.imp.USER32.dll_IsCharAlphaA]
add dword [0x43acb8], 0x57ffffff
push 0x773fffff
push 0x1f75ffff
mov dword [0x43acb0], eax
call fcn.0040af94
add byte [0x43ac7a], al
push 0x3b65ffff
push 0x5c91ffff
call fcn.0040aeeb
add esp, 0x10
cmp dword [ebp - 0x14], ebx
mov word [0x43ac92], ax
je 0x413f86
movsx eax, word [0x43ac86]
push eax
movsx eax, byte [0x43ac78]
push eax
call fcn.0040af94
add word [0x43ac8c], ax
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
mov ecx, dword [eax]
push 0x43a200
push eax
call dword [ecx + 0x24]
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x20]
jl 0x413e7f
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 5
cmp eax, ebx
je 0x413fa6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x413fb7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x413fc8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [0x43acac]
push 0x3c1dffff
call fcn.0040af6d
pop ecx
mov dword [0x43acb0], eax
pop ecx
mov byte [0x43ac7c], 1
mov dword [ebp - 0x44], ebx
push eax
mov byte [ebp - 4], 7
call dword [sym.imp.USER32.dll_IsCharAlphaA]
mov byte [0x43ac7f], al
mov al, byte [0x43ac78]
neg al
mov byte [0x43ac7e], al
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x10]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x174]
movsx eax, byte [0x43ac7f]
push eax
movsx eax, byte [0x43ac7e]
push eax
call fcn.0040af6d
pop ecx
mov word [0x43ac94], ax
pop ecx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x44]
call fcn.00418e31
movsx eax, byte [0x43ac7b]
push dword [0x43acb0]
push eax
call fcn.0040af6d
add byte [0x43ac78], al
mov eax, dword [ebp - 0x10]
pop ecx
cmp eax, ebx
pop ecx
je 0x414065
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
dec word [0x43ac8c]
mov ax, word [0x43ac8a]
inc byte [0x43ac78]
cmp dword [ebp - 0x44], ebx
mov dword [ebp - 0x10], ebx
mov word [0x43ac86], ax
mov byte [0x43ac7a], 1
je 0x414cb8
mov al, byte [0x43ac8e]
mov dword [ebp - 0x14], ebx
imul byte [0x43ac78]
mov byte [0x43ac7d], al
mov byte [ebp - 4], 8
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
add dword [0x43acb0], eax
push 0xffffffffffffffff
push 0x43a1fc
mov word [ebp - 0x54], 8
call fcn.00412eca
mov dword [ebp - 0x4c], eax
push 0x20e9ffff
movsx eax, byte [0x43ac7e]
push eax
call fcn.0040b037
mov word [0x43ac8a], ax
movsx eax, word [0x43ac8c]
push eax
movsx eax, byte [0x43ac7d]
push eax
call fcn.0040af94
add esp, 0x18
lea edx, [ebp - 0x10]
lea esi, [ebp - 0x54]
add dword [0x43acb0], eax
push edx
mov eax, dword [ebp - 0x44]
sub esp, 0x10
mov edi, esp
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x30]
push dword [ebp - 0x4c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
movsx eax, word [0x43ac84]
push eax
movsx eax, byte [0x43ac7e]
push eax
call fcn.0040b0f0
mov dword [0x43acb8], eax
movsx eax, byte [0x43ac80]
push eax
push 0x696bffff
call fcn.0040afcb
add esp, 0x10
cmp byte [0x43ac78], bl
mov word [0x43ac8c], ax
je 0x41416e
cmp word [0x43ac82], bx
mov byte [0x43ac79], 1
jne 0x414174
mov byte [0x43ac79], bl
push dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
call fcn.00418e31
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x41418c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [0x43aca0]
push 0x9a17ffff
call fcn.0040af32
add word [0x43ac90], ax
mov ax, word [0x43acb0]
sub word [0x43ac8e], ax
push 0x6521ffff
movsx eax, byte [0x43ac78]
push eax
mov dword [ebp - 0x10], ebx
call fcn.0040af6d
add byte [0x43ac80], al
movsx eax, word [0x43ac88]
push eax
movsx eax, byte [0x43ac81]
push eax
call fcn.0040af6d
add dword [0x43aca4], eax
mov eax, dword [ebp - 0x14]
add esp, 0x18
cmp eax, ebx
je 0x414c94
mov ecx, dword [eax]
lea edx, [ebp - 0x60]
push edx
push eax
call dword [ecx + 0x24]
xor eax, eax
cmp dword [0x43aca8], ebx
mov byte [0x43ac7b], 1
setne al
add word [0x43ac86], ax
cmp dword [ebp - 0x60], ebx
jle 0x414c91
mov eax, dword [0x43ac9c]
mov ecx, dword [0x43acb4]
and eax, 0x6c09ffff
or byte [0x43ac7b], 0xff
add dword [0x43acac], eax
or byte [0x43ac7c], 0xff
movsx eax, byte [0x43ac78]
push 0x4cf9ffff
push 0xddcdffff
lea eax, [ecx + eax - 0x71bfffff]
mov dword [0x43acb4], eax
mov al, byte [0x43ac7f]
and al, byte [0x43ac80]
movsx ax, al
add word [0x43ac8a], ax
inc dword [0x43aca4]
call fcn.0040af6d
add word [0x43ac8c], ax
xor eax, eax
cmp word [0x43ac90], bx
mov dword [0x43ac98], 1
mov dword [ebp - 0x24], ebx
setne al
add word [0x43ac94], ax
push 0x4773ffff
push 0x7409ffff
mov byte [ebp - 4], 9
call fcn.0040b037
push 0x6ad7ffff
push 0xcb6fffff
mov word [0x43ac94], ax
call fcn.0040af94
mov word [0x43ac86], ax
mov ax, word [0x43acb8]
sub word [0x43ac94], ax
add esp, 0x18
cmp dword [ebp - 0x60], ebx
mov dword [ebp - 0x18], ebx
jle 0x414c4c
mov word [ebp - 0x94], 3
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov byte [0x43ac78], al
mov ax, word [0x43ac92]
sub ax, word [0x43aca4]
lea edx, [ebp - 0x10]
push edx
lea esi, [ebp - 0x94]
mov word [0x43ac88], ax
mov eax, dword [ebp - 0x18]
sub esp, 0x10
mov dword [ebp - 0x8c], eax
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x94]
mov edi, esp
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x14]
inc byte [0x43ac79]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x43acbc], 0xb83dfffe
mov dword [0x43acb0], 1
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
push 0xc627ffff
push 0xb7c7ffff
call fcn.0040b0ac
add byte [0x43ac81], al
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov cl, byte [0x43ac7a]
push dword [ebp - 0x10]
add cl, al
add cl, byte [0x43aca4]
mov byte [0x43ac7a], cl
lea ecx, [ebp - 0x24]
call fcn.00418f93
movsx ax, byte [0x43ac78]
mov word [0x43ac82], ax
movsx eax, byte [0x43ac7a]
push eax
movsx eax, byte [0x43ac7f]
push eax
call fcn.0040b0f0
mov byte [0x43ac80], al
mov eax, dword [ebp - 0x10]
pop ecx
cmp eax, ebx
pop ecx
je 0x4143db
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
movsx eax, word [0x43ac84]
push dword [0x43acb8]
push eax
call fcn.0040af6d
push 0x7da1ffff
push 0x4395ffff
mov byte [0x43ac7f], al
call fcn.0040b0ac
add word [0x43ac84], ax
add esp, 0x10
mov dword [ebp - 0x10], ebx
mov byte [ebp + 0xf], bl
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp dword [ebp - 0x24], ebx
mov word [0x43ac8e], ax
je 0x414b8d
movsx eax, word [0x43ac86]
push 0x1287ffff
push eax
call fcn.0040b037
pop ecx
mov byte [0x43ac7f], al
pop ecx
mov byte [ebp + 0xf], 1
lea ecx, [ebp - 0x30]
call fcn.0042964f
movsx eax, byte [0x43ac78]
push 0xf807ffff
push eax
mov byte [ebp - 4], 0xa
call fcn.0040b0f0
movsx cx, byte [0x43ac79]
add ax, cx
mov word [0x43ac94], ax
movsx eax, word [0x43ac86]
push eax
push dword [0x43ac9c]
call fcn.0040af32
add byte [0x43ac80], al
mov eax, dword [ebp - 0x24]
add esp, 0x10
lea edx, [ebp - 0x30]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
jl 0x41450b
movsx eax, byte [0x43ac7a]
push eax
push 0xa55ffff
call fcn.0040b037
pop ecx
mov dword [0x43aca0], 1
pop ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
add byte [0x43ac7a], al
mov eax, dword [ebp - 0x24]
push 0x43a200
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
movsx eax, byte [0x43ac7a]
push 0xdf9fffff
push eax
call fcn.0040afcb
add byte [0x43ac7f], al
movsx eax, byte [0x43ac7d]
push eax
push 0x1b5bffff
call fcn.0040b002
add esp, 0x10
add byte [0x43ac7a], al
push 0x787bffff
push 0x7615ffff
call fcn.0040afcb
add byte [0x43ac78], al
pop ecx
pop ecx
call dword [sym.imp.USER32.dll_GetInputState]
mov word [0x43ac90], ax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov word [0x43ac90], ax
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x30]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
jl 0x414838
mov ax, word [0x43acb8]
add word [0x43ac82], ax
movsx ax, byte [0x43ac7f]
sub eax, dword [0x43acb0]
add word [0x43ac86], ax
movsx eax, byte [0x43ac7b]
push eax
movsx eax, word [0x43ac88]
push eax
call fcn.0040af6d
cmp byte [ebp + 0x10], bl
pop ecx
pop ecx
mov dword [0x43acb8], eax
je 0x4145cb
mov esi, dword [0x4350fc]
push 0xfffffffffffffffc
pop edi
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and eax, edi
call fcn.00430730
mov eax, esp
push ebx
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00429f36
cmp eax, 0xffffffff
jne 0x4145ce
mov byte [ebp + 0xf], bl
jmp 0x4145ce
push 0xfffffffffffffffc
pop edi
push 0xe473ffff
push 0x731fffff
call fcn.0040afcb
mov esi, dword [0x435100]
mov word [0x43ac94], ax
pop ecx
mov al, byte [esi]
pop ecx
add al, 0x76
movzx eax, al
add eax, 3
and eax, edi
call fcn.00430730
mov eax, esp
push ebx
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00429f36
cmp eax, 0xffffffff
je 0x414619
mov byte [ebp + 0xf], bl
or word [0x43ac8c], 0xffff
push 0x5d93ffff
push 0xa2bdffff
call fcn.0040b037
mov esi, dword [0x435104]
mov byte [0x43ac81], al
pop ecx
mov al, byte [esi]
pop ecx
add al, 0x76
movzx eax, al
add eax, 3
and eax, edi
call fcn.00430730
mov eax, esp
push ebx
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00429f36
cmp eax, 0xffffffff
je 0x41466b
mov byte [ebp + 0xf], bl
push 0xaa79ffff
push 0x1853ffff
call fcn.0040af6d
mov esi, dword [0x435108]
add dword [0x43aca8], eax
pop ecx
mov al, byte [esi]
pop ecx
add al, 0x76
movzx eax, al
add eax, 3
and eax, edi
call fcn.00430730
mov eax, esp
push ebx
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00429f36
cmp eax, 0xffffffff
je 0x4146b6
mov byte [ebp + 0xf], bl
sub dword [0x43aca4], 0xcde0000
mov esi, dword [0x43510c]
xor eax, eax
cmp byte [0x43ac7e], bl
mov word [0x43ac90], 1
setne al
mov word [0x43ac84], ax
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and eax, edi
call fcn.00430730
mov eax, esp
push ebx
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00429f36
cmp eax, 0xffffffff
je 0x41470e
mov byte [ebp + 0xf], bl
cmp word [0x43ac8c], bx
je 0x414724
cmp byte [0x43ac79], bl
je 0x414724
push 1
pop eax
jmp 0x414726
xor eax, eax
mov esi, dword [0x435110]
add word [0x43ac86], ax
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and eax, edi
call fcn.00430730
mov eax, esp
push ebx
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00429f36
cmp eax, 0xffffffff
je 0x414761
mov byte [ebp + 0xf], bl
mov eax, dword [0x43acac]
mov ecx, dword [0x43acb8]
mov esi, dword [0x435114]
lea eax, [eax + ecx - 0x74820001]
mov dword [0x43acac], eax
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and eax, edi
call fcn.00430730
mov eax, esp
push ebx
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00429f36
cmp eax, 0xffffffff
je 0x4147ac
mov byte [ebp + 0xf], bl
mov esi, dword [0x435118]
mov dword [0x43ac98], 0xc43c0000
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and eax, edi
call fcn.00430730
mov eax, esp
push ebx
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00429f36
cmp eax, 0xffffffff
je 0x4147ea
mov byte [ebp + 0xf], bl
mov esi, dword [0x43511c]
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and eax, edi
call fcn.00430730
mov eax, esp
push ebx
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00429f36
cmp eax, 0xffffffff
je 0x41481e
mov byte [ebp + 0xf], bl
movsx eax, word [0x43ac8e]
or eax, 0x4f23ffff
cmp byte [ebp + 0xf], bl
mov dword [0x43acb8], eax
je 0x414b79
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x55], bl
je 0x414b79
cmp dword [eax + 0x58], ebx
jg 0x414852
cmp dword [eax + 0x5c], ebx
jle 0x414b79
mov eax, dword [ebp - 0x24]
mov byte [ebp + 0xf], bl
cmp eax, ebx
mov dword [ebp - 0x64], ebx
je 0x41486d
mov ecx, dword [eax]
lea edx, [ebp - 0x64]
push edx
push 0x43a1a8
push eax
call dword [ecx]
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0xb
cmp eax, ebx
je 0x414b68
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
push eax
call dword [ecx + 0x174]
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x414b68
lea edx, [ebp - 0x20]
mov dword [ebp - 0x20], ebx
mov ecx, dword [eax]
push edx
push 0x43a1b8
push eax
call dword [ecx]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0xc
cmp eax, ebx
je 0x4148b6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], ebx
je 0x414b57
mov dword [ebp - 0x1c], ebx
push 0xffffffffffffffff
push 0x43a1f8
mov byte [ebp - 4], 0xd
mov word [ebp - 0xa4], 8
call fcn.00412eca
pop ecx
lea edx, [ebp - 0x10]
pop ecx
lea esi, [ebp - 0xa4]
push edx
mov dword [ebp - 0x9c], eax
sub esp, 0x10
mov eax, dword [ebp - 0x20]
mov edi, esp
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x30]
push dword [ebp - 0x9c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x10], ebx
je 0x414b46
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1c]
call fcn.00418e31
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x41492f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ebx
cmp eax, ebx
je 0x414b49
mov ecx, dword [eax]
lea edx, [ebp - 0x58]
push edx
push eax
call dword [ecx + 0x24]
cmp dword [ebp - 0x58], ebx
jle 0x414b46
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x38], ebx
cmp byte [ebp + 0xf], bl
jne 0x414b24
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x10]
push edx
lea esi, [ebp - 0xb4]
sub esp, 0x10
mov word [ebp - 0xb4], 3
mov edi, esp
mov dword [ebp - 0xac], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [ebp - 0xb4]
mov edi, esp
mov eax, dword [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
cmp dword [ebp - 0x10], ebx
je 0x414b15
push dword [ebp - 0x10]
lea ecx, [ebp - 0x40]
call fcn.00418fc0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x5c]
call fcn.00418e5e
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], ebx
cmp eax, ebx
je 0x414b15
mov esi, dword [ebp - 0x6c]
mov byte [ebp + 0xf], 1
cmp dword [esi + 0x5c], ebx
jle 0x4149fd
mov ecx, dword [eax]
lea edx, [ebp - 0x80]
push edx
push eax
call dword [ecx + 0xd0]
mov eax, dword [ebp - 0x80]
cmp eax, dword [esi + 0x5c]
jge 0x4149fd
mov byte [ebp + 0xf], bl
cmp dword [esi + 0x58], ebx
jle 0x414a23
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x84]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [ebp - 0x84]
cmp eax, dword [esi + 0x58]
jge 0x414a23
mov byte [ebp + 0xf], bl
cmp byte [ebp + 0xf], bl
je 0x414b15
mov eax, dword [ebp - 0x5c]
mov byte [ebp + 0xf], bl
cmp eax, ebx
je 0x414b15
mov dword [ebp - 0x34], ebx
mov ecx, dword [eax]
lea edx, [ebp - 0x34]
push edx
push eax
mov byte [ebp - 4], 0x10
call dword [ecx + 0x40]
test eax, eax
jl 0x414b04
cmp dword [ebp - 0x34], ebx
je 0x414b04
lea ecx, [ebp - 0x4c]
mov byte [ebp + 0xf], 1
call fcn.0042964f
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x4c]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0x11
call dword [ecx + 0x210]
test eax, eax
jl 0x414ab2
mov esi, dword [0x435120]
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430730
mov eax, esp
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00429c51
test eax, eax
je 0x414ab2
mov byte [ebp + 0xf], bl
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x4c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x218]
test eax, eax
jl 0x414af8
mov esi, dword [0x435124]
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.00430730
mov eax, esp
push esi
push eax
call fcn.0042d836
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00429c51
test eax, eax
je 0x414af8
mov byte [ebp + 0xf], bl
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x10
call fcn.004296bf
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 0xf
cmp eax, ebx
je 0x414b15
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x58]
jl 0x41495d
mov eax, dword [ebp - 0x5c]
mov byte [ebp - 4], 0xe
cmp eax, ebx
je 0x414b35
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0xd
cmp eax, ebx
je 0x414b46
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov byte [ebp - 4], 0xc
je 0x414b57
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xb
cmp eax, ebx
je 0x414b68
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x414b79
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or word [0x43ac94], 0xffff
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 9
call fcn.004296bf
movsx ax, byte [0x43ac78]
movsx cx, byte [0x43ac7e]
imul eax, ecx
cmp byte [ebp + 0xf], bl
mov word [0x43ac92], ax
je 0x414c03
push 0xe33ffff
push 0x7269ffff
call fcn.0040b087
push 0xefd5ffff
push 0xcb57ffff
mov dword [0x43acb4], eax
call fcn.0040af6d
add byte [0x43ac7b], al
add esp, 0x10
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x7c]
push eax
call fcn.00418f55
movsx eax, word [0x43ac8a]
dec byte [0x43ac78]
push 0xa5bbffff
push eax
call fcn.0040af32
add byte [0x43ac81], al
pop ecx
pop ecx
movsx eax, word [0x43ac86]
push eax
push 0x2033ffff
call fcn.0040aeeb
mov word [0x43ac82], ax
movsx eax, word [0x43ac92]
push eax
push 0x79d5ffff
call fcn.0040af6d
add dword [0x43ac9c], eax
or byte [0x43ac80], 0xff
add esp, 0x10
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x60]
jl 0x4142fc
mov esi, dword [sym.imp.KERNEL32.dll_GetVersion]
call esi
add dword [0x43acbc], eax
mov eax, dword [ebp - 0x24]
cmp eax, ebx
mov byte [ebp - 4], 8
je 0x414c6b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
cmp dword [0x43aca0], ebx
setne al
add word [0x43ac86], ax
call esi
add word [0x43ac8c], ax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [0x43acac], eax
mov eax, dword [ebp - 0x14]
movsx cx, byte [0x43ac7e]
sub cx, word [0x43ac94]
mov byte [ebp - 4], 7
add word [0x43ac8c], cx
cmp eax, ebx
je 0x414cb8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
movsx eax, word [0x43ac88]
push eax
push 0x2111ffff
call fcn.0040b0ac
mov dword [0x43acbc], eax
movsx eax, byte [0x43ac7d]
push eax
movsx eax, word [0x43ac82]
push eax
call fcn.0040af32
add byte [0x43ac7d], al
mov ecx, dword [ebp + 8]
movsx eax, byte [0x43ac7c]
sub eax, 0x5acc0001
add esp, 0x10
mov dword [0x43acbc], eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00418ecf
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x68], 1
cmp eax, ebx
mov byte [ebp - 4], 3
je 0x414d22
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x414d44
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x414d44
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x7c]
push eax
call fcn.00418ecf
mov dword [ebp - 0x68], esi
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x414d55
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], bl
call fcn.00418c44
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0xc