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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2b8
mov eax, dword [ebp + 8]
mov ecx, 0
mov edx, 0x28
lea esi, [esp + 0x24c]
lea edi, [esp + 0x274]
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x29c], 0
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x28
mov dword [esp + 0x214], esi
mov dword [esp + 0x210], ecx
mov dword [esp + 0x20c], edx
call fcn.004ce960
mov eax, dword [esp + 0x214]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x28
call fcn.004ce960
mov dword [esp + 0x248], 0
mov dword [esp + 0x244], 0
mov eax, dword [0x4e474c]
mov dword [esp + 0x238], eax
mov bx, word [0x4e4750]
mov word [esp + 0x23c], bx
mov dword [esp + 0x230], 0
mov eax, dword [0x4f1164]
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x218], 0xd65b3bc0
mov eax, dword [esp + 0x218]
mov ecx, eax
sub ecx, 0x874018ba
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], ecx
jg 0x499f5f
jmp 0x499f41
mov eax, dword [esp + 0x208]
sub eax, 0x80652960
mov dword [esp + 0x200], eax
je 0x49b720
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x8c0c385d
mov dword [esp + 0x1fc], eax
jg 0x499f9b
jmp 0x499f7d
mov eax, dword [esp + 0x208]
sub eax, 0x874018bb
mov dword [esp + 0x1f8], eax
je 0x49b10e
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x7ecad45c
mov dword [esp + 0x1f4], eax
jg 0x49a9af
jmp 0x499fb9
mov eax, dword [esp + 0x208]
sub eax, 0x7b33638b
mov dword [esp + 0x1f0], eax
jg 0x49a991
jmp 0x499fd7
mov eax, dword [esp + 0x208]
sub eax, 0x78900dd1
mov dword [esp + 0x1ec], eax
jg 0x49a973
jmp 0x499ff5
mov eax, dword [esp + 0x208]
sub eax, 0x655b85fa
mov dword [esp + 0x1e8], eax
jg 0x49a955
jmp 0x49a013
mov eax, dword [esp + 0x208]
sub eax, 0x62933a6d
mov dword [esp + 0x1e4], eax
jg 0x49a937
jmp 0x49a031
mov eax, dword [esp + 0x208]
sub eax, 0x8db71e65
mov dword [esp + 0x1e0], eax
jg 0x49a06d
jmp 0x49a04f
mov eax, dword [esp + 0x208]
sub eax, 0x8c0c385e
mov dword [esp + 0x1dc], eax
je 0x49b802
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x926ad65f
mov dword [esp + 0x1d8], eax
jg 0x49a0a9
jmp 0x49a08b
mov eax, dword [esp + 0x208]
sub eax, 0x8db71e66
mov dword [esp + 0x1d4], eax
je 0x49b160
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x56de6adc
mov dword [esp + 0x1d0], eax
jg 0x49a919
jmp 0x49a0c7
mov eax, dword [esp + 0x208]
sub eax, 0x56854cbb
mov dword [esp + 0x1cc], eax
jg 0x49a8fb
jmp 0x49a0e5
mov eax, dword [esp + 0x208]
sub eax, 0x522e9315
mov dword [esp + 0x1c8], eax
jg 0x49a8dd
jmp 0x49a103
mov eax, dword [esp + 0x208]
sub eax, 0x4a0601e7
mov dword [esp + 0x1c4], eax
jg 0x49a8bf
jmp 0x49a121
mov eax, dword [esp + 0x208]
sub eax, 0x42b6347d
mov dword [esp + 0x1c0], eax
jg 0x49a8a1
jmp 0x49a13f
mov eax, dword [esp + 0x208]
sub eax, 0x4075b14e
mov dword [esp + 0x1bc], eax
jg 0x49a883
jmp 0x49a15d
mov eax, dword [esp + 0x208]
sub eax, 0x3fc3e5b7
mov dword [esp + 0x1b8], eax
jg 0x49a865
jmp 0x49a17b
mov eax, dword [esp + 0x208]
sub eax, 0x3b691cf4
mov dword [esp + 0x1b4], eax
jg 0x49a847
jmp 0x49a199
mov eax, dword [esp + 0x208]
sub eax, 0x33736870
mov dword [esp + 0x1b0], eax
jg 0x49a829
jmp 0x49a1b7
mov eax, dword [esp + 0x208]
sub eax, 0x2fc31358
mov dword [esp + 0x1ac], eax
jg 0x49a80b
jmp 0x49a1d5
mov eax, dword [esp + 0x208]
sub eax, 0x23b86219
mov dword [esp + 0x1a8], eax
jg 0x49a7ed
jmp 0x49a1f3
mov eax, dword [esp + 0x208]
sub eax, 0x20f579f6
mov dword [esp + 0x1a4], eax
jg 0x49a7cf
jmp 0x49a211
mov eax, dword [esp + 0x208]
sub eax, 0x1dbd39f0
mov dword [esp + 0x1a0], eax
jg 0x49a7b1
jmp 0x49a22f
mov eax, dword [esp + 0x208]
sub eax, 0x1c352b80
mov dword [esp + 0x19c], eax
jg 0x49a793
jmp 0x49a24d
mov eax, dword [esp + 0x208]
sub eax, 0x1c0d9018
mov dword [esp + 0x198], eax
jg 0x49a775
jmp 0x49a26b
mov eax, dword [esp + 0x208]
sub eax, 0x16ab9f3d
mov dword [esp + 0x194], eax
jg 0x49a757
jmp 0x49a289
mov eax, dword [esp + 0x208]
sub eax, 0xadf1fa3
mov dword [esp + 0x190], eax
jg 0x49a739
jmp 0x49a2a7
mov eax, dword [esp + 0x208]
sub eax, 0x727d0c3
mov dword [esp + 0x18c], eax
jg 0x49a71b
jmp 0x49a2c5
mov eax, dword [esp + 0x208]
sub eax, 0x4beb89f
mov dword [esp + 0x188], eax
jg 0x49a6fd
jmp 0x49a2e3
mov eax, dword [esp + 0x208]
sub eax, 0xeeb97d4a
mov dword [esp + 0x184], eax
jg 0x49a6df
jmp 0x49a301
mov eax, dword [esp + 0x208]
sub eax, 0xea4500ba
mov dword [esp + 0x180], eax
jg 0x49a6c1
jmp 0x49a31f
mov eax, dword [esp + 0x208]
sub eax, 0xe7133707
mov dword [esp + 0x17c], eax
jg 0x49a6a3
jmp 0x49a33d
mov eax, dword [esp + 0x208]
sub eax, 0xe3efe855
mov dword [esp + 0x178], eax
jg 0x49a685
jmp 0x49a35b
mov eax, dword [esp + 0x208]
sub eax, 0xe1021591
mov dword [esp + 0x174], eax
jg 0x49a667
jmp 0x49a379
mov eax, dword [esp + 0x208]
sub eax, 0xd65b3bbf
mov dword [esp + 0x170], eax
jg 0x49a649
jmp 0x49a397
mov eax, dword [esp + 0x208]
sub eax, 0xd2fc951a
mov dword [esp + 0x16c], eax
jg 0x49a62b
jmp 0x49a3b5
mov eax, dword [esp + 0x208]
sub eax, 0xd04b9a64
mov dword [esp + 0x168], eax
jg 0x49a60d
jmp 0x49a3d3
mov eax, dword [esp + 0x208]
sub eax, 0xccb634fb
mov dword [esp + 0x164], eax
jg 0x49a5ef
jmp 0x49a3f1
mov eax, dword [esp + 0x208]
sub eax, 0xc719b7ad
mov dword [esp + 0x160], eax
jg 0x49a5d1
jmp 0x49a40f
mov eax, dword [esp + 0x208]
sub eax, 0xc4c96d21
mov dword [esp + 0x15c], eax
jg 0x49a5b3
jmp 0x49a42d
mov eax, dword [esp + 0x208]
sub eax, 0xc0439d21
mov dword [esp + 0x158], eax
jg 0x49a595
jmp 0x49a44b
mov eax, dword [esp + 0x208]
sub eax, 0xbf7a9111
mov dword [esp + 0x154], eax
jg 0x49a577
jmp 0x49a469
mov eax, dword [esp + 0x208]
sub eax, 0xb6822158
mov dword [esp + 0x150], eax
jg 0x49a559
jmp 0x49a487
mov eax, dword [esp + 0x208]
sub eax, 0xa1a3be8b
mov dword [esp + 0x14c], eax
jg 0x49a53b
jmp 0x49a4a5
mov eax, dword [esp + 0x208]
sub eax, 0x96ee2fd3
mov dword [esp + 0x148], eax
jg 0x49a51d
jmp 0x49a4c3
mov eax, dword [esp + 0x208]
sub eax, 0x926ad660
mov dword [esp + 0x144], eax
je 0x49ad74
jmp 0x49a4e1
mov eax, dword [esp + 0x208]
sub eax, 0x928a775b
mov dword [esp + 0x140], eax
je 0x49b170
jmp 0x49a4ff
mov eax, dword [esp + 0x208]
sub eax, 0x94e7c565
mov dword [esp + 0x13c], eax
je 0x49abac
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x96ee2fd4
mov dword [esp + 0x138], eax
je 0x49b190
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xa1a3be8c
mov dword [esp + 0x134], eax
je 0x49b4dd
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xb6822159
mov dword [esp + 0x130], eax
je 0x49b146
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xbf7a9112
mov dword [esp + 0x12c], eax
je 0x49af9d
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xc0439d22
mov dword [esp + 0x128], eax
je 0x49b612
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xc4c96d22
mov dword [esp + 0x124], eax
je 0x49aeaa
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xc719b7ae
mov dword [esp + 0x120], eax
je 0x49b774
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xccb634fc
mov dword [esp + 0x11c], eax
je 0x49b636
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xd04b9a65
mov dword [esp + 0x118], eax
je 0x49b6af
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xd2fc951b
mov dword [esp + 0x114], eax
je 0x49b89f
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xd65b3bc0
mov dword [esp + 0x110], eax
je 0x49a9d2
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xe1021592
mov dword [esp + 0x10c], eax
je 0x49aa14
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xe3efe856
mov dword [esp + 0x108], eax
je 0x49ab89
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xe7133708
mov dword [esp + 0x104], eax
je 0x49b730
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xea4500bb
mov dword [esp + 0x100], eax
je 0x49b4ed
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xeeb97d4b
mov dword [esp + 0xfc], eax
je 0x49b602
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x4beb8a0
mov dword [esp + 0xf8], eax
je 0x49b3af
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x727d0c4
mov dword [esp + 0xf4], eax
je 0x49b73f
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0xadf1fa4
mov dword [esp + 0xf0], eax
je 0x49abff
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x16ab9f3e
mov dword [esp + 0xec], eax
je 0x49b875
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x1c0d9019
mov dword [esp + 0xe8], eax
je 0x49b1c9
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x1c352b81
mov dword [esp + 0xe4], eax
je 0x49ae4b
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x1dbd39f1
mov dword [esp + 0xe0], eax
je 0x49adbf
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x20f579f7
mov dword [esp + 0xdc], eax
je 0x49b1b9
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x23b8621a
mov dword [esp + 0xd8], eax
je 0x49b36e
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x2fc31359
mov dword [esp + 0xd4], eax
je 0x49aa73
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x33736871
mov dword [esp + 0xd0], eax
je 0x49ad51
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x3b691cf5
mov dword [esp + 0xcc], eax
je 0x49a9f8
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x3fc3e5b8
mov dword [esp + 0xc8], eax
je 0x49b655
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x4075b14f
mov dword [esp + 0xc4], eax
je 0x49b228
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x42b6347e
mov dword [esp + 0xc0], eax
je 0x49afc0
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x4a0601e8
mov dword [esp + 0xbc], eax
je 0x49b7bf
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x522e9316
mov dword [esp + 0xb8], eax
je 0x49b180
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x56854cbc
mov dword [esp + 0xb4], eax
je 0x49ac9d
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x56de6add
mov dword [esp + 0xb0], eax
je 0x49b88f
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x62933a6e
mov dword [esp + 0xac], eax
je 0x49b516
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x655b85fb
mov dword [esp + 0xa8], eax
je 0x49adf3
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x78900dd2
mov dword [esp + 0xa4], eax
je 0x49b570
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x7b33638c
mov dword [esp + 0xa0], eax
je 0x49b441
jmp 0x49a9cd
mov eax, dword [esp + 0x208]
sub eax, 0x7ecad45d
mov dword [esp + 0x9c], eax
je 0x49b34b
jmp 0x49a9cd
jmp 0x49b8c0
mov eax, 0xe1021592
mov ecx, 0x3b691cf5
mov edx, dword [esp + 0x2ac]
cmp edx, 0
cmovne eax, ecx
mov dword [esp + 0x218], eax
jmp 0x49b8c0
mov eax, dword [0x4f1168]
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x218], 0xe7133708
jmp 0x49b8c0
mov eax, 0x727d0c4
mov ecx, 0x2fc31359
mov edx, dword [0x4f252c]
mov esi, dword [0x4f2528]
mov edi, edx
sub edi, 0x9017e08
sub edi, 1
add edi, 0x9017e08
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 + 0x218], eax
jmp 0x49b8c0
mov eax, 0
mov dword [esp], 0
mov dword [esp + 0x98], eax
call fcn.0040ab00
mov ecx, 0x727d0c4
mov edx, 0xe3efe856
mov bl, 1
mov esi, dword [esp + 0x2a4]
mov dword [esi], eax
mov dword [esp + 0x22c], eax
cmp dword [esp + 0x22c], 6
setae bh
and bh, 1
mov byte [esp + 0x2b0], bh
mov eax, dword [0x4f252c]
mov esi, dword [0x4f2528]
mov edi, eax
sub edi, 0xec2413a0
sub edi, 1
add edi, 0xec2413a0
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 + 0x97], al
xor al, 1
xor bl, 1
mov byte [esp + 0x96], al
mov al, ah
and al, 1
and bh, bl
mov byte [esp + 0x95], al
mov al, byte [esp + 0x96]
and al, 1
mov byte [esp + 0x94], al
mov al, byte [esp + 0x97]
and al, bl
mov byte [esp + 0x93], al
mov al, byte [esp + 0x95]
or al, bh
mov bh, byte [esp + 0x94]
mov byte [esp + 0x92], al
mov al, byte [esp + 0x93]
or bh, al
mov al, byte [esp + 0x92]
xor al, bh
mov bh, byte [esp + 0x96]
or ah, bh
xor ah, 1
or bl, 1
and ah, bl
or al, ah
test al, 1
cmovne ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
mov eax, 0x1c0d9019
mov ecx, 0x94e7c565
mov dl, byte [esp + 0x2b0]
test dl, 1
cmovne eax, ecx
mov dword [esp + 0x218], eax
jmp 0x49b8c0
mov eax, dword [0x4f2460]
mov ecx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [esp + 0x8c], eax
call ecx
mov ecx, esp
lea edx, [esp + 0x244]
mov dword [ecx], eax
mov dword [ecx + 8], edx
mov dword [ecx + 4], 0x2000000
mov eax, dword [esp + 0x8c]
call eax
sub esp, 0xc
mov ecx, 0x20f579f7
mov edx, 0xadf1fa4
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
mov eax, 0xc719b7ae
mov ecx, 0x56854cbc
mov dl, 1
mov esi, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, esi
sub ebx, 0xa4e14c6f
sub ebx, 1
add ebx, 0xa4e14c6f
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 + 0x88], eax
mov al, bl
xor al, 1
xor dl, 1
mov ah, bh
and ah, 1
and dh, dl
mov byte [esp + 0x87], al
and al, 1
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [esp + 0x87]
or bh, al
xor bh, 1
or dl, 1
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [esp + 0x88]
cmovne esi, ecx
mov dword [esp + 0x218], esi
jmp 0x49b8c0
mov eax, dword [0x4f245c]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x244]
mov esi, esp
mov dword [esi + 0xc], ecx
mov dword [esi + 8], 0
mov dword [esi + 4], 0x19
lea ecx, [esp + 0x230]
mov dword [esi], edx
mov dword [esi + 0x10], ecx
call eax
sub esp, 0x14
mov ecx, 0xc719b7ae
mov edx, 0x33736871
cmp dword [esp + 0x230], 0
setne bl
and bl, 1
mov byte [esp + 0x2b1], bl
mov esi, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, esi
sub ebx, 0x1b0b5c34
sub ebx, 1
add ebx, 0x1b0b5c34
imul esi, ebx
and esi, 1
cmp esi, 0
sete bl
cmp edi, 0xa
setl bh
mov dword [esp + 0x80], eax
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
cmovne ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
mov eax, 0x96ee2fd4
mov ecx, 0x926ad660
mov dl, byte [esp + 0x2b1]
test dl, 1
cmovne eax, ecx
mov dword [esp + 0x218], eax
jmp 0x49b8c0
mov eax, 1
mov ecx, dword [esp + 0x230]
mov dword [esp], ecx
mov dword [esp + 4], 1
mov dword [esp + 0x7c], eax
call fcn.004ce793
mov ecx, 0x655b85fb
mov edx, 0x1dbd39f1
mov dword [esp + 0x248], eax
cmp dword [esp + 0x248], 0
cmove ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
mov eax, dword [esp + 0x244]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov dword [esp + 0x2a8], 0xffffffff
mov dword [esp + 0x218], 0xe7133708
mov dword [esp + 0x78], eax
jmp 0x49b8c0
mov eax, dword [0x4f245c]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x248]
mov esi, dword [esp + 0x244]
mov edi, esp
mov dword [edi + 0xc], ecx
mov dword [edi + 8], edx
lea ecx, [esp + 0x230]
mov dword [edi], esi
mov dword [edi + 0x10], ecx
mov dword [edi + 4], 0x19
call eax
sub esp, 0x14
mov ecx, 0x522e9316
mov edx, 0x1c352b81
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
mov eax, 0x4a0601e8
mov ecx, 0xc4c96d22
mov edx, dword [0x4f252c]
mov esi, dword [0x4f2528]
mov edi, edx
add edi, 0x63e044ae
sub edi, 1
sub edi, 0x63e044ae
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 + 0x218], eax
jmp 0x49b8c0
mov eax, dword [esp + 0x248]
mov dword [esp + 0x2a0], eax
mov eax, dword [0x4f2458]
mov ecx, dword [esp + 0x2a0]
mov ecx, dword [ecx]
mov edx, esp
lea esi, [esp + 0x29c]
mov dword [edx + 4], esi
mov dword [edx], ecx
call eax
sub esp, 8
mov ecx, 0x4a0601e8
mov edx, 0xbf7a9112
mov bl, 1
mov esi, 0
cmp eax, 0
setne bh
and bh, 1
mov byte [esp + 0x2b2], bh
mov eax, dword [0x4f252c]
mov edi, dword [0x4f2528]
sub esi, 1
mov dword [esp + 0x74], eax
add eax, esi
mov esi, dword [esp + 0x74]
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 + 0x73], al
xor al, 1
xor bl, 1
mov byte [esp + 0x72], al
mov al, ah
and al, 1
and bh, bl
mov byte [esp + 0x71], al
mov al, byte [esp + 0x72]
and al, 1
mov byte [esp + 0x70], al
mov al, byte [esp + 0x73]
and al, bl
mov byte [esp + 0x6f], al
mov al, byte [esp + 0x71]
or al, bh
mov bh, byte [esp + 0x70]
mov byte [esp + 0x6e], al
mov al, byte [esp + 0x6f]
or bh, al
mov al, byte [esp + 0x6e]
xor al, bh
mov bh, byte [esp + 0x72]
or ah, bh
xor ah, 1
or bl, 1
and ah, bl
or al, ah
test al, 1
cmovne ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
mov eax, 0x928a775b
mov ecx, 0x42b6347e
mov dl, byte [esp + 0x2b2]
test dl, 1
cmovne eax, ecx
mov dword [esp + 0x218], eax
jmp 0x49b8c0
lea eax, [esp + 0x274]
mov ecx, dword [0x4e4754]
movzx ecx, word [ecx]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x228]
add ecx, 0xfa17afd8
add ecx, 1
sub ecx, 0xfa17afd8
mov edx, dword [0x4e4754]
movzx ecx, word [edx + ecx*2]
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x224]
mov edx, dword [0x4e4754]
mov esi, dword [esp + 0x228]
shl esi, 1
add edx, esi
add edx, 4
mov esi, dword [0x4e4754]
add esi, 2
mov edi, dword [esp + 0x228]
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.0040c010
lea eax, [esp + 0x24c]
mov ecx, dword [0x4e4758]
movzx ecx, word [ecx]
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0x220]
add ecx, 0x76f9b03d
add ecx, 1
sub ecx, 0x76f9b03d
mov edx, dword [0x4e4758]
movzx ecx, word [edx + ecx*2]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x21c]
mov edx, dword [0x4e4758]
mov esi, dword [esp + 0x220]
shl esi, 1
add edx, esi
add edx, 4
mov esi, dword [0x4e4758]
add esi, 2
mov edi, dword [esp + 0x220]
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.0040c010
lea eax, [esp + 0x274]
mov ecx, dword [esp + 0x29c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414e00
mov ecx, 0xb6822159
mov edx, 0x874018bb
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
lea eax, [esp + 0x24c]
mov ecx, dword [esp + 0x29c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414e00
mov ecx, 0xb6822159
mov edx, 0x8db71e66
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
mov dword [0x4f1168], 1
mov dword [esp + 0x218], 0x8db71e66
jmp 0x49b8c0
mov dword [esp + 0x218], 0x928a775b
jmp 0x49b8c0
mov dword [esp + 0x218], 0x522e9316
jmp 0x49b8c0
mov dword [esp + 0x218], 0x96ee2fd4
jmp 0x49b8c0
mov eax, dword [esp + 0x244]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov dword [esp + 0x218], 0x20f579f7
mov dword [esp + 0x68], eax
jmp 0x49b8c0
mov dword [esp + 0x218], 0xc0439d22
jmp 0x49b8c0
mov eax, 0x8c0c385e
mov ecx, 0x4075b14f
mov edx, dword [0x4f252c]
mov esi, dword [0x4f2528]
mov edi, edx
sub edi, 0x95e6b7e9
sub edi, 1
add edi, 0x95e6b7e9
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 + 0x218], eax
jmp 0x49b8c0
lea eax, [esp + 0x234]
mov ecx, dword [0x4f2454]
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 + 0x238]
mov dword [edx], eax
mov dword [edx + 0x14], 0
mov dword [edx + 4], 2
call ecx
sub esp, 0x2c
mov ecx, 0x8c0c385e
mov edx, 0x7ecad45d
mov bl, 1
mov esi, 0
cmp eax, 0
setne bh
and bh, 1
mov byte [esp + 0x2b3], bh
mov eax, dword [0x4f252c]
mov edi, dword [0x4f2528]
sub esi, 1
mov dword [esp + 0x64], eax
add eax, esi
mov esi, dword [esp + 0x64]
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 + 0x63], al
xor al, 1
xor bl, 1
mov byte [esp + 0x62], al
mov al, ah
and al, 1
and bh, bl
mov byte [esp + 0x61], al
mov al, byte [esp + 0x62]
and al, 1
mov byte [esp + 0x60], al
mov al, byte [esp + 0x63]
and al, bl
mov byte [esp + 0x5f], al
mov al, byte [esp + 0x61]
or al, bh
mov bh, byte [esp + 0x60]
mov byte [esp + 0x5e], al
mov al, byte [esp + 0x5f]
or bh, al
mov al, byte [esp + 0x5e]
xor al, bh
mov bh, byte [esp + 0x62]
or ah, bh
xor ah, 1
or bl, 1
and ah, bl
or al, ah
test al, 1
cmovne ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
mov eax, 0x62933a6e
mov ecx, 0x23b8621a
mov dl, byte [esp + 0x2b3]
test dl, 1
cmovne eax, ecx
mov dword [esp + 0x218], eax
jmp 0x49b8c0
mov eax, dword [0x4f2450]
mov ecx, dword [esp + 0x234]
mov edx, esp
mov dword [edx + 8], 0x4f1168
mov dword [edx + 4], ecx
mov dword [edx], 0
call eax
sub esp, 0xc
mov ecx, 0x4beb8a0
mov edx, 0xea4500bb
cmp eax, 0
cmovne ecx, edx
mov dword [esp + 0x218], ecx
jmp 0x49b8c0
mov eax, 0x16ab9f3e
mov ecx, 0x7b33638c
mov dl, 1
mov esi, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, esi
sub ebx, 0xb930f90d
sub ebx, 1
add ebx, 0xb930f90d
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 + 0x58], eax
mov al, bl
xor al, 1
xor dl, 0
mov ah, bh
and ah, 0
and dh, dl
mov byte [esp + 0x57], al
and al, 0
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [esp + 0x57]
or bh, al
xor bh, 1
or dl, 0
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [esp + 0x58]
cmovne esi, ecx
mov dword [esp + 0x218], esi
jmp 0x49b8c0
mov eax, 0x16ab9f3e
mov ecx, 0xa1a3be8c
mov dl, 1
mov dword [0x4f1168], 0
mov esi, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, esi
add ebx, 0xbbe7ac30
sub ebx, 1
sub ebx, 0xbbe7ac30
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 + 0x50], eax
mov al, bl
xor al, 1
xor dl, 0
mov ah, bh
and ah, 0
and dh, dl
mov byte [esp + 0x4f], al
and al, 0
and bl, dl
or ah, dh
or al, bl
xor ah, al
mov al, byte [esp + 0x4f]
or bh, al
xor bh, 1
or dl, 0
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [esp + 0x50]
cmovne esi, ecx
mov dword [esp + 0x218], esi
jmp 0x49b8c0
mov dword [esp + 0x218], 0xea4500bb
jmp 0x49b8c0
mov eax, dword [0x4f244c]
mov ecx, dword [esp + 0x234]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [esp + 0x218], 0x62933a6e
mov dword [esp + 0x48], eax
jmp 0x49b8c0
mov eax, 0x56de6add
mov ecx, 0x78900dd2
mov edx, 0
mov esi, dword [0x4f252c]
mov edi, dword [0x4f2528]
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 + 0x218], eax
jmp 0x49b8c0
mov eax, 0x56de6add
mov ecx, 0xeeb97d4b
mov dl, 1
mov esi, dword [0x4f252c]
mov edi, dword [0x4f2528]
mov ebx, esi
sub ebx, 0x5453c108
sub ebx, 1
add ebx, 0x5453c108
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, 1
mov ah, bh
and ah, 1
and dh, dl
mov byte [esp + 0x43], al
and al, 1
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, 1
and bh, dl
or ah, bh
test ah, 1
mov esi, dword [esp + 0x44]
cmovne esi, ecx
mov dword [esp + 0x218], esi
jmp 0x49b8c0
mov dword [esp + 0x218], 0xc0439d22
jmp 0x49b8c0
mov eax, 0x3fc3e5b8
mov ecx, 0xccb634fc
cmp dword [esp + 0x248], 0
cmovne eax, ecx
mov dword [esp + 0x218], eax
jmp 0x49b8c0
mov eax, dword [esp + 0x248]
mov dword [esp], eax
call fcn.004ce75b
mov dword [esp + 0x218], 0x3fc3e5b8
jmp 0x49b8c0
mov eax, 0xd2fc951b
mov ecx, 0xd04b9a65
mov edx, 0
mov esi, dword [0x4f252c]
mov edi, dword [0x4f2528]
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 + 0x218], eax
jmp 0x49b8c0
mov eax, 0xd2fc951b
mov ecx, 0x80652960
mov edx, 0
mov dword [0x4f1164], 1
mov esi, dword [0x4f1168]
mov dword [esp + 0x2a8], esi
mov esi, dword [0x4f252c]
mov edi, dword [0x4f2528]
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 + 0x218], eax
jmp 0x49b8c0
mov dword [esp + 0x218], 0xe7133708
jmp 0x49b8c0
mov eax, dword [esp + 0x2a8]
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.0040ab00
mov ecx, dword [esp + 0x2a4]
mov dword [ecx], eax
mov dword [esp + 0x22c], eax
mov dword [esp + 0x218], 0x2fc31359
jmp 0x49b8c0
mov eax, dword [0x4f245c]
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x244]
mov esi, esp
mov dword [esi + 0xc], ecx
mov dword [esi + 8], 0
mov dword [esi + 4], 0x19
lea ecx, [esp + 0x230]
mov dword [esi], edx
mov dword [esi + 0x10], ecx
call eax
sub esp, 0x14
mov dword [esp + 0x218], 0x56854cbc
mov dword [esp + 0x38], eax
jmp 0x49b8c0
mov eax, dword [esp + 0x248]
mov dword [esp + 0x2a0], eax
mov eax, dword [0x4f2458]
mov ecx, dword [esp + 0x2a0]
mov ecx, dword [ecx]
mov edx, esp
lea esi, [esp + 0x29c]
mov dword [edx + 4], esi
mov dword [edx], ecx
call eax
sub esp, 8
mov dword [esp + 0x218], 0xc4c96d22
mov dword [esp + 0x34], eax
jmp 0x49b8c0
lea eax, [esp + 0x234]
mov ecx, dword [0x4f2454]
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 + 0x238]
mov dword [edx], eax
mov dword [edx + 0x14], 0
mov dword [edx + 4], 2
call ecx
sub esp, 0x2c
mov dword [esp + 0x218], 0x4075b14f
mov dword [esp + 0x30], eax
jmp 0x49b8c0
mov dword [0x4f1168], 0
mov dword [esp + 0x218], 0x7b33638c
jmp 0x49b8c0
mov dword [esp + 0x218], 0x78900dd2
jmp 0x49b8c0
mov dword [0x4f1164], 1
mov eax, dword [0x4f1168]
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x218], 0xd04b9a65
jmp 0x499f19