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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x218
mov esi, esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x1cc], 0x7c96d7a1
mov dword [esi + 0x1c4], eax
mov eax, dword [esi + 0x1cc]
mov ecx, eax
sub ecx, 0x7c96d7a0
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1bc], ecx
jg 0x405968
jmp 0x4050fc
mov eax, dword [esi + 0x1c0]
sub eax, 0x755b73e5
mov dword [esi + 0x1b8], eax
jg 0x40594c
jmp 0x405118
mov eax, dword [esi + 0x1c0]
sub eax, 0x70d048ec
mov dword [esi + 0x1b4], eax
jg 0x405930
jmp 0x405134
mov eax, dword [esi + 0x1c0]
sub eax, 0x6e6b71e6
mov dword [esi + 0x1b0], eax
jg 0x405914
jmp 0x405150
mov eax, dword [esi + 0x1c0]
sub eax, 0x671b3353
mov dword [esi + 0x1ac], eax
jg 0x4058f8
jmp 0x40516c
mov eax, dword [esi + 0x1c0]
sub eax, 0x5b9c205f
mov dword [esi + 0x1a8], eax
jg 0x4058dc
jmp 0x405188
mov eax, dword [esi + 0x1c0]
sub eax, 0x52671499
mov dword [esi + 0x1a4], eax
jg 0x4058c0
jmp 0x4051a4
mov eax, dword [esi + 0x1c0]
sub eax, 0x4ba38a2f
mov dword [esi + 0x1a0], eax
jg 0x4058a4
jmp 0x4051c0
mov eax, dword [esi + 0x1c0]
sub eax, 0x4a2d306d
mov dword [esi + 0x19c], eax
jg 0x405888
jmp 0x4051dc
mov eax, dword [esi + 0x1c0]
sub eax, 0x4919e47a
mov dword [esi + 0x198], eax
jg 0x40586c
jmp 0x4051f8
mov eax, dword [esi + 0x1c0]
sub eax, 0x3fe4638b
mov dword [esi + 0x194], eax
jg 0x405850
jmp 0x405214
mov eax, dword [esi + 0x1c0]
sub eax, 0x3c5d1bcb
mov dword [esi + 0x190], eax
jg 0x405834
jmp 0x405230
mov eax, dword [esi + 0x1c0]
sub eax, 0x326d51ed
mov dword [esi + 0x18c], eax
jg 0x405818
jmp 0x40524c
mov eax, dword [esi + 0x1c0]
sub eax, 0x2e1428bb
mov dword [esi + 0x188], eax
jg 0x4057fc
jmp 0x405268
mov eax, dword [esi + 0x1c0]
sub eax, 0x28f97d78
mov dword [esi + 0x184], eax
jg 0x4057e0
jmp 0x405284
mov eax, dword [esi + 0x1c0]
sub eax, 0x24434588
mov dword [esi + 0x180], eax
jg 0x4057c4
jmp 0x4052a0
mov eax, dword [esi + 0x1c0]
sub eax, 0x18c43ccc
mov dword [esi + 0x17c], eax
jg 0x4057a8
jmp 0x4052bc
mov eax, dword [esi + 0x1c0]
sub eax, 0x17e4cb1e
mov dword [esi + 0x178], eax
jg 0x40578c
jmp 0x4052d8
mov eax, dword [esi + 0x1c0]
sub eax, 0x863a62d7
mov dword [esi + 0x174], eax
jg 0x405310
jmp 0x4052f4
mov eax, dword [esi + 0x1c0]
sub eax, 0x85d10e02
mov dword [esi + 0x170], eax
je 0x4061d8
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x978dba73
mov dword [esi + 0x16c], eax
jg 0x405348
jmp 0x40532c
mov eax, dword [esi + 0x1c0]
sub eax, 0x863a62d8
mov dword [esi + 0x168], eax
je 0x405dc5
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x99deac15
mov dword [esi + 0x164], eax
jg 0x405380
jmp 0x405364
mov eax, dword [esi + 0x1c0]
sub eax, 0x978dba74
mov dword [esi + 0x160], eax
je 0x406244
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xaed02b95
mov dword [esi + 0x15c], eax
jg 0x4053b8
jmp 0x40539c
mov eax, dword [esi + 0x1c0]
sub eax, 0x99deac16
mov dword [esi + 0x158], eax
je 0x405faf
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xaf2829f9
mov dword [esi + 0x154], eax
jg 0x4053f0
jmp 0x4053d4
mov eax, dword [esi + 0x1c0]
sub eax, 0xaed02b96
mov dword [esi + 0x150], eax
je 0x406235
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xb051a4f7
mov dword [esi + 0x14c], eax
jg 0x405428
jmp 0x40540c
mov eax, dword [esi + 0x1c0]
sub eax, 0xaf2829fa
mov dword [esi + 0x148], eax
je 0x406044
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xb5fcaf0c
mov dword [esi + 0x144], eax
jg 0x405460
jmp 0x405444
mov eax, dword [esi + 0x1c0]
sub eax, 0xb051a4f8
mov dword [esi + 0x140], eax
je 0x40600d
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xb9f0d0d7
mov dword [esi + 0x13c], eax
jg 0x405498
jmp 0x40547c
mov eax, dword [esi + 0x1c0]
sub eax, 0xb5fcaf0d
mov dword [esi + 0x138], eax
je 0x4061a5
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xc3322360
mov dword [esi + 0x134], eax
jg 0x4054d0
jmp 0x4054b4
mov eax, dword [esi + 0x1c0]
sub eax, 0xb9f0d0d8
mov dword [esi + 0x130], eax
je 0x405bd5
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xc6e5a0f4
mov dword [esi + 0x12c], eax
jg 0x405508
jmp 0x4054ec
mov eax, dword [esi + 0x1c0]
sub eax, 0xc3322361
mov dword [esi + 0x128], eax
je 0x4061fd
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xc9c7a22e
mov dword [esi + 0x124], eax
jg 0x405540
jmp 0x405524
mov eax, dword [esi + 0x1c0]
sub eax, 0xc6e5a0f5
mov dword [esi + 0x120], eax
je 0x405bb9
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xda136b1c
mov dword [esi + 0x11c], eax
jg 0x405578
jmp 0x40555c
mov eax, dword [esi + 0x1c0]
sub eax, 0xc9c7a22f
mov dword [esi + 0x118], eax
je 0x405999
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xe330f6a8
mov dword [esi + 0x114], eax
jg 0x4055b0
jmp 0x405594
mov eax, dword [esi + 0x1c0]
sub eax, 0xda136b1d
mov dword [esi + 0x110], eax
je 0x405d53
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xe699e881
mov dword [esi + 0x10c], eax
jg 0x4055e8
jmp 0x4055cc
mov eax, dword [esi + 0x1c0]
sub eax, 0xe330f6a9
mov dword [esi + 0x108], eax
je 0x406254
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xec3be608
mov dword [esi + 0x104], eax
jg 0x405620
jmp 0x405604
mov eax, dword [esi + 0x1c0]
sub eax, 0xe699e882
mov dword [esi + 0x100], eax
je 0x405ccd
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xf30df692
mov dword [esi + 0xfc], eax
jg 0x405658
jmp 0x40563c
mov eax, dword [esi + 0x1c0]
sub eax, 0xec3be609
mov dword [esi + 0xf8], eax
je 0x405e44
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xfd51d609
mov dword [esi + 0xf4], eax
jg 0x405690
jmp 0x405674
mov eax, dword [esi + 0x1c0]
sub eax, 0xf30df693
mov dword [esi + 0xf0], eax
je 0x406103
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x821ad9f
mov dword [esi + 0xec], eax
jg 0x4056c8
jmp 0x4056ac
mov eax, dword [esi + 0x1c0]
sub eax, 0xfd51d60a
mov dword [esi + 0xe8], eax
je 0x406053
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0xac38e22
mov dword [esi + 0xe4], eax
jg 0x405700
jmp 0x4056e4
mov eax, dword [esi + 0x1c0]
sub eax, 0x821ada0
mov dword [esi + 0xe0], eax
je 0x406410
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x13b32b26
mov dword [esi + 0xdc], eax
jg 0x405738
jmp 0x40571c
mov eax, dword [esi + 0x1c0]
sub eax, 0xac38e23
mov dword [esi + 0xd8], eax
je 0x405fd0
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x13b32b27
mov dword [esi + 0xd4], eax
je 0x4063bc
jmp 0x405754
mov eax, dword [esi + 0x1c0]
sub eax, 0x13ea9367
mov dword [esi + 0xd0], eax
je 0x406144
jmp 0x405770
mov eax, dword [esi + 0x1c0]
sub eax, 0x13f64dd9
mov dword [esi + 0xcc], eax
je 0x405d63
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x17e4cb1f
mov dword [esi + 0xc8], eax
je 0x406595
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x18c43ccd
mov dword [esi + 0xc4], eax
je 0x406026
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x24434589
mov dword [esi + 0xc0], eax
je 0x40608a
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x28f97d79
mov dword [esi + 0xbc], eax
je 0x40607b
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x2e1428bc
mov dword [esi + 0xb8], eax
je 0x406035
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x326d51ee
mov dword [esi + 0xb4], eax
je 0x405d1f
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x3c5d1bcc
mov dword [esi + 0xb0], eax
je 0x4061b4
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x3fe4638c
mov dword [esi + 0xac], eax
je 0x40620d
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x4919e47b
mov dword [esi + 0xa8], eax
je 0x405de6
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x4a2d306e
mov dword [esi + 0xa4], eax
je 0x40616d
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x4ba38a30
mov dword [esi + 0xa0], eax
je 0x405c25
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x5267149a
mov dword [esi + 0x9c], eax
je 0x40615d
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x5b9c2060
mov dword [esi + 0x98], eax
je 0x405e34
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x671b3354
mov dword [esi + 0x94], eax
je 0x405b98
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x6e6b71e7
mov dword [esi + 0x90], eax
je 0x40656d
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x70d048ed
mov dword [esi + 0x8c], eax
je 0x405c6e
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x755b73e6
mov dword [esi + 0x88], eax
je 0x406196
jmp 0x405984
mov eax, dword [esi + 0x1c0]
sub eax, 0x7c96d7a1
mov dword [esi + 0x84], eax
je 0x405989
jmp 0x405984
jmp 0x4065b6
mov eax, 0xc9c7a22f
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov eax, 0x671b3354
mov ecx, 0
mov edx, 0x28
mov edi, 4
mov dword [esi + 0x80], eax
mov eax, edi
mov dword [esi + 0x7c], edi
mov dword [esi + 0x78], ecx
mov dword [esi + 0x74], edx
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1d0], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1d4], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1d8], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1dc], eax
mov eax, 0x28
mov dword [esi + 0x70], eax
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1e0], eax
mov eax, dword [esi + 0x70]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1e4], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1e8], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1ec], eax
mov eax, 8
call fcn.0041c210
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x1f0], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1f4], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1f8], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x1fc], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x200], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x204], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x208], eax
mov eax, dword [esi + 0x7c]
call fcn.0041c210
mov eax, esp
mov dword [esi + 0x20c], eax
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1c4]
mov dword [eax], ecx
mov eax, dword [esi + 0x1d8]
mov dword [eax], 0
mov eax, dword [esi + 0x1dc]
mov dword [eax], 0
mov eax, dword [esi + 0x1e0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x28
call fcn.0041bd70
add esp, 0xc
mov eax, dword [esi + 0x1e4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x28
call fcn.0041bd70
add esp, 0xc
mov eax, dword [esi + 0x1e8]
mov dword [eax], 0
mov eax, dword [esi + 0x1ec]
mov dword [eax], 0
mov eax, dword [esi + 0x1f0]
mov ecx, dword [0x4f24c4]
mov dword [eax], ecx
mov bx, word [0x4f24c8]
mov word [eax + 4], bx
mov eax, dword [esi + 0x1f8]
mov dword [eax], 0
cmp dword [0x4ffbe4], 0
setne al
and al, 1
mov byte [esi + 0x211], al
mov ecx, dword [esi + 0x80]
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov eax, 0xb9f0d0d8
mov ecx, 0xc6e5a0f5
mov dl, byte [esi + 0x211]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov eax, dword [0x4ffbe8]
mov ecx, dword [esi + 0x1d0]
mov dword [ecx], eax
mov dword [esi + 0x1cc], 0x978dba74
jmp 0x4065b6
mov eax, 0
sub esp, 4
mov dword [esp], 0
mov dword [esi + 0x6c], eax
call fcn.00432f40
add esp, 4
mov ecx, 0x24434589
mov edx, 0x4ba38a30
mov edi, dword [esi + 0x1d4]
mov edi, dword [edi]
mov dword [edi], eax
mov edi, dword [esi + 0x1fc]
mov dword [edi], eax
mov eax, dword [esi + 0x1fc]
cmp dword [eax], 6
cmovae ecx, edx
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov eax, dword [0x500dd8]
mov ecx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [esi + 0x68], eax
call ecx
mov ecx, dword [esi + 0x1ec]
sub esp, 0xc
mov edx, esp
mov dword [edx + 8], ecx
mov dword [edx], eax
mov dword [edx + 4], 0x2000000
mov eax, dword [esi + 0x68]
call eax
mov ecx, 0x28f97d79
mov edx, 0x70d048ed
cmp eax, 0
cmovne ecx, edx
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov eax, dword [0x500dd4]
mov ecx, dword [esi + 0x1f8]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x1ec]
mov edx, dword [edx]
mov edi, dword [esi + 0x1f8]
sub esp, 0x14
mov ebx, esp
mov dword [ebx + 0x10], edi
mov dword [ebx + 0xc], ecx
mov dword [ebx], edx
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0x19
call eax
mov ecx, 0xfd51d60a
mov edx, 0xe699e882
mov edi, dword [esi + 0x1f8]
cmp dword [edi], 0
cmovne ecx, edx
mov dword [esi + 0x1cc], ecx
mov dword [esi + 0x64], eax
jmp 0x4065b6
mov eax, 1
mov ecx, dword [esi + 0x1f8]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], 1
mov dword [esi + 0x60], eax
call fcn.0041be38
add esp, 8
mov ecx, 0xda136b1d
mov edx, 0x326d51ee
mov edi, dword [esi + 0x1e8]
mov dword [edi], eax
mov eax, dword [esi + 0x1e8]
cmp dword [eax], 0
cmove ecx, edx
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov eax, dword [esi + 0x1ec]
mov eax, dword [eax]
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
mov ecx, dword [esi + 0x1d0]
mov dword [ecx], 0xffffffff
mov dword [esi + 0x1cc], 0x978dba74
mov dword [esi + 0x5c], eax
jmp 0x4065b6
mov eax, 0x13f64dd9
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov eax, dword [0x500dd4]
mov ecx, dword [esi + 0x1f8]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x1e8]
mov edx, dword [edx]
mov edi, dword [esi + 0x1ec]
mov edi, dword [edi]
mov ebx, dword [esi + 0x1f8]
sub esp, 0x14
mov dword [esi + 0x58], eax
mov eax, esp
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax], edi
mov dword [eax + 4], 0x19
mov eax, dword [esi + 0x58]
call eax
mov ecx, 0x863a62d8
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x212], al
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov eax, 0xaf2829fa
mov ecx, 0x4919e47b
mov dl, byte [esi + 0x212]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov eax, dword [esi + 0x1e8]
mov eax, dword [eax]
mov ecx, dword [esi + 0x1d8]
mov dword [ecx], eax
mov eax, dword [0x500dd0]
mov ecx, dword [esi + 0x1d8]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x1dc]
sub esp, 8
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], ecx
call eax
mov ecx, 0x2e1428bc
mov edx, 0x5b9c2060
cmp eax, 0
cmovne ecx, edx
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov eax, 0xec3be609
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov eax, 0
mov ecx, dword [0x4f24cc]
movzx ecx, word [ecx]
mov edx, dword [esi + 0x200]
mov dword [edx], ecx
mov ecx, dword [esi + 0x200]
mov ecx, dword [ecx]
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 1
add edx, ecx
sub eax, edx
mov ecx, dword [0x4f24cc]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esi + 0x204]
mov dword [ecx], eax
mov eax, dword [esi + 0x204]
mov eax, dword [eax]
mov ecx, dword [0x4f24cc]
mov edx, dword [esi + 0x200]
mov edx, dword [edx]
shl edx, 1
add ecx, edx
add ecx, 4
mov edx, dword [0x4f24cc]
add edx, 2
mov edi, dword [esi + 0x200]
mov edi, dword [edi]
mov ebx, dword [esi + 0x1e0]
sub esp, 0x14
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004334d0
add esp, 0x14
mov eax, dword [0x4f24d0]
movzx eax, word [eax]
mov ecx, dword [esi + 0x208]
mov dword [ecx], eax
mov eax, dword [esi + 0x208]
mov eax, dword [eax]
add eax, 0x46895e1e
add eax, 1
sub eax, 0x46895e1e
mov ecx, dword [0x4f24d0]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esi + 0x20c]
mov dword [ecx], eax
mov eax, dword [esi + 0x20c]
mov eax, dword [eax]
mov ecx, dword [0x4f24d0]
mov edx, dword [esi + 0x208]
mov edx, dword [edx]
shl edx, 1
add ecx, edx
add ecx, 4
mov edx, dword [0x4f24d0]
add edx, 2
mov edi, dword [esi + 0x208]
mov edi, dword [edi]
mov ebx, dword [esi + 0x1e4]
sub esp, 0x14
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004334d0
add esp, 0x14
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1dc]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041c444
add esp, 8
mov ecx, 0x99deac16
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x213], al
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov eax, 0xb051a4f8
mov ecx, 0xac38e23
mov dl, byte [esi + 0x213]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov eax, dword [esi + 0x1e4]
mov ecx, dword [esi + 0x1dc]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041c444
add esp, 8
mov ecx, 0xb051a4f8
mov edx, 0x18c43ccd
cmp eax, 0
cmovne ecx, edx
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov dword [0x4ffbe8], 1
mov dword [esi + 0x1cc], 0x18c43ccd
jmp 0x4065b6
mov dword [esi + 0x1cc], 0x2e1428bc
jmp 0x4065b6
mov dword [esi + 0x1cc], 0xaf2829fa
jmp 0x4065b6
mov dword [esi + 0x1cc], 0xfd51d60a
jmp 0x4065b6
mov eax, dword [esi + 0x1ec]
mov eax, dword [eax]
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
mov dword [esi + 0x1cc], 0x28f97d79
mov dword [esi + 0x54], eax
jmp 0x4065b6
mov dword [esi + 0x1cc], 0x3c5d1bcc
jmp 0x4065b6
mov eax, dword [0x500dcc]
mov ecx, dword [esi + 0x1f4]
mov edx, dword [esi + 0x1f0]
sub esp, 0x2c
mov edi, esp
mov dword [edi + 0x28], ecx
mov dword [edi], edx
mov dword [edi + 0x24], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0xc], 0x220
mov dword [edi + 8], 0x20
mov dword [edi + 4], 2
call eax
mov ecx, 0xb5fcaf0d
mov edx, 0xf30df693
cmp eax, 0
cmovne ecx, edx
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov eax, dword [0x500dc8]
mov ecx, dword [esi + 0x1f4]
mov ecx, dword [ecx]
sub esp, 0xc
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx + 8], 0x4ffbe8
mov dword [edx], 0
call eax
mov ecx, 0x13ea9367
mov edx, 0x5267149a
cmp eax, 0
cmovne ecx, edx
mov dword [esi + 0x1cc], ecx
jmp 0x4065b6
mov dword [0x4ffbe8], 0
mov dword [esi + 0x1cc], 0x5267149a
jmp 0x4065b6
mov eax, 0x4a2d306e
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov eax, dword [0x500dc4]
mov ecx, dword [esi + 0x1f4]
mov ecx, dword [ecx]
sub esp, 4
mov edx, esp
mov dword [edx], ecx
call eax
mov ecx, 0x755b73e6
mov dword [esi + 0x1cc], ecx
mov dword [esi + 0x50], eax
jmp 0x4065b6
mov dword [esi + 0x1cc], 0xb5fcaf0d
jmp 0x4065b6
mov dword [esi + 0x1cc], 0x3c5d1bcc
jmp 0x4065b6
mov eax, 0xc3322361
mov ecx, 0x85d10e02
mov edx, dword [esi + 0x1e8]
cmp dword [edx], 0
cmovne eax, ecx
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov eax, dword [esi + 0x1e8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.0041be00
add esp, 4
mov dword [esi + 0x1cc], 0xc3322361
jmp 0x4065b6
mov eax, 0x3fe4638c
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov eax, 0xaed02b96
mov dword [0x4ffbe4], 1
mov ecx, dword [0x4ffbe8]
mov edx, dword [esi + 0x1d0]
mov dword [edx], ecx
mov dword [esi + 0x1cc], eax
jmp 0x4065b6
mov dword [esi + 0x1cc], 0x978dba74
jmp 0x4065b6
mov eax, dword [esi + 0x1d0]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0
mov ecx, 0x28
mov edx, 4
mov dword [esi + 0x4c], eax
mov eax, edx
mov dword [esi + 0x48], edx
mov dword [esi + 0x44], ecx
call fcn.0041c210
mov eax, esp
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x40], eax
mov eax, ecx
call fcn.0041c210
mov eax, esp
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x3c], eax
mov eax, ecx
call fcn.0041c210
mov eax, esp
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x38], eax
mov eax, ecx
call fcn.0041c210
mov eax, esp
mov ecx, 0x28
mov dword [esi + 0x34], eax
mov eax, ecx
mov dword [esi + 0x30], ecx
call fcn.0041c210
mov eax, esp
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x2c], eax
mov eax, ecx
call fcn.0041c210
mov eax, esp
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x28], eax
mov eax, ecx
call fcn.0041c210
mov eax, esp
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x24], eax
mov eax, ecx
call fcn.0041c210
mov eax, esp
mov ecx, 8
mov dword [esi + 0x20], eax
mov eax, ecx
call fcn.0041c210
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x1c], eax
mov eax, ecx
call fcn.0041c210
mov eax, esp
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x18], eax
mov eax, ecx
call fcn.0041c210
mov eax, esp
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x1c4]
mov dword [ecx], edx
mov edi, dword [esi + 0x38]
mov dword [edi], 0
mov ebx, dword [esi + 0x34]
mov dword [ebx], 0
mov ecx, dword [esi + 0x2c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x28
mov dword [esi + 0x14], eax
call fcn.0041bd70
add esp, 0xc
mov eax, dword [esi + 0x28]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x28
call fcn.0041bd70
add esp, 0xc
mov eax, dword [esi + 0x24]
mov dword [eax], 0
mov ecx, dword [esi + 0x20]
mov dword [ecx], 0
mov edx, dword [0x4f24c4]
mov edi, dword [esi + 0x1c]
mov dword [edi], edx
mov di, word [0x4f24c8]
mov edx, dword [esi + 0x1c]
mov word [edx + 4], di
mov ebx, dword [esi + 0x14]
mov dword [ebx], 0
mov dword [esi + 0x1cc], 0xc9c7a22f
jmp 0x4065b6
mov eax, dword [0x500dd4]
mov ecx, dword [esi + 0x1f8]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x1e8]
mov edx, dword [edx]
mov edi, dword [esi + 0x1ec]
mov edi, dword [edi]
mov ebx, dword [esi + 0x1f8]
sub esp, 0x14
mov dword [esi + 0x10], eax
mov eax, esp
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax], edi
mov dword [eax + 4], 0x19
mov eax, dword [esi + 0x10]
call eax
mov dword [esi + 0x1cc], 0x13f64dd9
mov dword [esi + 0xc], eax
jmp 0x4065b6
mov eax, dword [0x4f24cc]
movzx eax, word [eax]
mov ecx, dword [esi + 0x200]
mov dword [ecx], eax
mov eax, dword [esi + 0x200]
mov eax, dword [eax]
add eax, 0x6ef4ada8
add eax, 1
sub eax, 0x6ef4ada8
mov ecx, dword [0x4f24cc]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esi + 0x204]
mov dword [ecx], eax
mov eax, dword [esi + 0x204]
mov eax, dword [eax]
mov ecx, dword [0x4f24cc]
mov edx, dword [esi + 0x200]
mov edx, dword [edx]
shl edx, 1
add ecx, edx
add ecx, 4
mov edx, dword [0x4f24cc]
add edx, 2
mov edi, dword [esi + 0x200]
mov edi, dword [edi]
mov ebx, dword [esi + 0x1e0]
sub esp, 0x14
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004334d0
add esp, 0x14
mov eax, 0
mov ecx, dword [0x4f24d0]
movzx ecx, word [ecx]
mov edx, dword [esi + 0x208]
mov dword [edx], ecx
mov ecx, dword [esi + 0x208]
mov ecx, dword [ecx]
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 1
add edx, ecx
sub eax, edx
mov ecx, dword [0x4f24d0]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esi + 0x20c]
mov dword [ecx], eax
mov eax, dword [esi + 0x20c]
mov eax, dword [eax]
mov ecx, dword [0x4f24d0]
mov edx, dword [esi + 0x208]
mov edx, dword [edx]
shl edx, 1
add ecx, edx
add ecx, 4
mov edx, dword [0x4f24d0]
add edx, 2
mov edi, dword [esi + 0x208]
mov edi, dword [edi]
mov ebx, dword [esi + 0x1e4]
sub esp, 0x14
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004334d0
add esp, 0x14
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1dc]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041c444
add esp, 8
mov dword [esi + 0x1cc], 0xec3be609
mov dword [esi + 8], eax
jmp 0x4065b6
mov eax, dword [0x500dc4]
mov ecx, dword [esi + 0x1f4]
mov ecx, dword [ecx]
sub esp, 4
mov edx, esp
mov dword [edx], ecx
call eax
mov dword [esi + 0x1cc], 0x4a2d306e
mov dword [esi + 4], eax
jmp 0x4065b6
mov dword [0x4ffbe4], 1
mov eax, dword [0x4ffbe8]
mov ecx, dword [esi + 0x1d0]
mov dword [ecx], eax
mov dword [esi + 0x1cc], 0x3fe4638c
jmp 0x4050d7