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

Disassembly:
sub esp, 0x31c
lea eax, [esp + 0x110]
push ebx
push ebp
push esi
push edi
push 0x104
push eax
push 0
call dword [0x4562b4]
lea ecx, [esp + 0xf0]
call fcn.00402cbf
lea ecx, [esp + 0xd8]
call fcn.00402cbf
lea ecx, [esp + 0xc0]
call fcn.00402cbf
mov edi, dword [0x4562b0]
xor ebp, ebp
lea ecx, [esp + 0x18]
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 0
mov byte [esp + 0x17], 0
call fcn.0041a559
mov ecx, eax
call fcn.00402b8b
push eax
mov dl, 0x30
lea ecx, [esp + 0xac]
call fcn.0040d1a1
pop ecx
lea ecx, [esp + 0x18]
call fcn.00402bb8
lea ecx, [esp + 0x18]
call fcn.0041a559
mov ecx, eax
call fcn.00402b8b
push eax
mov dl, 0x30
lea ecx, [esp + 0x94]
call fcn.0040d1a1
pop ecx
lea ecx, [esp + 0x18]
call fcn.00402bb8
lea ecx, [esp + 0x18]
call fcn.0041a559
mov ecx, eax
call fcn.00402b8b
push eax
mov dl, 0x30
lea ecx, [esp + 0x7c]
call fcn.0040d1a1
pop ecx
lea ecx, [esp + 0x18]
call fcn.00402bb8
xor ebx, ebx
lea ecx, [esp + 0x360]
call fcn.00402b8b
mov esi, eax
lea ecx, [esp + 0x60]
push 0x462e24
lea eax, [esp + 0xac]
push eax
push 0x4692cc
call fcn.00404d5e
push eax
lea edx, [esp + 0x12c]
lea ecx, [esp + 0x54]
call fcn.00404edc
pop ecx
mov edx, eax
lea ecx, [esp + 0x38]
call fcn.00404efd
pop ecx
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.00403bf4
pop ecx
mov ecx, eax
call fcn.00402ae4
mov edx, esi
mov ecx, eax
call fcn.004174a6
lea ecx, [esp + 0x18]
mov byte [esp + 0x12], al
call fcn.00402ae9
lea ecx, [esp + 0x30]
call fcn.00402ae9
lea ecx, [esp + 0x48]
call fcn.00402ae9
lea ecx, [esp + 0x60]
call fcn.00402ae9
cmp byte [esp + 0x12], 0
jne 0x41260d
push 0xa
call edi
inc ebx
cmp ebx, 0xa
jl 0x41256d
xor ebx, ebx
lea ecx, [esp + 0x390]
call fcn.00402b8b
mov esi, eax
lea ecx, [esp + 0x18]
push 0x462e24
lea eax, [esp + 0x94]
push eax
push 0x4692cc
call fcn.00404d5e
push eax
lea edx, [esp + 0x12c]
lea ecx, [esp + 0x3c]
call fcn.00404edc
pop ecx
mov edx, eax
lea ecx, [esp + 0x50]
call fcn.00404efd
pop ecx
mov edx, eax
lea ecx, [esp + 0x64]
call fcn.00403bf4
pop ecx
mov ecx, eax
call fcn.00402ae4
mov edx, esi
mov ecx, eax
call fcn.004174a6
lea ecx, [esp + 0x60]
mov byte [esp + 0x14], al
call fcn.00402ae9
lea ecx, [esp + 0x48]
call fcn.00402ae9
lea ecx, [esp + 0x30]
call fcn.00402ae9
lea ecx, [esp + 0x18]
call fcn.00402ae9
cmp byte [esp + 0x14], 0
jne 0x4126af
push 0xa
call edi
inc ebx
cmp ebx, 0xa
jl 0x41260f
xor ebx, ebx
lea ecx, [esp + 0x378]
call fcn.00402b8b
mov esi, eax
lea ecx, [esp + 0x18]
push 0x462e24
lea eax, [esp + 0x7c]
push eax
push 0x4692cc
call fcn.00404d5e
push eax
lea edx, [esp + 0x12c]
lea ecx, [esp + 0x3c]
call fcn.00404edc
pop ecx
mov edx, eax
lea ecx, [esp + 0x50]
call fcn.00404efd
pop ecx
mov edx, eax
lea ecx, [esp + 0x64]
call fcn.00403bf4
pop ecx
mov ecx, eax
call fcn.00402ae4
mov edx, esi
mov ecx, eax
call fcn.004174a6
lea ecx, [esp + 0x60]
mov byte [esp + 0x13], al
call fcn.00402ae9
lea ecx, [esp + 0x48]
call fcn.00402ae9
lea ecx, [esp + 0x30]
call fcn.00402ae9
lea ecx, [esp + 0x18]
call fcn.00402ae9
cmp byte [esp + 0x13], 0
jne 0x41274e
push 0xa
call edi
inc ebx
cmp ebx, 0xa
jl 0x4126b1
xor eax, eax
cmp byte [esp + 0x12], al
sete al
cmp byte [esp + 0x13], 0
lea ecx, [eax + 1]
cmovne ecx, eax
cmp byte [esp + 0x14], 0
lea esi, [ecx + 1]
cmovne esi, ecx
xor ebx, ebx
lea ecx, [esp + 0xa8]
call fcn.00402ae4
lea edx, [esp + 0xf0]
mov ecx, eax
call fcn.0041ae0f
test al, al
je 0x4127a5
lea ecx, [esp + 0xa8]
mov byte [esp + 0x15], 1
call fcn.00402ae4
push eax
call dword [0x45624c]
lea ecx, [esp + 0x78]
call fcn.00402ae4
lea edx, [esp + 0xd8]
mov ecx, eax
call fcn.0041ae0f
test al, al
je 0x4127d5
lea ecx, [esp + 0x78]
mov byte [esp + 0x16], 1
call fcn.00402ae4
push eax
call dword [0x45624c]
lea ecx, [esp + 0x90]
call fcn.00402ae4
lea edx, [esp + 0xc0]
mov ecx, eax
call fcn.0041ae0f
test al, al
je 0x41280b
lea ecx, [esp + 0x90]
mov byte [esp + 0x17], 1
call fcn.00402ae4
push eax
call dword [0x45624c]
cmp byte [esp + 0x15], 0
je 0x412820
cmp byte [esp + 0x16], 0
je 0x412820
cmp byte [esp + 0x17], 0
jne 0x412831
push 0x1f4
call edi
inc ebx
cmp ebx, 0xa
jl 0x41276f
lea ecx, [esp + 0xf0]
call fcn.00406d31
test al, al
je 0x412892
lea ecx, [esp + 0xc0]
call fcn.00406d31
test al, al
je 0x412892
lea ecx, [esp + 0xd8]
call fcn.00406d31
test al, al
je 0x412892
push 0x64
call edi
lea ecx, [esp + 0x78]
call fcn.00402ae9
lea ecx, [esp + 0x90]
call fcn.00402ae9
lea ecx, [esp + 0xa8]
call fcn.00402ae9
inc ebp
cmp ebp, 0xa
jl 0x4124e4
jmp 0x4128b3
lea ecx, [esp + 0x78]
call fcn.00402ae9
lea ecx, [esp + 0x90]
call fcn.00402ae9
lea ecx, [esp + 0xa8]
call fcn.00402ae9
mov edx, 0x4630c0
lea ecx, [esp + 0x330]
call fcn.004066e5
test al, al
je 0x4129cd
mov edx, esi
lea ecx, [esp + 0x108]
call fcn.0041a716
sub esp, 0x18
lea ecx, [esp + 0xd8]
mov esi, esp
lea edx, [esp + 0x360]
push eax
mov eax, 0x471e78
push eax
push ecx
push eax
lea ecx, [esp + 0x100]
push ecx
push eax
lea ecx, [esp + 0x120]
push ecx
push eax
lea ecx, [esp + 0xb0]
call fcn.00403b11
pop ecx
mov edx, eax
lea ecx, [esp + 0xc4]
call fcn.00403af0
pop ecx
mov edx, eax
lea ecx, [esp + 0xd8]
call fcn.00403af0
pop ecx
mov edx, eax
lea ecx, [esp + 0x44]
call fcn.00403af0
pop ecx
mov edx, eax
lea ecx, [esp + 0x58]
call fcn.00403af0
pop ecx
mov edx, eax
lea ecx, [esp + 0x6c]
call fcn.00403af0
pop ecx
mov edx, eax
lea ecx, [esp + 0x80]
call fcn.00403af0
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00403a81
pop ecx
push 0x69
mov ecx, 0x472340
call fcn.00405681
lea ecx, [esp + 0x60]
call fcn.00402bb8
lea ecx, [esp + 0x48]
call fcn.00402bb8
lea ecx, [esp + 0x30]
call fcn.00402bb8
lea ecx, [esp + 0x18]
call fcn.00402bb8
lea ecx, [esp + 0xa8]
call fcn.00402bb8
lea ecx, [esp + 0x90]
call fcn.00402bb8
lea ecx, [esp + 0x78]
call fcn.00402bb8
lea ecx, [esp + 0x108]
jmp 0x412a7a
sub esp, 0x18
lea eax, [esp + 0xd8]
mov esi, esp
lea ecx, [esp + 0xf0]
lea edx, [esp + 0x360]
push eax
mov eax, 0x471e78
push eax
push ecx
push eax
lea ecx, [esp + 0x118]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.00403b11
pop ecx
mov edx, eax
lea ecx, [esp + 0x5c]
call fcn.00403af0
pop ecx
mov edx, eax
lea ecx, [esp + 0x70]
call fcn.00403af0
pop ecx
mov edx, eax
lea ecx, [esp + 0x84]
call fcn.00403af0
pop ecx
mov edx, eax
lea ecx, [esp + 0x128]
call fcn.00403af0
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00403af0
pop ecx
push 0x6a
mov ecx, 0x472340
call fcn.00405681
lea ecx, [esp + 0x108]
call fcn.00402bb8
lea ecx, [esp + 0x60]
call fcn.00402bb8
lea ecx, [esp + 0x48]
call fcn.00402bb8
lea ecx, [esp + 0x30]
call fcn.00402bb8
lea ecx, [esp + 0x18]
call fcn.00402bb8
lea ecx, [esp + 0xc0]
call fcn.00402bb8
lea ecx, [esp + 0xd8]
call fcn.00402bb8
lea ecx, [esp + 0xf0]
call fcn.00402bb8
lea ecx, [esp + 0x330]
call fcn.00402bb8
lea ecx, [esp + 0x348]
call fcn.00402bb8
lea ecx, [esp + 0x360]
call fcn.00402bb8
lea ecx, [esp + 0x378]
call fcn.00402bb8
lea ecx, [esp + 0x390]
call fcn.00402bb8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x31c
ret