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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb3c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [esp + 0xec], 7
push ebx
xor eax, eax
mov dword [esp + 0xec], ebx
push 0x4295e4
lea ecx, [esp + 0xe0]
mov word [esp + 0xe0], ax
call fcn.00402853
push 0x7fe
lea eax, [esp + 0x13c]
push ebx
push eax
call fcn.0040f500
add esp, 0xc
lea ecx, [esp + 0xc0]
mov edx, 0x459c40
push 9
call fcn.00405158
cmp dword [eax + 0x14], 8
jb 0x406a7c
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor edi, edi
lea ecx, [esp + 0xc0]
push ebx
inc edi
mov esi, eax
push edi
call fcn.00402572
test esi, esi
jne 0x4078d7
push 8
call fcn.0040f8e1
pop ecx
test eax, eax
je 0x406ab8
mov ecx, eax
call fcn.004032ac
mov dword [0x497564], eax
jmp 0x406abe
mov dword [0x497564], ebx
call fcn.00408bb1
call fcn.00408dc7
call fcn.00408fcd
lea ecx, [esp + 0xc0]
call fcn.00409287
push ebx
push edi
lea ecx, [esp + 0xc8]
call fcn.00402572
mov esi, 0x496250
lea ecx, [esp + 0x10]
push esi
call fcn.00401aec
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.00401b55
push ebx
push edi
lea ecx, [esp + 0x18]
call fcn.00402572
push 0x9c
call fcn.0040f8e1
pop ecx
test eax, eax
je 0x406b2d
push dword [ebp + 0x10]
mov ecx, eax
call fcn.004051a6
mov dword [0x49a00c], eax
jmp 0x406b33
mov dword [0x49a00c], ebx
mov ecx, esi
call fcn.004078f0
mov eax, dword [0x49a00c]
lea ecx, [esp + 0x10]
add eax, 0x30
push eax
call fcn.00401aec
lea ecx, [esp + 0x10]
call fcn.004078f0
push ebx
push edi
lea ecx, [esp + 0x18]
call fcn.00402572
mov eax, dword [0x4296c8]
lea ecx, [esp + 0xc0]
mov byte [eax], 0xda
call fcn.00409cde
push eax
lea ecx, [esp + 0xdc]
call fcn.00401b55
push ebx
push edi
lea ecx, [esp + 0xc8]
call fcn.00402572
cmp dword [esp + 0xe8], ebx
mov edi, ebx
push 1
pop esi
cmova edi, esi
mov dword [esp + 0x8c], edi
call fcn.00406178
mov eax, dword [0x49a00c]
cmp dword [eax + 0x40], ebx
jne 0x406be1
push 0x2f
mov edx, 0x437230
lea ecx, [esp + 0xc4]
call fcn.00405158
mov ecx, eax
call fcn.004064d9
push ebx
push esi
lea ecx, [esp + 0xc8]
call fcn.00402572
mov eax, dword [0x49a00c]
cmp dword [eax], ebx
jne 0x406fa0
cmp dword [eax + 0x14], ebx
jne 0x406dd4
push 0x4961f0
lea ecx, [esp + 0x30]
call fcn.00401aec
push ecx
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.00409e0d
push eax
lea ecx, [esp + 0xdc]
call fcn.00401b55
push ebx
push esi
lea ecx, [esp + 0x4c]
call fcn.00402572
push ebx
push esi
lea ecx, [esp + 0x34]
call fcn.00402572
cmp dword [esp + 0xe8], ebx
jbe 0x406c46
lea ecx, [esp + 0xd8]
call fcn.004079a4
call fcn.00409f52
test al, al
jne 0x406c71
push 0x32
mov edx, 0x430c10
lea ecx, [esp + 0x48]
call fcn.00405158
mov ecx, eax
call fcn.004079a4
push ebx
push esi
lea ecx, [esp + 0x4c]
call fcn.00402572
push 0x19
mov edx, str.4__N_tU_Z
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x48]
call fcn.00405158
cmp dword [eax + 0x14], 8
jb 0x406c8d
mov eax, dword [eax]
lea ecx, [esp + 0x28]
push ecx
push 0x20019
push ecx
push eax
push 0x80000002
call fcn.00404119
mov ebx, eax
lea ecx, [esp + 0x44]
push 0
neg ebx
push esi
sbb bl, bl
call fcn.00402572
inc bl
je 0x406cdf
push 0x32
mov edx, 0x430c10
lea ecx, [esp + 0x48]
call fcn.00405158
mov ecx, eax
call fcn.004079a4
xor ebx, ebx
lea ecx, [esp + 0x44]
push ebx
push esi
call fcn.00402572
jmp 0x406ce1
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x24], 7
mov word [esp + 0x10], ax
lea ecx, [esp + 0x2c]
lea eax, [esp + 0x10]
mov dword [esp + 0x20], ebx
push eax
push 0x12
mov edx, 0x47c780
call fcn.00405158
push eax
push 0x20
mov edx, str.4__N_aX_G
lea ecx, [esp + 0x50]
call fcn.00405158
mov edx, eax
call fcn.004086ec
push ebx
push 1
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00402572
push ebx
push 1
lea ecx, [esp + 0x34]
call fcn.00402572
test esi, esi
jne 0x406d96
push 6
mov edx, 0x43b4f4
lea ecx, [esp + 0x48]
call fcn.00405158
mov edx, eax
lea ecx, [esp + 0x10]
call fcn.00407bb2
push esi
inc esi
lea ecx, [esp + 0x48]
push esi
mov bl, al
call fcn.00402572
test bl, bl
je 0x406d92
push 0x32
mov edx, 0x430c10
lea ecx, [esp + 0x48]
call fcn.00405158
mov ecx, eax
call fcn.004079a4
xor ebx, ebx
lea ecx, [esp + 0x44]
push ebx
push esi
call fcn.00402572
jmp 0x406d99
xor ebx, ebx
jmp 0x406d99
xor esi, esi
inc esi
call fcn.00409443
test al, al
jne 0x406dc4
push 0x32
mov edx, 0x430c10
lea ecx, [esp + 0x48]
call fcn.00405158
mov ecx, eax
call fcn.004079a4
push ebx
push esi
lea ecx, [esp + 0x4c]
call fcn.00402572
push ebx
push esi
lea ecx, [esp + 0x18]
call fcn.00402572
mov eax, dword [0x49a00c]
cmp dword [eax], ebx
jne 0x406fa0
cmp dword [eax + 0x14], ebx
jne 0x406fa0
push ecx
push ecx
push 0x1e
mov edx, 0x47b5b0
mov dword [esp + 0x38], ebx
lea ecx, [esp + 0x50]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.00405158
lea edx, [esp + 0x34]
mov ecx, eax
call fcn.00408893
push ebx
push esi
lea ecx, [esp + 0x4c]
call fcn.00402572
push ecx
push ecx
push 0x22
mov edx, 0x47ce40
lea ecx, [esp + 0x50]
call fcn.00405158
lea edx, [esp + 0x34]
mov ecx, eax
call fcn.00408893
push ebx
push esi
lea ecx, [esp + 0x4c]
call fcn.00402572
mov edi, dword [esp + 0x2c]
mov esi, edi
mov ebx, dword [esp + 0x30]
cmp edi, ebx
je 0x406eae
mov edx, esi
lea ecx, [esp + 0x44]
call fcn.00401a79
push eax
mov ecx, esi
call fcn.00401b55
push 0
push 1
lea ecx, [esp + 0x4c]
call fcn.00402572
push ecx
push 0xb
mov edx, 0x4563d0
lea ecx, [esp + 0x4c]
call fcn.00405158
push eax
mov ecx, esi
call fcn.00401bd6
cmp eax, 0xffffffff
lea ecx, [esp + 0x44]
push 0
push 1
setne bl
call fcn.00402572
test bl, bl
jne 0x406f61
mov ebx, dword [esp + 0x30]
add esi, 0x18
cmp esi, ebx
jne 0x406e4f
mov esi, edi
cmp edi, ebx
je 0x406ec6
push 0
push 1
mov ecx, esi
call fcn.00402572
add esi, 0x18
cmp esi, ebx
jne 0x406eb4
push ecx
push ecx
push 0x1d
mov edx, 0x459c00
mov dword [esp + 0x3c], edi
lea ecx, [esp + 0xfc]
call fcn.00405158
lea edx, [esp + 0x34]
mov ecx, eax
call fcn.00408893
push 0
push 1
lea ecx, [esp + 0xf8]
call fcn.00402572
mov edi, dword [esp + 0x2c]
mov esi, edi
cmp edi, dword [esp + 0x30]
je 0x406f6b
mov edx, esi
lea ecx, [esp + 0x74]
call fcn.00401a79
push eax
mov ecx, esi
call fcn.00401b55
push 0
push 1
lea ecx, [esp + 0x7c]
call fcn.00402572
push ecx
push 4
mov edx, 0x4456c4
lea ecx, [esp + 0x7c]
call fcn.00405158
push eax
mov ecx, esi
call fcn.00401bd6
cmp eax, 0xffffffff
lea ecx, [esp + 0x74]
push 0
push 1
setne bl
call fcn.00402572
test bl, bl
jne 0x406f61
add esi, 0x18
cmp esi, dword [esp + 0x30]
jne 0x406f06
jmp 0x406f6b
mov dword [0x49ac6c], 1
mov esi, dword [esp + 0x30]
mov ebx, edi
cmp edi, esi
je 0x406f87
push 0
push 1
mov ecx, ebx
call fcn.00402572
add ebx, 0x18
cmp ebx, esi
jne 0x406f75
test edi, edi
je 0x406f92
push edi
call fcn.0040f6d3
pop ecx
mov edi, dword [esp + 0x8c]
xor ebx, ebx
mov eax, dword [0x49a00c]
cmp dword [eax + 0x10], ebx
je 0x4070fc
push 0x4961f0
lea ecx, [esp + 0x30]
call fcn.00401aec
push 0xffffffffffffffff
push ebx
push 0x496268
push ecx
lea ecx, [esp + 0x3c]
call fcn.00407c65
push eax
lea ecx, [esp + 0x14]
call fcn.00401b33
push ebx
push 1
lea ecx, [esp + 0x34]
call fcn.00402572
push 0xba17a
call fcn.0040dcc3
pop ecx
push 4
mov edi, eax
push ebx
push edi
call fcn.0040f500
add esp, 0xc
mov edx, edi
mov ecx, 0x27e8a
push 0x43
push 0x4892b0
push 0x3e
push 0x494d60
push 0x46a8e0
call fcn.00406624
push 0xe
mov edx, 0x4927d0
lea ecx, [esp + 0x78]
mov esi, eax
call fcn.00405158
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x18]
push ecx
push ecx
mov ecx, eax
call fcn.00407c65
push eax
lea ecx, [esp + 0x30]
call fcn.00401b33
push esi
mov edx, edi
lea ecx, [esp + 0x30]
call fcn.004068f9
push ebx
push 1
lea ecx, [esp + 0x34]
call fcn.00402572
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.00402572
push 4
push ebx
push edi
call fcn.0040f500
add esp, 0xc
mov edx, edi
mov ecx, 0x3e07e
push 0x64
push 0x4617a0
push 0x60
push 0x464c00
push 0x459a80
call fcn.00406624
push 0xb
mov edx, 0x430b90
lea ecx, [esp + 0x78]
mov esi, eax
call fcn.00405158
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x18]
push ecx
push ecx
mov ecx, eax
call fcn.00407c65
push eax
lea ecx, [esp + 0x30]
call fcn.00401b33
push esi
mov edx, edi
lea ecx, [esp + 0x30]
call fcn.004068f9
push ebx
push 1
lea ecx, [esp + 0x34]
call fcn.00402572
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.00402572
push edi
call fcn.0040f590
pop ecx
xor edi, edi
lea ecx, [esp + 0x10]
inc edi
push ebx
push edi
call fcn.00402572
jmp 0x4078d7
cmp dword [eax + 0x98], ebx
jne 0x4078d4
push 7
pop esi
push ebx
xor eax, eax
mov dword [esp + 0x74], esi
push 0x4295e4
lea ecx, [esp + 0x64]
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], ax
call fcn.00402853
push 0x496268
lea ecx, [esp + 0x94]
call fcn.00401aec
lea ecx, [esp + 0x90]
call fcn.004078f0
mov ecx, dword [0x497564]
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x2c], 6
call fcn.004042ab
lea ecx, [esp + 0x938]
push ecx
push 0x104
call dword [eax]
test eax, eax
je 0x4071c8
xor eax, eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ebx
mov word [esp + 0x10], ax
cmp word [esp + 0x938], ax
jne 0x40718e
mov eax, ebx
jmp 0x40719c
lea eax, [esp + 0x938]
push eax
call fcn.0040ed9b
pop ecx
push eax
lea eax, [esp + 0x93c]
push eax
lea ecx, [esp + 0x18]
call fcn.00402853
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x60]
call fcn.00401b55
push ebx
push 1
lea ecx, [esp + 0x18]
call fcn.00402572
lea ecx, [esp + 0x5c]
call fcn.004078f0
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x74]
call fcn.00409811
push eax
lea ecx, [esp + 0x60]
call fcn.00401b55
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.00402572
lea ecx, [esp + 0x5c]
call fcn.004078f0
cmp dword [esp + 0x70], 8
lea eax, [esp + 0x28]
mov ecx, dword [0x497564]
lea esi, [esp + 0x5c]
cmovae esi, dword [esp + 0x5c]
push eax
mov dword [esp + 0x2c], 2
call fcn.004042ab
push ebx
push esi
call dword [eax]
test eax, eax
jne 0x407271
push 0x17
mov edx, 0x475650
lea ecx, [esp + 0x78]
call fcn.00405158
mov ecx, eax
call fcn.004078f0
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.00402572
push 0x25
mov edx, 0x488240
lea ecx, [esp + 0x78]
call fcn.00405158
mov ecx, eax
call fcn.004064d9
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.00402572
lea ecx, [esp + 0x5c]
call fcn.004078f0
cmp dword [esp + 0x70], 8
lea eax, [esp + 0x5c]
push ecx
cmovae eax, dword [esp + 0x60]
push ecx
push eax
call fcn.00404250
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x74]
call fcn.00409bf1
push eax
lea ecx, [esp + 0x94]
call fcn.00401b55
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.00402572
lea ecx, [esp + 0x90]
call fcn.004078f0
cmp dword [esp + 0xa4], 8
lea esi, [esp + 0x90]
push 0x11
cmovae esi, dword [esp + 0x94]
lea ecx, [esp + 0x78]
mov edx, 0x450ed0
call fcn.00405158
cmp dword [eax + 0x14], 8
jb 0x4072f1
mov eax, dword [eax]
push esi
push eax
lea eax, [esp + 0x140]
push 0x3ff
push eax
call fcn.0040513c
add esp, 0x10
lea ecx, [esp + 0x74]
xor esi, esi
inc esi
push ebx
push esi
call fcn.00402572
xor eax, eax
mov dword [esp + 0x24], 7
mov dword [esp + 0x20], ebx
mov word [esp + 0x10], ax
cmp word [esp + 0x138], ax
jne 0x407337
mov eax, ebx
jmp 0x407345
lea eax, [esp + 0x138]
push eax
call fcn.0040ed9b
pop ecx
push eax
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x18]
call fcn.00402853
lea ecx, [esp + 0x10]
call fcn.004078f0
push ebx
push esi
lea ecx, [esp + 0x18]
call fcn.00402572
cmp dword [0x49ac6c], esi
mov eax, dword [0x49a00c]
cmove edi, esi
cmp dword [eax + 8], ebx
je 0x407382
mov edi, esi
jmp 0x40738a
xor ecx, ecx
cmp dword [eax + 4], ebx
cmovne edi, ecx
push 0xba17a
call fcn.0040dcc3
pop ecx
push 4
mov esi, eax
push ebx
push esi
call fcn.0040f500
add esp, 0xc
mov edx, esi
test edi, edi
je 0x4073c3
push 0x64
push 0x4617a0
push 0x60
push 0x464c00
push 0x459a80
mov ecx, 0x3e07e
jmp 0x4073db
push 0x43
push 0x4892b0
push 0x3e
push 0x494d60
push 0x46a8e0
mov ecx, 0x27e8a
call fcn.00406624
push eax
mov edx, esi
lea ecx, [esp + 0x94]
call fcn.004068f9
push esi
call fcn.0040f590
pop ecx
lea ecx, [esp + 0x90]
call fcn.004078f0
cmp dword [esp + 0xa4], 8
lea eax, [esp + 0x90]
push ecx
cmovae eax, dword [esp + 0x94]
push ecx
push eax
call fcn.00404250
cmp dword [esp + 0xa4], 8
lea esi, [esp + 0x90]
push 0x14
cmovae esi, dword [esp + 0x94]
lea ecx, [esp + 0x78]
mov edx, 0x445e50
call fcn.00405158
cmp dword [eax + 0x14], 8
jb 0x407450
mov eax, dword [eax]
push esi
push eax
lea eax, [esp + 0x140]
push 0x3ff
push eax
call fcn.0040513c
add esp, 0x10
lea ecx, [esp + 0x74]
xor esi, esi
inc esi
push ebx
push esi
call fcn.00402572
xor eax, eax
mov dword [esp + 0x24], 7
mov dword [esp + 0x20], ebx
mov word [esp + 0x10], ax
cmp word [esp + 0x138], ax
jne 0x407496
mov eax, ebx
jmp 0x4074a4
lea eax, [esp + 0x138]
push eax
call fcn.0040ed9b
pop ecx
push eax
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x18]
call fcn.00402853
lea ecx, [esp + 0x10]
call fcn.004078f0
push ebx
push esi
lea ecx, [esp + 0x18]
call fcn.00402572
push esi
mov edx, 0x43819c
lea ecx, [esp + 0x124]
call fcn.00405158
push eax
mov edx, 0x42b200
lea ecx, [esp + 0x48]
call fcn.00407b83
mov edi, 0x42b1fc
mov esi, eax
push edi
call fcn.0040ed9b
pop ecx
push eax
push edi
mov ecx, esi
call fcn.00401f8d
push eax
lea ecx, [esp + 0x30]
call fcn.00401b33
xor edi, edi
lea ecx, [esp + 0x108]
inc edi
mov esi, 0x43cb9c
push edi
mov edx, esi
call fcn.00405158
push eax
lea edx, [esp + 0x30]
lea ecx, [esp + 0xf4]
call fcn.00407c21
push 0xffffffffffffffff
push ebx
push 0x496250
mov ecx, eax
call fcn.00401ef0
push eax
lea ecx, [esp + 0x14]
call fcn.00401b33
push ebx
push edi
mov edx, esi
lea ecx, [esp + 0xb0]
call fcn.00405158
push eax
lea edx, [esp + 0x18]
lea ecx, [esp + 0x7c]
call fcn.00407c21
mov ecx, dword [0x49a00c]
mov edx, eax
call fcn.00405bc5
push ebx
push edi
lea ecx, [esp + 0x7c]
call fcn.00402572
push ebx
push edi
lea ecx, [esp + 0x18]
call fcn.00402572
push ebx
push edi
lea ecx, [esp + 0xf8]
call fcn.00402572
push ebx
push edi
lea ecx, [esp + 0x34]
call fcn.00402572
push ebx
push edi
lea ecx, [esp + 0x4c]
call fcn.00402572
push ebx
push edi
lea ecx, [esp + 0x128]
call fcn.00402572
push ebx
push edi
lea ecx, [esp + 0x110]
call fcn.00402572
push ebx
push edi
lea ecx, [esp + 0xb0]
call fcn.00402572
mov eax, dword [0x49a00c]
lea ecx, [esp + 0xc0]
add eax, 0x30
push eax
call fcn.00401aec
lea ecx, [esp + 0xc0]
call fcn.004078f0
push ebx
push edi
lea ecx, [esp + 0xc8]
call fcn.00402572
lea ecx, [esp + 0x90]
call fcn.00405d02
lea ecx, [esp + 0xa8]
test al, al
je 0x40762b
push 0x17
mov edx, 0x489300
jmp 0x407632
push 0x10
mov edx, 0x48b330
call fcn.00405158
cmp dword [eax + 0x14], 8
jb 0x40763f
mov eax, dword [eax]
push 0x4295e4
push eax
lea eax, [esp + 0x140]
push 0x3ff
push eax
call fcn.0040513c
add esp, 0x10
lea ecx, [esp + 0xa8]
push ebx
push edi
call fcn.00402572
xor eax, eax
mov dword [esp + 0x24], 7
mov dword [esp + 0x20], ebx
mov word [esp + 0x10], ax
cmp word [esp + 0x138], ax
jne 0x407689
mov eax, ebx
jmp 0x407697
lea eax, [esp + 0x138]
push eax
call fcn.0040ed9b
pop ecx
push eax
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x18]
call fcn.00402853
lea ecx, [esp + 0x10]
call fcn.004078f0
push ebx
push edi
lea ecx, [esp + 0x18]
call fcn.00402572
mov eax, dword [0x49a00c]
cmp dword [eax + 0x14], ebx
je 0x40781e
cmp dword [esp + 0x70], 8
lea esi, [esp + 0x5c]
push 0x1a
cmovae esi, dword [esp + 0x60]
lea ecx, [esp + 0xac]
mov edx, 0x493fd0
call fcn.00405158
cmp dword [eax + 0x14], 8
jb 0x4076f4
mov eax, dword [eax]
push esi
push eax
lea eax, [esp + 0x140]
push 0x3ff
push eax
call fcn.0040513c
add esp, 0x10
lea ecx, [esp + 0xa8]
push ebx
push edi
call fcn.00402572
push 3
mov edx, 0x430ba8
lea ecx, [esp + 0xac]
call fcn.00405158
cmp dword [eax + 0x14], 8
jb 0x407734
mov eax, dword [eax]
push 0x40024
push eax
lea eax, [esp + 0x140]
push eax
push ecx
call fcn.004040ec
cmp eax, 6
lea ecx, [esp + 0xa8]
push 0
push edi
sete bl
call fcn.00402572
test bl, bl
je 0x40781c
cmp dword [esp + 0x70], 8
lea esi, [esp + 0x5c]
push 0x1a
cmovae esi, dword [esp + 0x60]
lea ecx, [esp + 0xac]
mov edx, 0x493fd0
call fcn.00405158
cmp dword [eax + 0x14], 8
jb 0x40778e
mov eax, dword [eax]
push esi
push eax
lea eax, [esp + 0x140]
push 0x3ff
push eax
call fcn.0040513c
add esp, 0x10
lea ecx, [esp + 0xa8]
xor ebx, ebx
push ebx
push edi
call fcn.00402572
xor eax, eax
mov dword [esp + 0x24], 7
mov dword [esp + 0x20], ebx
mov word [esp + 0x10], ax
cmp word [esp + 0x138], ax
je 0x4077e0
lea eax, [esp + 0x138]
push eax
call fcn.0040ed9b
pop ecx
push eax
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x18]
call fcn.00402853
lea ecx, [esp + 0x10]
call fcn.004078f0
push ebx
push edi
lea ecx, [esp + 0x18]
call fcn.00402572
sub esp, 0x18
lea eax, [esp + 0x74]
mov ecx, esp
push eax
call fcn.00401aec
call fcn.00409925
jmp 0x40781e
xor ebx, ebx
push 0x16
mov edx, 0x45b560
lea ecx, [esp + 0xac]
call fcn.00405158
cmp dword [eax + 0x14], 8
jb 0x407839
mov eax, dword [eax]
push 0x4295e4
push eax
lea eax, [esp + 0x140]
push 0x3ff
push eax
call fcn.0040513c
add esp, 0x10
lea ecx, [esp + 0xa8]
push ebx
push edi
call fcn.00402572
xor eax, eax
mov dword [esp + 0x24], 7
mov dword [esp + 0x20], ebx
mov word [esp + 0x10], ax
cmp word [esp + 0x138], ax
jne 0x407883
mov eax, ebx
jmp 0x407891
lea eax, [esp + 0x138]
push eax
call fcn.0040ed9b
pop ecx
push eax
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x18]
call fcn.00402853
lea ecx, [esp + 0x10]
call fcn.004078f0
push ebx
push edi
lea ecx, [esp + 0x18]
call fcn.00402572
push ebx
call fcn.004040c7
push ebx
push edi
lea ecx, [esp + 0x98]
call fcn.00402572
lea ecx, [esp + 0x5c]
jmp 0x4070f0
xor edi, edi
inc edi
push ebx
push edi
lea ecx, [esp + 0xe0]
call fcn.00402572
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10