Function at 0x4285cb
Capabilities:
Accept command line arguments
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
push esi
push edi
mov esi, ecx
push 0xb22fffff
push 0x5355ffff
mov dword [ebp - 0x10], esi
call fcn.0040b002
mov byte [0x43ac7d], al
mov eax, dword [esi]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov dword [ebp - 8], eax
mov eax, dword [esi + 4]
push 0x3cc9ffff
push 0x284fffff
mov dword [ebp - 4], eax
call fcn.0040af32
add esp, 0x10
mov dword [0x43acb0], eax
lea eax, [ebp - 0x50]
mov ecx, esi
push 0x40
push dword [ebp + 8]
push eax
call fcn.0042957f
movsx eax, byte [0x43ac7d]
push eax
push 0x4ee3ffff
call fcn.0040afcb
mov byte [0x43ac81], al
push 0xcecfffff
movsx eax, byte [0x43ac7b]
push eax
call fcn.0040b002
mov ecx, dword [ebp - 4]
mov dword [0x43ac9c], eax
mov eax, ecx
mov edx, ebx
not eax
and eax, edi
and edx, ecx
or eax, edx
mov edx, dword [ebp - 8]
add eax, dword [ebp - 0x50]
inc word [0x43ac82]
lea eax, [edx + eax - 0x28955b88]
mov esi, eax
shr esi, 0x19
shl eax, 7
or esi, eax
add esi, ecx
mov eax, esi
and ecx, esi
not eax
and eax, ebx
or eax, ecx
add eax, dword [ebp - 0x4c]
lea eax, [edi + eax - 0x173848aa]
mov edi, eax
shr edi, 0x14
shl eax, 0xc
or edi, eax
movsx eax, byte [0x43ac80]
push eax
push 0x4ebffff
add edi, esi
call fcn.0040aeeb
add byte [0x43ac79], al
mov al, byte [0x43aca4]
inc al
push 0xb30bffff
add byte [0x43ac79], al
push 0x1e5dffff
call fcn.0040b002
mov byte [0x43ac7b], al
mov eax, edi
not eax
and eax, dword [ebp - 4]
mov ecx, edi
and ecx, esi
or eax, ecx
mov ecx, edi
add eax, dword [ebp - 0x48]
push dword [0x43ac98]
lea eax, [ebx + eax + 0x242070db]
mov ebx, eax
shr ebx, 0xf
shl eax, 0x11
or ebx, eax
add ebx, edi
mov eax, ebx
and ecx, ebx
not eax
and eax, esi
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, dword [ebp - 0x44]
lea eax, [ecx + eax - 0x3e423112]
mov ecx, eax
shl ecx, 0x16
shr eax, 0xa
or ecx, eax
movsx eax, byte [0x43ac7a]
add ecx, ebx
push eax
mov dword [ebp - 4], ecx
call fcn.0040af6d
mov ecx, dword [ebp - 4]
add word [0x43ac94], ax
mov eax, ecx
mov edx, ebx
not eax
and eax, edi
and edx, ecx
or eax, edx
add eax, dword [ebp - 0x40]
lea eax, [esi + eax - 0xa83f051]
mov esi, eax
shr esi, 0x19
shl eax, 7
or esi, eax
add esi, ecx
mov eax, esi
and ecx, esi
not eax
and eax, ebx
or eax, ecx
add eax, dword [ebp - 0x3c]
lea eax, [edi + eax + 0x4787c62a]
mov edi, eax
shr edi, 0x14
shl eax, 0xc
or edi, eax
movsx eax, byte [0x43ac7b]
push eax
push 0xc599ffff
add edi, esi
call fcn.0040afcb
mov dword [0x43aca4], eax
movsx eax, word [0x43ac84]
push eax
push 0x84e9ffff
call fcn.0040b037
push 0xed47ffff
push 0x885ffff
mov word [0x43ac86], ax
call fcn.0040af32
add byte [0x43ac80], al
mov eax, edi
not eax
and eax, dword [ebp - 4]
mov ecx, edi
and ecx, esi
add esp, 0x40
or eax, ecx
add eax, dword [ebp - 0x38]
lea eax, [ebx + eax - 0x57cfb9ed]
mov ebx, eax
shr ebx, 0xf
shl eax, 0x11
or ebx, eax
add ebx, edi
mov ecx, edi
mov eax, ebx
and ecx, ebx
not eax
and eax, esi
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, dword [ebp - 0x34]
lea eax, [ecx + eax - 0x2b96aff]
mov ecx, eax
shl ecx, 0x16
shr eax, 0xa
or ecx, eax
add ecx, ebx
cmp word [0x43ac8e], 0
mov dword [ebp - 4], ecx
je 0x428835
cmp byte [0x43ac7a], 0
je 0x428835
mov word [0x43ac94], 1
jmp 0x42883d
and word [0x43ac94], 0
movsx eax, byte [0x43ac79]
push eax
push 0xbc03ffff
call fcn.0040af32
add word [0x43ac90], ax
mov eax, dword [ebp - 4]
mov ecx, ebx
push dword [0x43ac98]
and ecx, dword [ebp - 4]
not eax
and eax, edi
push 0xeed9ffff
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, dword [ebp - 0x30]
lea eax, [esi + eax + 0x698098d8]
mov esi, eax
shr esi, 0x19
shl eax, 7
or esi, eax
add esi, dword [ebp - 4]
mov eax, esi
and ecx, esi
not eax
and eax, ebx
or eax, ecx
add eax, dword [ebp - 0x2c]
lea eax, [edi + eax - 0x74bb0851]
mov edi, eax
shr edi, 0x14
shl eax, 0xc
or edi, eax
mov al, byte [0x43ac78]
and al, byte [0x43ac7a]
add edi, esi
movsx ax, al
mov word [0x43ac8e], ax
movsx ax, byte [0x43ac7c]
add ax, word [0x43ac92]
mov word [0x43ac86], ax
call fcn.0040afcb
add dword [0x43aca4], eax
mov eax, edi
not eax
and eax, dword [ebp - 4]
mov ecx, edi
and ecx, esi
mov dl, byte [0x43ac78]
or eax, ecx
mov ecx, edi
add eax, dword [ebp - 0x28]
add byte [0x43ac7a], dl
mov dl, byte [0x43ac81]
lea eax, [ebx + eax - 0xa44f]
mov ebx, eax
shr ebx, 0xf
shl eax, 0x11
or ebx, eax
add ebx, edi
mov eax, ebx
and ecx, ebx
not eax
and eax, esi
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, dword [ebp - 0x24]
lea eax, [ecx + eax - 0x76a32842]
mov ecx, eax
shl ecx, 0x16
shr eax, 0xa
or ecx, eax
mov al, byte [0x43ac7f]
add al, byte [0x43aca8]
add ecx, ebx
mov dword [ebp - 4], ecx
mov byte [0x43ac7f], al
sub dl, al
mov eax, ecx
mov byte [0x43ac79], dl
not eax
and eax, edi
mov edx, ebx
push 0x5adffff
and edx, ecx
push dword [0x43acb8]
or eax, edx
add eax, dword [ebp - 0x20]
lea esi, [esi + eax + 0x6b901122]
mov eax, esi
shr eax, 0x19
shl esi, 7
or eax, esi
add eax, ecx
mov edx, eax
and ecx, eax
not edx
and edx, ebx
mov dword [ebp - 8], eax
or edx, ecx
add edx, dword [ebp - 0x1c]
lea ecx, [edi + edx - 0x2678e6d]
mov edi, ecx
shr edi, 0x14
shl ecx, 0xc
or edi, ecx
add edi, eax
mov dword [ebp - 0xc], edi
call fcn.0040b087
add esp, 0x18
mov byte [0x43ac81], al
call dword [sym.imp.USER32.dll_GetInputState]
add byte [0x43ac7a], al
mov ecx, dword [ebp - 4]
mov esi, edi
mov edx, edi
and edx, dword [ebp - 8]
push 0x2db3ffff
not esi
mov eax, esi
and eax, ecx
or eax, edx
mov edx, dword [ebp - 0xc]
add eax, dword [ebp - 0x18]
lea eax, [ebx + eax - 0x5986bc72]
mov ebx, eax
shr ebx, 0xf
shl eax, 0x11
or ebx, eax
add ebx, edi
mov edi, ebx
and edx, ebx
not edi
mov eax, edi
and eax, dword [ebp - 8]
or eax, edx
add eax, dword [ebp - 0x14]
lea eax, [ecx + eax + 0x49b40821]
mov ecx, eax
shl ecx, 0x16
shr eax, 0xa
or ecx, eax
movsx eax, word [0x43ac84]
add ecx, ebx
push eax
mov dword [ebp - 4], ecx
call fcn.0040b037
mov dword [0x43aca8], eax
mov eax, dword [ebp - 0xc]
and eax, dword [ebp - 4]
and esi, ebx
or esi, eax
mov eax, dword [ebp - 8]
add esi, dword [ebp - 0x4c]
lea eax, [eax + esi - 0x9e1da9e]
mov esi, eax
shr esi, 0x1b
shl eax, 5
or esi, eax
movsx eax, word [0x43ac90]
add esi, dword [ebp - 4]
inc byte [0x43ac79]
push eax
movsx eax, word [0x43ac82]
push eax
call fcn.0040aeeb
add dword [0x43ac98], eax
push 0x16bffff
push 0x6f4bffff
call fcn.0040b0f0
and edi, dword [ebp - 4]
mov byte [0x43ac7b], al
mov eax, ebx
push 0x5625ffff
and eax, esi
push 0x3b69ffff
or edi, eax
mov eax, dword [ebp - 0xc]
add edi, dword [ebp - 0x38]
lea eax, [eax + edi - 0x3fbf4cc0]
mov edi, eax
shr edi, 0x17
shl eax, 9
or edi, eax
mov eax, dword [ebp - 4]
add edi, esi
mov ecx, edi
and ecx, dword [ebp - 4]
not eax
and eax, esi
or eax, ecx
add eax, dword [ebp - 0x24]
lea eax, [ebx + eax + 0x265e5a51]
mov ebx, eax
shr ebx, 0x12
shl eax, 0xe
or ebx, eax
mov eax, dword [0x43acb8]
add ebx, edi
dec eax
add word [0x43ac8a], ax
call fcn.0040b0ac
add word [0x43ac8e], ax
push 0x428dffff
movsx eax, byte [0x43ac7f]
push eax
call fcn.0040b0ac
add byte [0x43ac7a], al
mov eax, esi
not eax
mov ecx, ebx
and eax, edi
and ecx, esi
mov edx, edi
or eax, ecx
mov ecx, dword [ebp - 4]
add eax, dword [ebp - 0x50]
lea ecx, [ecx + eax - 0x16493856]
mov eax, ecx
shl eax, 0x14
shr ecx, 0xc
or eax, ecx
mov ecx, edi
add eax, ebx
not ecx
and ecx, ebx
and edx, eax
or ecx, edx
add ecx, dword [ebp - 0x3c]
lea esi, [esi + ecx - 0x29d0efa3]
mov ecx, esi
shr ecx, 0x1b
shl esi, 5
or ecx, esi
add ecx, eax
mov dword [ebp - 8], ecx
mov cl, byte [0x43ac80]
add byte [0x43ac7b], cl
mov cl, byte [0x43ac94]
dec cl
add byte [0x43ac7c], cl
mov ecx, ebx
not ecx
and ecx, eax
mov edx, dword [ebp - 8]
mov esi, ebx
and esi, edx
or ecx, esi
mov esi, eax
add ecx, dword [ebp - 0x28]
not esi
and esi, edx
lea edi, [edi + ecx + 0x2441453]
mov ecx, edi
shr ecx, 0x17
shl edi, 9
or ecx, edi
add ecx, edx
mov edi, ecx
mov dword [ebp - 0xc], ecx
and edi, eax
or esi, edi
add esi, dword [ebp - 0x14]
lea esi, [ebx + esi - 0x275e197f]
mov ebx, esi
shr ebx, 0x12
shl esi, 0xe
or ebx, esi
mov si, word [0x43acb4]
add word [0x43ac82], si
add ebx, ecx
mov esi, edx
mov edi, ebx
not esi
and esi, ecx
and edi, edx
or esi, edi
mov dword [ebp + 8], ebx
add esi, dword [ebp - 0x40]
lea eax, [eax + esi - 0x182c0438]
mov esi, eax
shl esi, 0x14
shr eax, 0xc
or esi, eax
mov eax, ecx
add esi, ebx
not eax
and eax, ebx
and ecx, esi
or eax, ecx
add eax, dword [ebp - 0x2c]
lea eax, [edx + eax + 0x21e1cde6]
mov edi, eax
shr edi, 0x1b
shl eax, 5
or edi, eax
movsx eax, byte [0x43ac80]
push eax
add edi, esi
push dword [0x43acbc]
call fcn.0040af6d
add dword [0x43acac], eax
push 0xd86bffff
movsx eax, byte [0x43ac7c]
push eax
call fcn.0040b0ac
mov word [0x43ac8a], ax
mov eax, ebx
mov ecx, dword [ebp - 0xc]
and ebx, edi
not eax
and eax, esi
add esp, 0x38
or eax, ebx
add eax, dword [ebp - 0x18]
lea eax, [ecx + eax - 0x3cc8f82a]
mov ebx, eax
shr ebx, 0x17
shl eax, 9
or ebx, eax
mov eax, esi
add ebx, edi
not eax
and eax, edi
mov ecx, ebx
and ecx, esi
or eax, ecx
mov ecx, dword [ebp + 8]
add eax, dword [ebp - 0x44]
lea eax, [ecx + eax - 0xb2af279]
mov ecx, eax
shr ecx, 0x12
shl eax, 0xe
or ecx, eax
xor eax, eax
add ecx, ebx
inc word [0x43ac92]
cmp word [0x43ac94], ax
mov dword [ebp + 8], ecx
je 0x428c9f
cmp word [0x43ac82], ax
je 0x428c9f
push 1
pop eax
add byte [0x43ac7d], al
mov eax, edi
not eax
mov edx, ecx
and eax, ebx
and edx, edi
push dword [0x43aca0]
or eax, edx
add eax, dword [ebp - 0x30]
push 0x735bffff
lea eax, [esi + eax + 0x455a14ed]
mov esi, eax
shl esi, 0x14
shr eax, 0xc
or esi, eax
mov eax, ebx
not eax
add esi, ecx
and eax, ecx
mov ecx, ebx
and ecx, esi
or eax, ecx
add eax, dword [ebp - 0x1c]
lea eax, [edi + eax - 0x561c16fb]
mov edi, eax
shr edi, 0x1b
shl eax, 5
or edi, eax
add edi, esi
call fcn.0040aeeb
pop ecx
mov word [0x43ac8c], ax
mov eax, dword [ebp + 8]
pop ecx
mov ecx, dword [ebp + 8]
mov dword [0x43aca4], 1
not eax
and eax, esi
and ecx, edi
or eax, ecx
add eax, dword [ebp - 0x48]
lea eax, [ebx + eax - 0x3105c08]
mov ebx, eax
shr ebx, 0x17
shl eax, 9
or ebx, eax
mov eax, esi
add ebx, edi
not eax
mov ecx, ebx
and eax, edi
and ecx, esi
or eax, ecx
mov ecx, dword [ebp + 8]
add eax, dword [ebp - 0x34]
lea eax, [ecx + eax + 0x676f02d9]
mov ecx, eax
shr ecx, 0x12
shl eax, 0xe
or ecx, eax
mov al, byte [0x43aca8]
add byte [0x43ac7a], al
add ecx, ebx
mov eax, edi
mov edx, ecx
not eax
and eax, ebx
and edx, edi
or eax, edx
mov dword [ebp + 8], ecx
add eax, dword [ebp - 0x20]
lea eax, [esi + eax - 0x72d5b376]
mov esi, eax
shl esi, 0x14
shr eax, 0xc
or esi, eax
add esi, ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov byte [0x43ac7e], al
mov eax, ebx
xor eax, dword [ebp + 8]
xor eax, esi
add eax, dword [ebp - 0x3c]
lea eax, [edi + eax - 0x5c6be]
mov edi, eax
shr edi, 0x1c
shl eax, 4
or edi, eax
movsx eax, word [0x43ac8a]
push eax
push 0x1fb3ffff
add edi, esi
call fcn.0040b087
add dword [0x43ac9c], eax
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
add byte [0x43ac7e], al
push 0x2e01ffff
movsx eax, byte [0x43ac7b]
push eax
call fcn.0040af32
mov ecx, dword [ebp + 8]
add dword [0x43acac], eax
mov eax, ecx
or byte [0x43ac7e], 0xff
xor eax, esi
and word [0x43ac88], 0
xor eax, edi
add eax, dword [ebp - 0x30]
lea eax, [ebx + eax - 0x788e097f]
mov ebx, eax
shr ebx, 0x15
shl eax, 0xb
or ebx, eax
add ebx, edi
mov eax, ebx
xor eax, esi
xor eax, edi
add eax, dword [ebp - 0x24]
lea eax, [ecx + eax + 0x6d9d6122]
mov ecx, eax
shr ecx, 0x10
shl eax, 0x10
or ecx, eax
mov eax, ebx
add ecx, ebx
xor eax, ecx
mov dword [ebp + 8], ecx
mov edx, eax
xor edx, edi
add edx, dword [ebp - 0x18]
lea edx, [esi + edx - 0x21ac7f4]
mov esi, edx
shl esi, 0x17
shr edx, 9
or esi, edx
add esi, ecx
xor eax, esi
add eax, dword [ebp - 0x4c]
lea eax, [edi + eax - 0x5b4115bc]
mov edi, eax
shr edi, 0x1c
shl eax, 4
or edi, eax
movsx eax, word [0x43ac94]
push eax
add edi, esi
movsx eax, byte [0x43ac7a]
push eax
call fcn.0040af6d
mov ecx, dword [ebp + 8]
add byte [0x43ac79], al
mov eax, ecx
xor eax, esi
xor eax, edi
add eax, dword [ebp - 0x40]
lea eax, [ebx + eax + 0x4bdecfa9]
mov ebx, eax
shr ebx, 0x15
shl eax, 0xb
or ebx, eax
add ebx, edi
push 0x6327ffff
mov eax, ebx
push dword [0x43aca0]
xor eax, esi
mov dword [0x43acbc], 0x1bffff
xor eax, edi
add eax, dword [ebp - 0x34]
lea eax, [ecx + eax - 0x944b4a0]
mov ecx, eax
shr ecx, 0x10
shl eax, 0x10
or ecx, eax
add ecx, ebx
mov dword [ebp + 8], ecx
call fcn.0040b0ac
add dword [0x43acb4], eax
mov eax, ebx
xor eax, dword [ebp + 8]
push 0x5ccfffff
push 0x12e3ffff
mov ecx, eax
xor ecx, edi
add ecx, dword [ebp - 0x28]
lea ecx, [esi + ecx - 0x41404390]
mov esi, ecx
shl esi, 0x17
shr ecx, 9
or esi, ecx
add esi, dword [ebp + 8]
xor eax, esi
add eax, dword [ebp - 0x1c]
lea eax, [edi + eax + 0x289b7ec6]
mov edi, eax
shr edi, 0x1c
shl eax, 4
or edi, eax
add edi, esi
call fcn.0040af94
mov ecx, dword [ebp + 8]
mov word [0x43ac84], ax
mov eax, ecx
add esp, 0x20
xor eax, esi
xor eax, edi
add eax, dword [ebp - 0x50]
lea eax, [ebx + eax - 0x155ed806]
mov ebx, eax
shr ebx, 0x15
shl eax, 0xb
or ebx, eax
add ebx, edi
mov eax, ebx
xor eax, esi
xor eax, edi
add eax, dword [ebp - 0x44]
lea eax, [ecx + eax - 0x2b10cf7b]
mov ecx, eax
shr ecx, 0x10
shl eax, 0x10
or ecx, eax
or al, 0xff
sub al, byte [0x43ac7b]
add ecx, ebx
mov dword [ebp + 8], ecx
mov byte [0x43ac78], al
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
add word [0x43ac82], ax
or al, 0xff
sub al, byte [0x43ac94]
add byte [0x43ac7d], al
mov eax, ebx
xor eax, dword [ebp + 8]
mov ecx, eax
xor ecx, edi
add ecx, dword [ebp - 0x38]
lea ecx, [esi + ecx + 0x4881d05]
mov esi, ecx
shl esi, 0x17
shr ecx, 9
or esi, ecx
add esi, dword [ebp + 8]
xor eax, esi
add eax, dword [ebp - 0x2c]
lea eax, [edi + eax - 0x262b2fc7]
mov edi, eax
shr edi, 0x1c
shl eax, 4
or edi, eax
add edi, esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [0x43aca4], eax
movsx eax, byte [0x43ac7e]
push eax
push 0xc775ffff
call fcn.0040b0ac
add word [0x43ac86], ax
mov eax, dword [ebp + 8]
xor eax, esi
mov ecx, dword [ebp + 8]
xor eax, edi
or byte [0x43ac79], 0xff
add eax, dword [ebp - 0x20]
lea eax, [ebx + eax - 0x1924661b]
mov ebx, eax
shr ebx, 0x15
shl eax, 0xb
or ebx, eax
add ebx, edi
mov eax, ebx
xor eax, esi
xor eax, edi
add eax, dword [ebp - 0x14]
lea eax, [ecx + eax + 0x1fa27cf8]
mov ecx, eax
shr ecx, 0x10
shl eax, 0x10
or ecx, eax
movsx eax, word [0x43ac90]
push eax
add ecx, ebx
push dword [0x43acb0]
mov dword [ebp + 8], ecx
call fcn.0040aeeb
add byte [0x43ac81], al
mov ax, word [0x43ac8e]
add word [0x43ac84], ax
mov eax, ebx
xor eax, dword [ebp + 8]
xor eax, edi
add eax, dword [ebp - 0x48]
lea eax, [esi + eax - 0x3b53a99b]
mov esi, eax
shl esi, 0x17
shr eax, 9
or esi, eax
movsx eax, byte [0x43ac78]
add esi, dword [ebp + 8]
push eax
push 0x88b7ffff
call fcn.0040af94
add dword [0x43ac9c], eax
mov eax, ebx
not eax
or eax, esi
xor eax, dword [ebp + 8]
add eax, dword [ebp - 0x50]
lea eax, [edi + eax - 0xbd6ddbc]
mov edi, eax
shr edi, 0x1a
shl eax, 6
or edi, eax
mov eax, dword [ebp + 8]
add edi, esi
not eax
or eax, edi
xor eax, esi
add eax, dword [ebp - 0x34]
lea eax, [ebx + eax + 0x432aff97]
mov ebx, eax
shr ebx, 0x16
shl eax, 0xa
or ebx, eax
push 0xa93ffff
push 0x3233ffff
add ebx, edi
call fcn.0040afcb
add dword [0x43aca0], eax
mov eax, esi
mov ecx, dword [ebp + 8]
add esp, 0x20
not eax
or eax, ebx
mov byte [0x43ac7d], 1
xor eax, edi
add eax, dword [ebp - 0x18]
lea ecx, [ecx + eax - 0x546bdc59]
mov eax, ecx
shr eax, 0x11
shl ecx, 0xf
or eax, ecx
mov ecx, edi
add eax, ebx
not ecx
or ecx, eax
mov dword [ebp + 8], eax
xor ecx, ebx
add ecx, dword [ebp - 0x3c]
lea ecx, [esi + ecx - 0x36c5fc7]
mov esi, ecx
shl esi, 0x15
shr ecx, 0xb
or esi, ecx
add esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [0x43ac7c], al
call dword [sym.imp.USER32.dll_GetCursor]
add byte [0x43ac7c], al
mov eax, ebx
not eax
or eax, esi
xor eax, dword [ebp + 8]
add eax, dword [ebp - 0x20]
lea eax, [edi + eax + 0x655b59c3]
mov edi, eax
shr edi, 0x1a
shl eax, 6
or edi, eax
add edi, esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov word [0x43ac88], ax
movsx eax, word [0x43ac90]
push eax
movsx eax, word [0x43ac92]
push eax
call fcn.0040b087
add dword [0x43ac98], eax
mov eax, dword [ebp + 8]
not eax
or eax, edi
pop ecx
xor eax, esi
pop ecx
add eax, dword [ebp - 0x44]
lea eax, [ebx + eax - 0x70f3336e]
mov ebx, eax
shr ebx, 0x16
shl eax, 0xa
or ebx, eax
add ebx, edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov byte [0x43ac7e], al
mov eax, dword [0x43acb0]
or eax, 0xcd67ffff
mov ecx, dword [ebp + 8]
add dword [0x43aca8], eax
mov eax, esi
not eax
or eax, ebx
xor eax, edi
add eax, dword [ebp - 0x28]
lea eax, [ecx + eax - 0x100b83]
mov ecx, eax
shr ecx, 0x11
shl eax, 0xf
or ecx, eax
mov eax, edi
add ecx, ebx
push dword [0x43aca4]
not eax
or eax, ecx
push 0x7a35ffff
xor eax, ebx
mov dword [ebp + 8], ecx
add eax, dword [ebp - 0x4c]
lea eax, [esi + eax - 0x7a7ba22f]
mov esi, eax
shl esi, 0x15
shr eax, 0xb
or esi, eax
add esi, ecx
call fcn.0040b0f0
add word [0x43ac92], ax
movsx ax, byte [0x43ac79]
dec eax
mov word [0x43ac8c], ax
mov eax, ebx
not eax
or eax, esi
xor eax, dword [ebp + 8]
add eax, dword [ebp - 0x30]
lea eax, [edi + eax + 0x6fa87e4f]
mov edi, eax
shr edi, 0x1a
shl eax, 6
or edi, eax
mov eax, dword [ebp + 8]
add edi, esi
not eax
or eax, edi
xor eax, esi
add eax, dword [ebp - 0x14]
lea eax, [ebx + eax - 0x1d31920]
mov ebx, eax
shr ebx, 0x16
shl eax, 0xa
or ebx, eax
movsx eax, byte [0x43ac7c]
push eax
add ebx, edi
push dword [0x43acbc]
call fcn.0040af94
add dword [0x43acac], eax
push 0x8c57ffff
movsx eax, byte [0x43ac79]
push eax
call fcn.0040b0f0
add dword [0x43acb4], eax
mov eax, esi
mov ecx, dword [ebp + 8]
add esp, 0x18
not eax
or eax, ebx
xor eax, edi
add eax, dword [ebp - 0x38]
lea ecx, [ecx + eax - 0x5cfebcec]
mov eax, ecx
shr eax, 0x11
shl ecx, 0xf
or eax, ecx
mov ecx, edi
add eax, ebx
not ecx
or ecx, eax
mov dword [ebp + 8], eax
xor ecx, ebx
add ecx, dword [ebp - 0x1c]
lea ecx, [esi + ecx + 0x4e0811a1]
mov esi, ecx
shl esi, 0x15
shr ecx, 0xb
or esi, ecx
add esi, eax
movsx eax, word [0x43ac82]
and eax, 0x6aedffff
add dword [0x43acb4], eax
call dword [sym.imp.USER32.dll_GetInputState]
add byte [0x43ac7f], al
mov ecx, dword [ebp + 8]
movsx eax, word [0x43ac90]
imul eax, eax, 0xeb6fffff
mov dword [0x43aca0], eax
mov eax, ebx
not eax
or eax, esi
and word [0x43ac92], 0
xor eax, ecx
push 0xd51ffff
add eax, dword [ebp - 0x40]
push 0xa86dffff
lea eax, [edi + eax - 0x8ac817e]
mov edi, eax
shr edi, 0x1a
shl eax, 6
or edi, eax
mov eax, ecx
add edi, esi
not eax
or eax, edi
xor eax, esi
add eax, dword [ebp - 0x24]
lea eax, [ebx + eax - 0x42c50dcb]
mov ebx, eax
shr ebx, 0x16
shl eax, 0xa
or ebx, eax
mov eax, esi
add ebx, edi
not eax
or eax, ebx
xor eax, edi
add eax, dword [ebp - 0x48]
lea eax, [ecx + eax + 0x2ad7d2bb]
mov ecx, eax
shr ecx, 0x11
shl eax, 0xf
or ecx, eax
mov eax, edi
add ecx, ebx
not eax
or eax, ecx
mov dword [ebp + 8], ecx
xor eax, ebx
add eax, dword [ebp - 0x2c]
lea eax, [esi + eax - 0x14792c6f]
mov dword [ebp - 4], eax
call fcn.0040af94
add word [0x43ac94], ax
or eax, 0xffffffff
sub eax, dword [0x43aca4]
mov esi, dword [ebp - 0x10]
push 0x6735ffff
push 0xd4cdffff
mov word [0x43ac82], ax
mov eax, dword [ebp - 4]
add dword [esi], edi
mov edi, dword [ebp + 8]
mov ecx, eax
shl ecx, 0x15
shr eax, 0xb
or ecx, eax
add ecx, edi
add dword [esi + 4], ecx
call fcn.0040b0f0
mov dword [0x43acb4], eax
xor eax, eax
add esp, 0x10
cmp dword [0x43ac98], eax
je 0x429406
cmp dword [0x43ac9c], eax
je 0x429406
push 1
pop eax
add dword [0x43aca8], eax
add dword [esi + 8], edi
add dword [esi + 0xc], ebx
or ecx, 0xffffffff
movsx ax, byte [0x43ac7b]
sub ecx, eax
movsx eax, byte [0x43ac79]
push eax
mov word [0x43ac82], cx
movsx eax, byte [0x43ac80]
push eax
call fcn.0040b087
or byte [0x43ac7a], 0xff
mov dword [0x43acb8], eax
push 0x40
lea eax, [ebp - 0x50]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetVersion]
pop edi
pop esi
mov dword [0x43aca8], eax
pop ebx
leave
ret 4