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

Disassembly:
push 0xffffffffffffffff
push 0x427843
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x42f0f4]
xor eax, esp
mov dword [esp + 0x134], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x42f0f4]
xor eax, esp
push eax
lea eax, [esp + 0x14c]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x40], esi
call fcn.004074f0
lea eax, [esi + 0x74]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00405140
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push eax
mov ecx, esi
mov dword [esp + 0x160], ebx
call fcn.00403a60
mov edi, 0x10
mov dword [esp + 0x154], 0xffffffff
cmp dword [esp + 0x2c], edi
jb 0x40782d
mov edx, dword [esp + 0x18]
push edx
call fcn.0041a65d
add esp, 4
push 0x42935c
add esi, 0x58
lea eax, [esp + 0x18]
push esi
push eax
call fcn.00404c60
add esp, 0xc
cmp dword [eax + 0x18], edi
jb 0x40784d
mov eax, dword [eax + 4]
jmp 0x407850
add eax, 4
push 0x4292f0
push eax
call fcn.0041b10a
add esp, 8
mov esi, eax
mov dword [esp + 0x44], esi
cmp dword [esp + 0x2c], edi
jb 0x407877
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0041a65d
add esp, 4
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
cmp esi, ebx
jne 0x4078a4
push edi
push 0x429434
push 0x429414
push ebx
call dword [0x429204]
xor al, al
jmp 0x408c83
push esi
call fcn.0041b341
add esp, 4
test eax, eax
jne 0x407d87
xor edi, edi
push edi
mov ebx, 0xf
push 0x4292e8
lea ecx, [esp + 0x70]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], edi
mov byte [esp + 0x74], 0
call fcn.00403d50
mov esi, dword [esp + 0x44]
push esi
mov dword [esp + 0x158], 1
call fcn.0041b23d
add esp, 4
mov byte [esp + 0x48], al
cmp al, 0xa
je 0x40792e
mov edi, edi
push esi
call fcn.0041b341
add esp, 4
test eax, eax
jne 0x40792e
mov edx, dword [esp + 0x48]
push edx
push 1
lea ecx, [esp + 0x70]
call fcn.004039b0
push esi
call fcn.0041b23d
add esp, 4
mov byte [esp + 0x48], al
cmp al, 0xa
jne 0x407900
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0xe4]
mov dword [esp + 0xfc], ebx
mov dword [esp + 0xf8], edi
mov byte [esp + 0xe8], 0
call fcn.00403a60
mov eax, dword [esp + 0x6c]
mov esi, 0x10
mov byte [esp + 0x154], 2
cmp dword [esp + 0x80], esi
jae 0x407976
lea eax, [esp + 0x6c]
push edi
push 0x4292e8
push eax
call fcn.00402800
add esp, 0xc
cmp eax, edi
jne 0x407996
xor eax, eax
cmp dword [esp + 0x7c], edi
setne al
cmp eax, edi
je 0x4079f6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0xffffffffffffffff
push edi
lea edx, [esp + 0x8c]
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], edi
push edx
mov byte [ecx + 4], 0
call fcn.00403a60
lea eax, [esp + 0x68]
push eax
call fcn.00405020
add esp, 0x20
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0x74]
mov byte [esp + 0x160], 3
call fcn.00403a60
mov byte [esp + 0x154], 2
cmp dword [esp + 0x64], esi
jb 0x4079f6
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0041a65d
add esp, 4
push 1
push edi
push 0x429354
lea ecx, [esp + 0x74]
call fcn.00402ce0
cmp eax, 0xffffffff
je 0x407d15
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
mov eax, ecx
cmp edx, 0x10
jae 0x407a26
lea eax, [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
lea edi, [eax + ebx]
test edi, edi
je 0x407a51
mov eax, ecx
cmp edx, 0x10
jae 0x407a3c
lea eax, [esp + 0x6c]
cmp eax, edi
ja 0x407a51
mov eax, ecx
cmp edx, 0x10
jae 0x407a4b
lea eax, [esp + 0x6c]
add eax, ebx
cmp edi, eax
jbe 0x407a65
call fcn.0041a7c5
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
cmp edx, 0x10
jb 0x407c2d
mov esi, ecx
test ecx, ecx
je 0x407a94
mov eax, ecx
cmp edx, 0x10
jae 0x407a7f
lea eax, [esp + 0x6c]
cmp eax, esi
ja 0x407a94
mov eax, ecx
cmp edx, 0x10
jae 0x407a8e
lea eax, [esp + 0x6c]
add eax, ebx
cmp esi, eax
jbe 0x407aa8
call fcn.0041a7c5
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x68]
mov ebp, eax
mov dword [esp + 0x34], esi
cmp esi, edi
je 0x407ac0
cmp byte [esi], 0x3d
je 0x407ac0
inc esi
cmp esi, edi
jne 0x407ab6
cmp edx, 0x10
jb 0x407c36
mov edi, ecx
test ecx, ecx
je 0x407aef
mov eax, ecx
cmp edx, 0x10
jae 0x407ada
lea eax, [esp + 0x6c]
cmp eax, edi
ja 0x407aef
mov eax, ecx
cmp edx, 0x10
jae 0x407ae9
lea eax, [esp + 0x6c]
add eax, ebx
cmp edi, eax
jbe 0x407af4
call fcn.0041a7c5
mov edx, dword [esp + 0x30]
push edx
push esi
push ebp
lea eax, [esp + 0x74]
push edi
push eax
lea ecx, [esp + 0x60]
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], 0
mov byte [esp + 0x64], 0
call fcn.00404160
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x6c]
mov byte [esp + 0x154], 4
mov eax, edx
cmp ecx, 0x10
jae 0x407b3d
lea eax, [esp + 0x6c]
mov edi, dword [esp + 0x7c]
lea ebx, [eax + edi]
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x407b6c
mov eax, edx
cmp ecx, 0x10
jae 0x407b57
lea eax, [esp + 0x6c]
cmp eax, ebx
ja 0x407b6c
mov eax, edx
cmp ecx, 0x10
jae 0x407b66
lea eax, [esp + 0x6c]
add eax, edi
cmp ebx, eax
jbe 0x407b80
call fcn.0041a7c5
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x6c]
mov eax, edx
cmp ecx, 0x10
jae 0x407b8b
lea eax, [esp + 0x6c]
lea ebp, [eax + edi]
test ebp, ebp
je 0x407bb2
mov eax, edx
cmp ecx, 0x10
jae 0x407b9d
lea eax, [esp + 0x6c]
cmp eax, ebp
ja 0x407bb2
mov eax, edx
cmp ecx, 0x10
jae 0x407bac
lea eax, [esp + 0x6c]
add eax, edi
cmp ebp, eax
jbe 0x407bc6
call fcn.0041a7c5
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x6c]
cmp ecx, 0x10
jb 0x407c3f
mov esi, edx
test edx, edx
je 0x407bf1
mov eax, edx
cmp ecx, 0x10
jae 0x407bdc
lea eax, [esp + 0x6c]
cmp eax, esi
ja 0x407bf1
mov eax, edx
cmp ecx, 0x10
jae 0x407beb
lea eax, [esp + 0x6c]
add edi, eax
cmp esi, edi
jbe 0x407bf6
call fcn.0041a7c5
lea edi, [esp + 0x68]
mov dword [esp + 0x3c], esi
cmp esi, ebp
je 0x407c0c
cmp byte [esi], 0x3d
je 0x407c0c
inc esi
cmp esi, ebp
jne 0x407c02
mov dword [esp + 0x3c], esi
cmp edi, 0xfffffffc
je 0x407c67
test edi, edi
jne 0x407c1e
call fcn.0041a7c5
mov ebp, dword [edi + 0x18]
lea eax, [edi + 4]
cmp ebp, 0x10
jb 0x407c45
mov ecx, dword [eax]
jmp 0x407c47
lea esi, [esp + 0x6c]
jmp 0x407a74
lea edi, [esp + 0x6c]
jmp 0x407acf
lea esi, [esp + 0x6c]
jmp 0x407bd1
mov ecx, eax
mov ebx, dword [edi + 0x14]
lea edx, [esi + 1]
add ebx, ecx
cmp edx, ebx
ja 0x407c5e
cmp ebp, 0x10
jb 0x407c5a
mov eax, dword [eax]
cmp edx, eax
jae 0x407c63
call fcn.0041a7c5
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
push ecx
push ebx
lea ecx, [esp + 0x70]
push ecx
lea eax, [esi + 1]
push eax
xor ebp, ebp
push edi
lea ecx, [esp + 0xb4]
mov dword [esp + 0xcc], 0xf
mov dword [esp + 0xc8], ebp
mov byte [esp + 0xb8], 0
call fcn.00404160
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x4c]
push edx
add ecx, 0x1c
mov byte [esp + 0x158], 5
call fcn.00406270
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0xa8]
push ecx
mov ecx, eax
call fcn.00403a60
mov esi, 0x10
cmp dword [esp + 0xb8], esi
jb 0x407ce8
mov edx, dword [esp + 0xa4]
push edx
call fcn.0041a65d
add esp, 4
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], ebp
mov byte [esp + 0xa4], 0
cmp dword [esp + 0x64], esi
jb 0x407d15
mov eax, dword [esp + 0x50]
push eax
call fcn.0041a65d
add esp, 4
mov esi, 0x10
cmp dword [esp + 0xf0], esi
jb 0x407d33
mov ecx, dword [esp + 0xdc]
push ecx
call fcn.0041a65d
add esp, 4
mov dword [esp + 0xf0], 0xf
mov dword [esp + 0xec], 0
mov byte [esp + 0xdc], 0
mov dword [esp + 0x154], 0xffffffff
cmp dword [esp + 0x80], esi
jb 0x407d72
mov edx, dword [esp + 0x6c]
push edx
call fcn.0041a65d
add esp, 4
mov eax, dword [esp + 0x44]
push eax
call fcn.0041b341
add esp, 4
test eax, eax
je 0x4078b5
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0041ad0d
add esp, 4
xor esi, esi
push esi
mov edi, 0xf
push 0x4292e8
lea ecx, [esp + 0x8c]
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], esi
mov byte [esp + 0x90], 0
call fcn.00403d50
push 6
push 0x429340
lea ecx, [esp + 0x54]
mov dword [esp + 0x15c], 6
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], esi
mov byte [esp + 0x58], 0
call fcn.00403d50
mov esi, dword [esp + 0x40]
mov ebp, dword [esi + 0x34]
mov ebx, dword [esi + 0x1c]
lea edx, [esp + 0x4c]
add esi, 0x1c
push edx
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
mov byte [esp + 0x15c], 7
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x407e1d
cmp eax, ebx
je 0x407e22
call fcn.0041a7c5
cmp dword [edi + 4], ebp
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x64], 0x10
jb 0x407e44
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0041a65d
add esp, 4
xor ebp, ebp
test bl, bl
je 0x407ee7
push 2
mov edi, 0xf
push 0x429410
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebp
mov byte [esp + 0x58], 0
call fcn.00403d50
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x18]
push 0x429340
push eax
mov byte [esp + 0x160], 8
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 9
call fcn.00403b40
mov ebx, 0x10
cmp dword [esp + 0x2c], ebx
jb 0x407ebf
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0041a65d
add esp, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebp
mov byte [esp + 0x18], 0
mov byte [esp + 0x154], 6
cmp dword [esp + 0x64], ebx
jb 0x407ee7
mov edx, dword [esp + 0x50]
push edx
call fcn.0041a65d
add esp, 4
push 0xa
push 0x429404
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], ebp
mov byte [esp + 0x58], 0
call fcn.00403d50
mov eax, dword [esi]
mov ebx, dword [esi + 0x18]
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov byte [esp + 0x15c], 0xa
mov dword [esp + 0x38], eax
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
cmp eax, ebp
je 0x407f38
cmp eax, dword [esp + 0x30]
je 0x407f3d
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x64], 0x10
jb 0x407f5f
mov eax, dword [esp + 0x50]
push eax
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x408000
push 2
mov ebx, 0xf
push 0x429410
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebp
mov byte [esp + 0x58], 0
call fcn.00403d50
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x18]
push 0x429404
push edx
mov byte [esp + 0x160], 0xb
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 0xc
call fcn.00403b40
mov edi, 0x10
cmp dword [esp + 0x2c], edi
jb 0x407fd8
mov eax, dword [esp + 0x18]
push eax
call fcn.0041a65d
add esp, 4
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebp
mov byte [esp + 0x18], 0
mov byte [esp + 0x154], 6
cmp dword [esp + 0x64], edi
jb 0x408000
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0041a65d
add esp, 4
push 9
push 0x4293f8
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], ebp
mov byte [esp + 0x58], 0
call fcn.00403d50
mov edx, dword [esi]
mov ebx, dword [esi + 0x18]
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
mov byte [esp + 0x15c], 0xd
mov dword [esp + 0x38], edx
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
cmp eax, ebp
je 0x408051
cmp eax, dword [esp + 0x30]
je 0x408056
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x64], 0x10
jb 0x408078
mov edx, dword [esp + 0x50]
push edx
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x408118
push 2
mov ebx, 0xf
push 0x429410
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebp
mov byte [esp + 0x58], 0
call fcn.00403d50
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x18]
push 0x4293f8
push ecx
mov byte [esp + 0x160], 0xe
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], bl
call fcn.00403b40
mov edi, 0x10
cmp dword [esp + 0x2c], edi
jb 0x4080f0
mov edx, dword [esp + 0x18]
push edx
call fcn.0041a65d
add esp, 4
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebp
mov byte [esp + 0x18], 0
mov byte [esp + 0x154], 6
cmp dword [esp + 0x64], edi
jb 0x408118
mov eax, dword [esp + 0x50]
push eax
call fcn.0041a65d
add esp, 4
push 7
push 0x4293f0
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], 0
mov byte [esp + 0x58], 0
call fcn.00403d50
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi]
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov byte [esp + 0x15c], 0x10
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x408167
cmp eax, ebp
je 0x40816c
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x64], 0x10
jb 0x40818e
mov eax, dword [esp + 0x50]
push eax
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x408230
push 2
xor ebx, ebx
mov ebp, 0xf
push 0x429410
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
call fcn.00403d50
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x18]
push 0x4293f0
push edx
mov byte [esp + 0x160], 0x11
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 0x12
call fcn.00403b40
mov edi, 0x10
cmp dword [esp + 0x2c], edi
jb 0x408208
mov eax, dword [esp + 0x18]
push eax
call fcn.0041a65d
add esp, 4
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], 0
mov byte [esp + 0x154], 6
cmp dword [esp + 0x64], edi
jb 0x408230
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0041a65d
add esp, 4
push 7
push 0x429348
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], 0
mov byte [esp + 0x58], 0
call fcn.00403d50
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi]
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
mov byte [esp + 0x15c], 0x13
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x40827f
cmp eax, ebp
je 0x408284
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x64], 0x10
jb 0x4082a6
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x40832a
push 0x429410
lea ecx, [esp + 0x50]
call fcn.00404670
push eax
lea edx, [esp + 0x18]
push 0x429348
push edx
mov byte [esp + 0x160], 0x14
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 0x15
call fcn.00403b40
cmp dword [esp + 0x2c], 0x10
jb 0x408304
mov eax, dword [esp + 0x18]
push eax
call fcn.0041a65d
add esp, 4
lea ecx, [esp + 0x4c]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
mov byte [esp + 0x154], 6
call fcn.00403510
push 0x4293e8
lea ecx, [esp + 0x18]
call fcn.00404670
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov byte [esp + 0x15c], 0x16
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x408362
cmp eax, ebp
je 0x408367
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x2c], 0x10
jb 0x408389
mov eax, dword [esp + 0x18]
push eax
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x4083e9
push 0x429410
lea ecx, [esp + 0x50]
call fcn.00404670
push eax
lea ecx, [esp + 0x18]
push 0x4293e8
push ecx
mov byte [esp + 0x160], 0x17
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 0x18
call fcn.00403b40
lea ecx, [esp + 0x14]
call fcn.00403510
lea ecx, [esp + 0x4c]
mov byte [esp + 0x154], 6
call fcn.00403510
push 0x4293e0
lea ecx, [esp + 0x18]
call fcn.00404670
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
mov byte [esp + 0x15c], 0x19
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x408421
cmp eax, ebp
je 0x408426
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x2c], 0x10
jb 0x408448
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x4084a8
push 0x429410
lea ecx, [esp + 0x50]
call fcn.00404670
push eax
lea edx, [esp + 0x18]
push 0x4293e0
push edx
mov byte [esp + 0x160], 0x1a
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 0x1b
call fcn.00403b40
lea ecx, [esp + 0x14]
call fcn.00403510
lea ecx, [esp + 0x4c]
mov byte [esp + 0x154], 6
call fcn.00403510
push 0x4293d8
lea ecx, [esp + 0x18]
call fcn.00404670
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
mov byte [esp + 0x15c], 0x1c
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x4084e0
cmp eax, ebp
je 0x4084e5
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x2c], 0x10
jb 0x408507
mov edx, dword [esp + 0x18]
push edx
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x408567
push 0x429410
lea ecx, [esp + 0x50]
call fcn.00404670
push eax
lea eax, [esp + 0x18]
push 0x4293d8
push eax
mov byte [esp + 0x160], 0x1d
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 0x1e
call fcn.00403b40
lea ecx, [esp + 0x14]
call fcn.00403510
lea ecx, [esp + 0x4c]
mov byte [esp + 0x154], 6
call fcn.00403510
push 0x4293cc
lea ecx, [esp + 0x18]
call fcn.00404670
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov byte [esp + 0x15c], 0x1f
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x40859f
cmp eax, ebp
je 0x4085a4
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x2c], 0x10
jb 0x4085c6
mov eax, dword [esp + 0x18]
push eax
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x408626
push 0x429410
lea ecx, [esp + 0x50]
call fcn.00404670
push eax
lea ecx, [esp + 0x18]
push 0x4293cc
push ecx
mov byte [esp + 0x160], 0x20
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 0x21
call fcn.00403b40
lea ecx, [esp + 0x14]
call fcn.00403510
lea ecx, [esp + 0x4c]
mov byte [esp + 0x154], 6
call fcn.00403510
push 0x4293c0
lea ecx, [esp + 0x18]
call fcn.00404670
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
mov byte [esp + 0x15c], 0x22
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x40865e
cmp eax, ebp
je 0x408663
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x2c], 0x10
jb 0x408685
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x4086e5
push 0x429410
lea ecx, [esp + 0x50]
call fcn.00404670
push eax
lea edx, [esp + 0x18]
push 0x4293c0
push edx
mov byte [esp + 0x160], 0x23
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 0x24
call fcn.00403b40
lea ecx, [esp + 0x14]
call fcn.00403510
lea ecx, [esp + 0x4c]
mov byte [esp + 0x154], 6
call fcn.00403510
push 0x4293b4
lea ecx, [esp + 0x18]
call fcn.00404670
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
mov byte [esp + 0x15c], 0x25
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x40871d
cmp eax, ebp
je 0x408722
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x2c], 0x10
jb 0x408744
mov edx, dword [esp + 0x18]
push edx
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x4087a4
push 0x429410
lea ecx, [esp + 0x50]
call fcn.00404670
push eax
lea eax, [esp + 0x18]
push 0x4293b4
push eax
mov byte [esp + 0x160], 0x26
call fcn.00404d20
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x160], 0x27
call fcn.00403b40
lea ecx, [esp + 0x14]
call fcn.00403510
lea ecx, [esp + 0x4c]
mov byte [esp + 0x154], 6
call fcn.00403510
push 0x4293a8
lea ecx, [esp + 0x18]
call fcn.00404670
mov ebx, dword [esi + 0x18]
mov ebp, dword [esi]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov byte [esp + 0x15c], 0x28
call fcn.00404320
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x4087dc
cmp eax, ebp
je 0x4087e1
call fcn.0041a7c5
cmp dword [edi + 4], ebx
mov byte [esp + 0x154], 6
sete bl
cmp dword [esp + 0x2c], 0x10
jb 0x408803
mov eax, dword [esp + 0x18]
push eax
call fcn.0041a65d
add esp, 4
test bl, bl
je 0x408848
push 0x4293a8
lea ecx, [esp + 0x18]
call fcn.00404670
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov byte [esp + 0x158], 0x29
call fcn.00406270
push 2
push 0x4293a4
mov ecx, eax
call fcn.00403d50
lea ecx, [esp + 0x14]
mov byte [esp + 0x154], 6
call fcn.00403510
lea edx, [esp + 0x84]
push 0x4292e8
push edx
call fcn.004032e0
add esp, 8
lea ecx, [esp + 0x14]
test al, al
je 0x40898e
push 0x4293f8
call fcn.00404670
mov eax, dword [esi + 0x18]
mov ecx, dword [esi]
lea edx, [esp + 0x30]
mov dword [esp + 0x34], eax
push edx
mov dword [esp + 0x34], ecx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
mov byte [esp + 0x160], 0x2a
call fcn.00404320
mov ecx, eax
call fcn.004028d0
lea ecx, [esp + 0x14]
mov bl, al
mov byte [esp + 0x154], 6
call fcn.00403510
test bl, bl
je 0x4088f9
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0x18]
push 0x429378
push eax
call fcn.00404d20
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x4088e1
mov eax, dword [eax + 4]
jmp 0x4088e4
add eax, 4
push 0x10
push 0x429434
push eax
push 0
call dword [0x429204]
jmp 0x408972
push 0x4293f8
lea ecx, [esp + 0x18]
call fcn.00404670
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0x50]
push 0x429378
push edx
mov byte [esp + 0x160], 0x2b
call fcn.00404d20
add esp, 0xc
mov edi, eax
lea eax, [esp + 0x14]
push eax
mov ecx, esi
mov byte [esp + 0x158], 0x2c
call fcn.00406270
mov ecx, 0x10
cmp dword [eax + 0x18], ecx
jb 0x40894e
mov eax, dword [eax + 4]
jmp 0x408951
add eax, 4
cmp dword [edi + 0x18], ecx
jb 0x40895b
mov edi, dword [edi + 4]
jmp 0x40895e
add edi, 4
push ecx
push eax
push edi
push 0
call dword [0x429204]
lea ecx, [esp + 0x4c]
call fcn.00403510
lea ecx, [esp + 0x14]
call fcn.00403510
lea ecx, [esp + 0x84]
call fcn.00403510
xor al, al
jmp 0x408c83
push 0x429404
call fcn.00404670
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov byte [esp + 0x158], 0x2d
call fcn.00406270
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xc8]
mov dword [esp + 0xe0], 0xf
mov dword [esp + 0xdc], 0
mov byte [esp + 0xcc], 0
call fcn.00403a60
mov bl, 0x2f
lea ecx, [esp + 0x14]
mov byte [esp + 0x154], bl
call fcn.00403510
mov eax, dword [esp + 0xd0]
test eax, eax
jbe 0x408a97
dec eax
push eax
lea ecx, [esp + 0xc0]
call fcn.00402c30
cmp byte [eax], 0x5c
je 0x408a97
mov edx, dword [esp + 0xd0]
dec edx
push edx
lea ecx, [esp + 0xc0]
call fcn.00402c30
cmp byte [eax], bl
je 0x408a97
push 0x429404
lea ecx, [esp + 0x50]
call fcn.00404670
push 0x429328
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xe0]
push ecx
mov byte [esp + 0x160], 0x30
call fcn.00404c60
add esp, 0xc
push eax
lea edx, [esp + 0x50]
push edx
mov ecx, esi
mov byte [esp + 0x15c], 0x31
call fcn.00406270
mov ecx, eax
call fcn.004046b0
lea ecx, [esp + 0xd8]
call fcn.00403510
lea ecx, [esp + 0x4c]
mov byte [esp + 0x154], bl
call fcn.00403510
mov edi, dword [esp + 0x40]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push edi
call fcn.004042f0
mov ecx, edi
call fcn.00406a30
lea eax, [esp + 0x12c]
push eax
mov ecx, edi
call fcn.004070a0
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0x114]
push edx
mov byte [esp + 0x15c], 0x32
call fcn.0040a990
add esp, 8
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0xf8]
push ecx
mov ecx, edi
mov byte [esp + 0x15c], 0x33
call fcn.00405140
lea edx, [esp + 0xf4]
push 0x4292e8
push edx
mov byte [esp + 0x15c], 0x34
call fcn.004032e0
add esp, 8
test al, al
je 0x408b3d
sub esp, 0x1c
lea eax, [esp + 0x110]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.004042f0
mov ecx, edi
call fcn.00406a30
cmp byte [esp + 0x15c], 0
jne 0x408c45
push 0x4293f8
lea ecx, [esp + 0x18]
call fcn.00404670
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov byte [esp + 0x158], 0x35
call fcn.00406270
push eax
lea ecx, [esp + 0x50]
call fcn.004042f0
lea ecx, [esp + 0x14]
mov byte [esp + 0x154], 0x37
call fcn.00403510
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0xa4]
push 0x429360
push eax
call fcn.00404d20
mov ecx, dword [esp + 0x5c]
mov edx, 0x10
add esp, 0xc
cmp dword [esp + 0x64], edx
jae 0x408bb5
lea ecx, [esp + 0x50]
cmp dword [eax + 0x18], edx
jb 0x408bbf
mov eax, dword [eax + 4]
jmp 0x408bc2
add eax, 4
push ecx
push eax
call dword [0x429208]
lea ecx, [esp + 0xa0]
mov esi, eax
call fcn.00403510
test esi, esi
je 0x408c3c
push 5
push esi
call dword [0x42920c]
push esi
call dword [0x429210]
push esi
call dword [0x4291f0]
lea ecx, [esp + 0x4c]
call fcn.00403510
lea ecx, [esp + 0xf4]
call fcn.00403510
lea ecx, [esp + 0x110]
call fcn.00403510
lea ecx, [esp + 0x12c]
call fcn.004035b0
lea ecx, [esp + 0xbc]
call fcn.00403510
lea ecx, [esp + 0x84]
call fcn.00403510
xor al, al
jmp 0x408c83
lea ecx, [esp + 0x4c]
call fcn.00403510
lea ecx, [esp + 0xf4]
call fcn.00403510
lea ecx, [esp + 0x110]
call fcn.00403510
lea ecx, [esp + 0x12c]
call fcn.004035b0
lea ecx, [esp + 0xbc]
call fcn.00403510
lea ecx, [esp + 0x84]
call fcn.00403510
mov al, 1
mov ecx, dword [esp + 0x14c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x134]
xor ecx, esp
call fcn.0041ac87
add esp, 0x144
ret 4