Function at 0x4ab370
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x288
mov eax, dword [ebp + 8]
mov ecx, 0
mov edx, 0x28
lea esi, [esp + 0x21c]
lea edi, [esp + 0x244]
mov dword [esp + 0x274], eax
mov dword [esp + 0x270], 0
mov dword [esp + 0x26c], 0
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x28
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1dc], edx
call fcn.004de490
mov eax, dword [esp + 0x1e4]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x28
call fcn.004de490
mov dword [esp + 0x218], 0
mov dword [esp + 0x214], 0
mov eax, dword [0x4ecf28]
mov dword [esp + 0x208], eax
mov bx, word [0x4ecf2c]
mov word [esp + 0x20c], bx
mov dword [esp + 0x200], 0
mov eax, dword [0x500084]
mov dword [esp + 0x27c], eax
mov dword [esp + 0x1e8], 0x512192c1
mov eax, dword [esp + 0x1e8]
mov ecx, eax
sub ecx, 0x8abd82b9
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1d4], ecx
jg 0x4ab49f
jmp 0x4ab481
mov eax, dword [esp + 0x1d8]
sub eax, 0x85fa75bc
mov dword [esp + 0x1d0], eax
je 0x4ac81d
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x8cc58af9
mov dword [esp + 0x1cc], eax
jg 0x4ab4db
jmp 0x4ab4bd
mov eax, dword [esp + 0x1d8]
sub eax, 0x8abd82ba
mov dword [esp + 0x1c8], eax
je 0x4ac4a7
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x94cbfbc4
mov dword [esp + 0x1c4], eax
jg 0x4ab517
jmp 0x4ab4f9
mov eax, dword [esp + 0x1d8]
sub eax, 0x8cc58afa
mov dword [esp + 0x1c0], eax
je 0x4ac45d
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x95a1b733
mov dword [esp + 0x1bc], eax
jg 0x4ab553
jmp 0x4ab535
mov eax, dword [esp + 0x1d8]
sub eax, 0x94cbfbc5
mov dword [esp + 0x1b8], eax
je 0x4ac287
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x978aea43
mov dword [esp + 0x1b4], eax
jg 0x4ab58f
jmp 0x4ab571
mov eax, dword [esp + 0x1d8]
sub eax, 0x95a1b734
mov dword [esp + 0x1b0], eax
je 0x4ac0b4
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x97bae278
mov dword [esp + 0x1ac], eax
jg 0x4ab5cb
jmp 0x4ab5ad
mov eax, dword [esp + 0x1d8]
sub eax, 0x978aea44
mov dword [esp + 0x1a8], eax
je 0x4abeff
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x9e2f8cc7
mov dword [esp + 0x1a4], eax
jg 0x4ab607
jmp 0x4ab5e9
mov eax, dword [esp + 0x1d8]
sub eax, 0x97bae279
mov dword [esp + 0x1a0], eax
je 0x4abfbd
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xa15625a8
mov dword [esp + 0x19c], eax
jg 0x4ab643
jmp 0x4ab625
mov eax, dword [esp + 0x1d8]
sub eax, 0x9e2f8cc8
mov dword [esp + 0x198], eax
je 0x4abf9a
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xa52cec6a
mov dword [esp + 0x194], eax
jg 0x4ab67f
jmp 0x4ab661
mov eax, dword [esp + 0x1d8]
sub eax, 0xa15625a9
mov dword [esp + 0x190], eax
je 0x4ac85e
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xc06b182a
mov dword [esp + 0x18c], eax
jg 0x4ab6bb
jmp 0x4ab69d
mov eax, dword [esp + 0x1d8]
sub eax, 0xa52cec6b
mov dword [esp + 0x188], eax
je 0x4ac425
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xc6947d9e
mov dword [esp + 0x184], eax
jg 0x4ab6f7
jmp 0x4ab6d9
mov eax, dword [esp + 0x1d8]
sub eax, 0xc06b182b
mov dword [esp + 0x180], eax
je 0x4abea0
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xc7b2645b
mov dword [esp + 0x17c], eax
jg 0x4ab733
jmp 0x4ab715
mov eax, dword [esp + 0x1d8]
sub eax, 0xc6947d9f
mov dword [esp + 0x178], eax
je 0x4aca4a
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xc9c3192d
mov dword [esp + 0x174], eax
jg 0x4ab76f
jmp 0x4ab751
mov eax, dword [esp + 0x1d8]
sub eax, 0xc7b2645c
mov dword [esp + 0x170], eax
je 0x4ac8b1
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xdb56dfe4
mov dword [esp + 0x16c], eax
jg 0x4ab7ab
jmp 0x4ab78d
mov eax, dword [esp + 0x1d8]
sub eax, 0xc9c3192e
mov dword [esp + 0x168], eax
je 0x4ac616
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xdceb41bd
mov dword [esp + 0x164], eax
jg 0x4ab7e7
jmp 0x4ab7c9
mov eax, dword [esp + 0x1d8]
sub eax, 0xdb56dfe5
mov dword [esp + 0x160], eax
je 0x4aca7e
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xe2611615
mov dword [esp + 0x15c], eax
jg 0x4ab823
jmp 0x4ab805
mov eax, dword [esp + 0x1d8]
sub eax, 0xdceb41be
mov dword [esp + 0x158], eax
je 0x4ac878
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xeac10ed7
mov dword [esp + 0x154], eax
jg 0x4ab85f
jmp 0x4ab841
mov eax, dword [esp + 0x1d8]
sub eax, 0xe2611616
mov dword [esp + 0x150], eax
je 0x4aca06
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xebef7a6f
mov dword [esp + 0x14c], eax
jg 0x4ab89b
jmp 0x4ab87d
mov eax, dword [esp + 0x1d8]
sub eax, 0xeac10ed8
mov dword [esp + 0x148], eax
je 0x4ac9e0
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xed5a499c
mov dword [esp + 0x144], eax
jg 0x4ab8d7
jmp 0x4ab8b9
mov eax, dword [esp + 0x1d8]
sub eax, 0xebef7a70
mov dword [esp + 0x140], eax
je 0x4ac00a
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xf2b795d8
mov dword [esp + 0x13c], eax
jg 0x4ab913
jmp 0x4ab8f5
mov eax, dword [esp + 0x1d8]
sub eax, 0xed5a499d
mov dword [esp + 0x138], eax
je 0x4aca15
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xf30c2d0f
mov dword [esp + 0x134], eax
jg 0x4ab94f
jmp 0x4ab931
mov eax, dword [esp + 0x1d8]
sub eax, 0xf2b795d9
mov dword [esp + 0x130], eax
je 0x4ac6da
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xf3f78936
mov dword [esp + 0x12c], eax
jg 0x4ab98b
jmp 0x4ab96d
mov eax, dword [esp + 0x1d8]
sub eax, 0xf30c2d10
mov dword [esp + 0x128], eax
je 0x4ac5ac
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xf8f31143
mov dword [esp + 0x124], eax
jg 0x4ab9c7
jmp 0x4ab9a9
mov eax, dword [esp + 0x1d8]
sub eax, 0xf3f78937
mov dword [esp + 0x120], eax
je 0x4ac14c
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0xfc51d1a3
mov dword [esp + 0x11c], eax
jg 0x4aba03
jmp 0x4ab9e5
mov eax, dword [esp + 0x1d8]
sub eax, 0xf8f31144
mov dword [esp + 0x118], eax
je 0x4ac670
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x30c0c7a
mov dword [esp + 0x114], eax
jg 0x4aba3f
jmp 0x4aba21
mov eax, dword [esp + 0x1d8]
sub eax, 0xfc51d1a4
mov dword [esp + 0x110], eax
je 0x4ac477
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x8d686b2
mov dword [esp + 0x10c], eax
jg 0x4aba7b
jmp 0x4aba5d
mov eax, dword [esp + 0x1d8]
sub eax, 0x30c0c7b
mov dword [esp + 0x108], eax
je 0x4ac8d5
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x1e1ed92f
mov dword [esp + 0x104], eax
jg 0x4abab7
jmp 0x4aba99
mov eax, dword [esp + 0x1d8]
sub eax, 0x8d686b3
mov dword [esp + 0x100], eax
je 0x4ac5bc
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x2a32caa7
mov dword [esp + 0xfc], eax
jg 0x4abaf3
jmp 0x4abad5
mov eax, dword [esp + 0x1d8]
sub eax, 0x1e1ed930
mov dword [esp + 0xf8], eax
je 0x4ac680
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x31b97daf
mov dword [esp + 0xf4], eax
jg 0x4abb2f
jmp 0x4abb11
mov eax, dword [esp + 0x1d8]
sub eax, 0x2a32caa8
mov dword [esp + 0xf0], eax
je 0x4acab7
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x3508be87
mov dword [esp + 0xec], eax
jg 0x4abb6b
jmp 0x4abb4d
mov eax, dword [esp + 0x1d8]
sub eax, 0x31b97db0
mov dword [esp + 0xe8], eax
je 0x4acaa7
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x37e01da6
mov dword [esp + 0xe4], eax
jg 0x4abba7
jmp 0x4abb89
mov eax, dword [esp + 0x1d8]
sub eax, 0x3508be88
mov dword [esp + 0xe0], eax
je 0x4ac497
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x3c5208d1
mov dword [esp + 0xdc], eax
jg 0x4abbe3
jmp 0x4abbc5
mov eax, dword [esp + 0x1d8]
sub eax, 0x37e01da7
mov dword [esp + 0xd8], eax
je 0x4ac539
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x3f7579e8
mov dword [esp + 0xd4], eax
jg 0x4abc1f
jmp 0x4abc01
mov eax, dword [esp + 0x1d8]
sub eax, 0x3c5208d2
mov dword [esp + 0xd0], eax
je 0x4ac21f
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x4b6aef17
mov dword [esp + 0xcc], eax
jg 0x4abc5b
jmp 0x4abc3d
mov eax, dword [esp + 0x1d8]
sub eax, 0x3f7579e9
mov dword [esp + 0xc8], eax
je 0x4acb2a
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x512192c0
mov dword [esp + 0xc4], eax
jg 0x4abc97
jmp 0x4abc79
mov eax, dword [esp + 0x1d8]
sub eax, 0x4b6aef18
mov dword [esp + 0xc0], eax
je 0x4ac967
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x5a39db80
mov dword [esp + 0xbc], eax
jg 0x4abcd3
jmp 0x4abcb5
mov eax, dword [esp + 0x1d8]
sub eax, 0x512192c1
mov dword [esp + 0xb8], eax
je 0x4abe5e
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x5b33d999
mov dword [esp + 0xb4], eax
jg 0x4abd0f
jmp 0x4abcf1
mov eax, dword [esp + 0x1d8]
sub eax, 0x5a39db81
mov dword [esp + 0xb0], eax
je 0x4ac8a1
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x5bf5850e
mov dword [esp + 0xac], eax
jg 0x4abd4b
jmp 0x4abd2d
mov eax, dword [esp + 0x1d8]
sub eax, 0x5b33d99a
mov dword [esp + 0xa8], eax
je 0x4ac7fa
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x656bb317
mov dword [esp + 0xa4], eax
jg 0x4abd87
jmp 0x4abd69
mov eax, dword [esp + 0x1d8]
sub eax, 0x5bf5850f
mov dword [esp + 0xa0], eax
je 0x4ac487
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x69912920
mov dword [esp + 0x9c], eax
jg 0x4abdc3
jmp 0x4abda5
mov eax, dword [esp + 0x1d8]
sub eax, 0x656bb318
mov dword [esp + 0x98], eax
je 0x4ac9d0
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x74be7e94
mov dword [esp + 0x94], eax
jg 0x4abdff
jmp 0x4abde1
mov eax, dword [esp + 0x1d8]
sub eax, 0x69912921
mov dword [esp + 0x90], eax
je 0x4abe84
jmp 0x4abe59
mov eax, dword [esp + 0x1d8]
sub eax, 0x74be7e95
mov dword [esp + 0x8c], eax
je 0x4ac2d4
jmp 0x4abe1d
mov eax, dword [esp + 0x1d8]
sub eax, 0x764352b3
mov dword [esp + 0x88], eax
je 0x4ac22f
jmp 0x4abe3b
mov eax, dword [esp + 0x1d8]
sub eax, 0x7655de09
mov dword [esp + 0x84], eax
je 0x4ac069
jmp 0x4abe59
jmp 0x4acb44
mov eax, 0xc06b182b
mov ecx, 0x69912921
mov edx, dword [esp + 0x27c]
cmp edx, 0
cmovne eax, ecx
mov dword [esp + 0x1e8], eax
jmp 0x4acb44
mov eax, dword [0x500088]
mov dword [esp + 0x278], eax
mov dword [esp + 0x1e8], 0xe2611616
jmp 0x4acb44
mov eax, 0xed5a499d
mov ecx, 0x978aea44
mov edx, dword [0x501494]
mov esi, dword [0x501490]
mov edi, edx
sub edi, 0x2f902beb
sub edi, 1
add edi, 0x2f902beb
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov dl, bl
and dl, bh
xor bl, bh
or dl, bl
test dl, 1
cmovne eax, ecx
mov dword [esp + 0x1e8], eax
jmp 0x4acb44
mov eax, 0
mov dword [esp], 0
mov dword [esp + 0x80], eax
call fcn.0040aa40
mov ecx, 0xed5a499d
mov edx, 0x9e2f8cc8
mov esi, dword [esp + 0x274]
mov dword [esi], eax
mov dword [esp + 0x1fc], eax
cmp dword [esp + 0x1fc], 6
setae bl
and bl, 1
mov byte [esp + 0x282], bl
mov eax, dword [0x501494]
mov esi, dword [0x501490]
mov edi, eax
sub edi, 0xda88d0e7
sub edi, 1
add edi, 0xda88d0e7
imul eax, edi
and eax, 1
cmp eax, 0
sete bl
cmp esi, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
mov eax, 0x1e1ed930
mov ecx, 0x97bae279
mov dl, byte [esp + 0x282]
test dl, 1
cmovne eax, ecx
mov dword [esp + 0x1e8], eax
jmp 0x4acb44
mov eax, dword [0x5013b0]
mov ecx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [esp + 0x7c], eax
call ecx
mov ecx, esp
lea edx, [esp + 0x214]
mov dword [ecx], eax
mov dword [ecx + 8], edx
mov dword [ecx + 4], 0x2000000
mov eax, dword [esp + 0x7c]
call eax
sub esp, 0xc
mov ecx, 0x8d686b3
mov edx, 0xebef7a70
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
mov eax, dword [0x5013ac]
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x214]
mov esi, esp
mov dword [esi + 0xc], ecx
mov dword [esi + 8], 0
mov dword [esi + 4], 0x19
lea ecx, [esp + 0x200]
mov dword [esi], edx
mov dword [esi + 0x10], ecx
call eax
sub esp, 0x14
mov ecx, 0x8abd82ba
mov edx, 0x7655de09
cmp dword [esp + 0x200], 0
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x78], eax
jmp 0x4acb44
mov eax, 1
mov ecx, dword [esp + 0x200]
mov dword [esp], ecx
mov dword [esp + 4], 1
mov dword [esp + 0x74], eax
call fcn.004de2c4
mov ecx, 0x764352b3
mov edx, 0x95a1b734
mov dword [esp + 0x218], eax
cmp dword [esp + 0x218], 0
cmove ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
mov eax, 0xc6947d9f
mov ecx, 0xf3f78937
mov dl, 1
mov esi, 0
mov edi, dword [0x501494]
mov ebx, dword [0x501490]
sub esi, 1
mov dword [esp + 0x70], eax
mov eax, edi
add eax, esi
imul edi, eax
and edi, 1
cmp edi, 0
sete dh
cmp ebx, 0xa
setl al
mov ah, dh
xor ah, 1
mov bl, al
xor bl, 1
xor dl, 0
mov bh, ah
and bh, 0
and dh, dl
mov byte [esp + 0x6f], al
mov al, bl
and al, 0
mov byte [esp + 0x6e], al
mov al, byte [esp + 0x6f]
and al, dl
or bh, dh
mov dh, byte [esp + 0x6e]
or dh, al
xor bh, dh
or ah, bl
xor ah, 1
or dl, 0
and ah, dl
or bh, ah
test bh, 1
mov esi, dword [esp + 0x70]
cmovne esi, ecx
mov dword [esp + 0x1e8], esi
jmp 0x4acb44
mov eax, dword [esp + 0x214]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov ecx, 0xc6947d9f
mov edx, 0x3c5208d2
mov bl, 1
mov dword [esp + 0x278], 0xffffffff
mov esi, dword [0x501494]
mov edi, dword [0x501490]
mov dword [esp + 0x68], eax
mov eax, esi
sub eax, 0x703a6bd5
sub eax, 1
add eax, 0x703a6bd5
imul esi, eax
and esi, 1
cmp esi, 0
sete bh
cmp edi, 0xa
setl al
mov ah, bh
xor ah, 1
mov byte [esp + 0x67], al
xor al, 1
xor bl, 0
mov byte [esp + 0x66], al
mov al, ah
and al, 0
and bh, bl
mov byte [esp + 0x65], al
mov al, byte [esp + 0x66]
and al, 0
mov byte [esp + 0x64], al
mov al, byte [esp + 0x67]
and al, bl
mov byte [esp + 0x63], al
mov al, byte [esp + 0x65]
or al, bh
mov bh, byte [esp + 0x64]
mov byte [esp + 0x62], al
mov al, byte [esp + 0x63]
or bh, al
mov al, byte [esp + 0x62]
xor al, bh
mov bh, byte [esp + 0x66]
or ah, bh
xor ah, 1
or bl, 0
and ah, bl
or al, ah
test al, 1
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
mov dword [esp + 0x1e8], 0xe2611616
jmp 0x4acb44
mov eax, dword [0x5013ac]
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x218]
mov esi, dword [esp + 0x214]
mov edi, esp
mov dword [edi + 0xc], ecx
mov dword [edi + 8], edx
lea ecx, [esp + 0x200]
mov dword [edi], esi
mov dword [edi + 0x10], ecx
mov dword [edi + 4], 0x19
call eax
sub esp, 0x14
mov ecx, 0x3508be88
mov edx, 0x94cbfbc5
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
mov eax, dword [esp + 0x218]
mov dword [esp + 0x270], eax
mov eax, dword [0x5013a8]
mov ecx, dword [esp + 0x270]
mov ecx, dword [ecx]
mov edx, esp
lea esi, [esp + 0x26c]
mov dword [edx + 4], esi
mov dword [edx], ecx
call eax
sub esp, 8
mov ecx, 0x5bf5850f
mov edx, 0x74be7e95
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
lea eax, [esp + 0x244]
mov ecx, dword [0x4f3708]
movzx ecx, word [ecx]
mov dword [esp + 0x1f8], ecx
mov ecx, dword [esp + 0x1f8]
add ecx, 0x1fe44c2d
add ecx, 1
sub ecx, 0x1fe44c2d
mov edx, dword [0x4f3708]
movzx ecx, word [edx + ecx*2]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x1f4]
mov edx, dword [0x4f3708]
mov esi, dword [esp + 0x1f8]
shl esi, 1
add edx, esi
add edx, 4
mov esi, dword [0x4f3708]
add esi, 2
mov edi, dword [esp + 0x1f8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0040c900
lea eax, [esp + 0x21c]
mov ecx, 0
mov edx, dword [0x4f370c]
movzx edx, word [edx]
mov dword [esp + 0x1f0], edx
mov edx, dword [esp + 0x1f0]
mov esi, ecx
sub esi, edx
mov edx, ecx
sub edx, 1
add esi, edx
sub ecx, esi
mov edx, dword [0x4f370c]
movzx ecx, word [edx + ecx*2]
mov dword [esp + 0x1ec], ecx
mov ecx, dword [esp + 0x1ec]
mov edx, dword [0x4f370c]
mov esi, dword [esp + 0x1f0]
shl esi, 1
add edx, esi
add edx, 4
mov esi, dword [0x4f370c]
add esi, 2
mov edi, dword [esp + 0x1f0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0040c900
lea eax, [esp + 0x244]
mov ecx, dword [esp + 0x26c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00416e10
mov ecx, 0x8cc58afa
mov edx, 0xa52cec6b
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
lea eax, [esp + 0x21c]
mov ecx, dword [esp + 0x26c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00416e10
mov ecx, 0x8cc58afa
mov edx, 0xfc51d1a4
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
mov dword [0x500088], 1
mov dword [esp + 0x1e8], 0xfc51d1a4
jmp 0x4acb44
mov dword [esp + 0x1e8], 0x5bf5850f
jmp 0x4acb44
mov dword [esp + 0x1e8], 0x3508be88
jmp 0x4acb44
mov dword [esp + 0x1e8], 0x8abd82ba
jmp 0x4acb44
mov eax, 0xdb56dfe5
mov ecx, 0x37e01da7
mov dl, 1
mov esi, dword [0x501494]
mov edi, dword [0x501490]
mov ebx, esi
sub ebx, 0x3be9ff5
sub ebx, 1
add ebx, 0x3be9ff5
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov dword [esp + 0x5c], eax
mov al, bl
xor al, 1
xor dl, 1
mov ah, bh
and ah, 1
and dh, dl
mov byte [esp + 0x5b], al
and al, 1
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [esp + 0x5b]
or bh, al
xor bh, 1
or dl, 1
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [esp + 0x5c]
cmovne esi, ecx
mov dword [esp + 0x1e8], esi
jmp 0x4acb44
mov eax, dword [esp + 0x214]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov ecx, 0xdb56dfe5
mov edx, 0xf30c2d10
mov esi, 0
mov edi, dword [0x501494]
mov ebx, dword [0x501490]
sub esi, 1
mov dword [esp + 0x54], eax
mov eax, edi
add eax, esi
imul edi, eax
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov bl, al
and bl, ah
xor al, ah
or bl, al
test bl, 1
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
mov dword [esp + 0x1e8], 0x8d686b3
jmp 0x4acb44
mov eax, 0x31b97db0
mov ecx, 0xc9c3192e
mov edx, 0
mov esi, dword [0x501494]
mov edi, dword [0x501490]
sub edx, 1
mov ebx, esi
add ebx, edx
imul esi, ebx
and esi, 1
cmp esi, 0
sete dl
cmp edi, 0xa
setl dh
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
cmovne eax, ecx
mov dword [esp + 0x1e8], eax
jmp 0x4acb44
mov eax, 0x31b97db0
mov ecx, 0xf8f31144
mov edx, 0
mov esi, dword [0x501494]
mov edi, dword [0x501490]
sub edx, 1
mov ebx, esi
add ebx, edx
imul esi, ebx
and esi, 1
cmp esi, 0
sete dl
cmp edi, 0xa
setl dh
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
cmovne eax, ecx
mov dword [esp + 0x1e8], eax
jmp 0x4acb44
mov dword [esp + 0x1e8], 0xc7b2645c
jmp 0x4acb44
mov eax, 0x2a32caa8
mov ecx, 0xf2b795d9
mov edx, 0
mov esi, dword [0x501494]
mov edi, dword [0x501490]
sub edx, 1
mov ebx, esi
add ebx, edx
imul esi, ebx
and esi, 1
cmp esi, 0
sete dl
cmp edi, 0xa
setl dh
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
cmovne eax, ecx
mov dword [esp + 0x1e8], eax
jmp 0x4acb44
lea eax, [esp + 0x204]
mov ecx, dword [0x5013a4]
mov edx, esp
mov dword [edx + 0x28], eax
mov dword [edx + 0x20], 0
mov dword [edx + 0x1c], 0
mov dword [edx + 0x18], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0xc], 0x220
mov dword [edx + 0x24], 0
mov dword [edx + 8], 0x20
lea eax, [esp + 0x208]
mov dword [edx], eax
mov dword [edx + 0x14], 0
mov dword [edx + 4], 2
call ecx
sub esp, 0x2c
mov ecx, 0x2a32caa8
mov edx, 0x5b33d99a
mov bl, 1
cmp eax, 0
setne bh
and bh, 1
mov byte [esp + 0x283], bh
mov eax, dword [0x501494]
mov esi, dword [0x501490]
mov edi, eax
add edi, 0x17e48358
sub edi, 1
sub edi, 0x17e48358
imul eax, edi
and eax, 1
cmp eax, 0
sete bh
cmp esi, 0xa
setl al
mov ah, bh
xor ah, 1
mov byte [esp + 0x53], al
xor al, 1
xor bl, 0
mov byte [esp + 0x52], al
mov al, ah
and al, 0
and bh, bl
mov byte [esp + 0x51], al
mov al, byte [esp + 0x52]
and al, 0
mov byte [esp + 0x50], al
mov al, byte [esp + 0x53]
and al, bl
mov byte [esp + 0x4f], al
mov al, byte [esp + 0x51]
or al, bh
mov bh, byte [esp + 0x50]
mov byte [esp + 0x4e], al
mov al, byte [esp + 0x4f]
or bh, al
mov al, byte [esp + 0x4e]
xor al, bh
mov bh, byte [esp + 0x52]
or ah, bh
xor ah, 1
or bl, 0
and ah, bl
or al, ah
test al, 1
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
mov eax, 0x5a39db81
mov ecx, 0x85fa75bc
mov dl, byte [esp + 0x283]
test dl, 1
cmovne eax, ecx
mov dword [esp + 0x1e8], eax
jmp 0x4acb44
mov eax, dword [0x5013a0]
mov ecx, dword [esp + 0x204]
mov edx, esp
mov dword [edx + 8], 0x500088
mov dword [edx + 4], ecx
mov dword [edx], 0
call eax
sub esp, 0xc
mov ecx, 0xa15625a9
mov edx, 0xdceb41be
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x1e8], ecx
jmp 0x4acb44
mov dword [0x500088], 0
mov dword [esp + 0x1e8], 0xdceb41be
jmp 0x4acb44
mov eax, dword [0x50139c]
mov ecx, dword [esp + 0x204]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [esp + 0x1e8], 0x5a39db81
mov dword [esp + 0x48], eax
jmp 0x4acb44
mov dword [esp + 0x1e8], 0xc7b2645c
jmp 0x4acb44
mov eax, 0xeac10ed8
mov ecx, 0x30c0c7b
cmp dword [esp + 0x218], 0
cmovne eax, ecx
mov dword [esp + 0x1e8], eax
jmp 0x4acb44
mov eax, 0x3f7579e9
mov ecx, 0x4b6aef18
mov dl, 1
mov esi, dword [0x501494]
mov edi, dword [0x501490]
mov ebx, esi
sub ebx, 0x893f77c3
sub ebx, 1
add ebx, 0x893f77c3
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov dword [esp + 0x44], eax
mov al, bl
xor al, 1
xor dl, 0
mov ah, bh
and ah, 0
and dh, dl
mov byte [esp + 0x43], al
and al, 0
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [esp + 0x43]
or bh, al
xor bh, 1
or dl, 0
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [esp + 0x44]
cmovne esi, ecx
mov dword [esp + 0x1e8], esi
jmp 0x4acb44
mov eax, dword [esp + 0x218]
mov dword [esp], eax
call fcn.004ddc3b
mov eax, 0x3f7579e9
mov ecx, 0x656bb318
mov edx, 0
mov esi, dword [0x501494]
mov edi, dword [0x501490]
sub edx, 1
mov ebx, esi
add ebx, edx
imul esi, ebx
and esi, 1
cmp esi, 0
sete dl
cmp edi, 0xa
setl dh
mov bl, dl
and bl, dh
xor dl, dh
or bl, dl
test bl, 1
cmovne eax, ecx
mov dword [esp + 0x1e8], eax
jmp 0x4acb44
mov dword [esp + 0x1e8], 0xeac10ed8
jmp 0x4acb44
mov dword [0x500084], 1
mov eax, dword [0x500088]
mov dword [esp + 0x278], eax
mov dword [esp + 0x1e8], 0xe2611616
jmp 0x4acb44
mov eax, dword [esp + 0x278]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0
mov dword [esp], 0
mov dword [esp + 0x3c], eax
call fcn.0040aa40
mov ecx, dword [esp + 0x274]
mov dword [ecx], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x1e8], 0x978aea44
jmp 0x4acb44
mov eax, dword [esp + 0x214]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov dword [esp + 0x278], 0xffffffff
mov dword [esp + 0x1e8], 0xf3f78937
mov dword [esp + 0x38], eax
jmp 0x4acb44
mov eax, dword [esp + 0x214]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov dword [esp + 0x1e8], 0x37e01da7
mov dword [esp + 0x34], eax
jmp 0x4acb44
mov dword [esp + 0x1e8], 0xc9c3192e
jmp 0x4acb44
lea eax, [esp + 0x204]
mov ecx, dword [0x5013a4]
mov edx, esp
mov dword [edx + 0x28], eax
mov dword [edx + 0x20], 0
mov dword [edx + 0x1c], 0
mov dword [edx + 0x18], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0xc], 0x220
mov dword [edx + 0x24], 0
mov dword [edx + 8], 0x20
lea eax, [esp + 0x208]
mov dword [edx], eax
mov dword [edx + 0x14], 0
mov dword [edx + 4], 2
call ecx
sub esp, 0x2c
mov dword [esp + 0x1e8], 0xf2b795d9
mov dword [esp + 0x30], eax
jmp 0x4acb44
mov eax, dword [esp + 0x218]
mov dword [esp], eax
call fcn.004ddc3b
mov dword [esp + 0x1e8], 0x4b6aef18
jmp 0x4ab459