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

Disassembly:
sub esp, 0x50
mov eax, dword [esp + 0x74]
push ebp
xor ebp, ebp
cmp eax, ebp
push edi
mov edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 8], ebp
je 0x406cb6
cmp dword [esp + 0x10c], ebp
je 0x406cb6
push ebx
push esi
mov esi, dword [esp + 0x64]
lea eax, [esp + 0x20]
push eax
push 0x1404
push esi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
call fcn.00405430
lea ecx, [esp + 0x30]
push ecx
push 0x15ac
push esi
call fcn.00405430
lea edx, [esp + 0x40]
push edx
push 0x1408
push esi
call fcn.00405430
lea eax, [esp + 0x50]
push eax
push 0x15b0
push esi
call fcn.00405430
lea ecx, [esp + 0x60]
push ecx
push 0x1700
push esi
call fcn.00405430
lea edx, [esp + 0x70]
push edx
push 0x1704
push esi
call fcn.00405430
add esp, 0x48
lea eax, [esp + 0x38]
push eax
push 0x1438
push esi
call fcn.00405430
lea ecx, [esp + 0x48]
push ecx
push 0x1434
push esi
call fcn.00405430
lea edx, [esp + 0x58]
push edx
push 0x1474
push esi
call fcn.00405430
lea eax, [esp + 0x68]
push eax
push 0x1410
push esi
call fcn.00405430
lea ecx, [esp + 0x78]
push ecx
push 0x142c
push esi
call fcn.00405430
lea edx, [esp + 0x88]
push edx
push 0x1428
push esi
call fcn.00405430
add esp, 0x48
lea eax, [esp + 0x50]
push eax
push 0x16e0
push esi
call fcn.00405430
mov ebx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x74]
push ebp
push ebx
push ecx
call fcn.004014f0
add esp, 0x18
lea eax, [edi + 0x19dc]
push eax
push esi
mov ecx, edi
call fcn.00406330
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x9c]
mov ecx, dword [esp + 0x68]
push edx
push eax
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x30]
push esi
call fcn.004066f0
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x134]
and edx, 0x3fc0
shl edx, 0x10
shr eax, 0xa
or edx, eax
push edx
push 0x142c
push esi
call fcn.004053c0
mov edx, dword [esp + 0xb0]
mov ecx, edi
and ecx, 0x3fc0
shl ecx, 0x10
shr edx, 0xa
or ecx, edx
push ecx
push 0x1428
push esi
call fcn.004053c0
mov ebx, edi
imul ebx, dword [esp + 0x88]
mov eax, ebx
add esp, 0x18
shr eax, 3
mov dword [esp + 0x64], ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], eax
jmp 0x406b00
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
jmp 0x406b00
mov ecx, dword [esp + 0x84]
xor edi, edi
test eax, eax
jbe 0x406b63
add ebx, 0xfffffffc
mov dword [esp + 0x14], eax
cmp edi, ebx
ja 0x406b2e
mov eax, dword [esp + 0x64]
xor edx, edx
mov ebp, 0xa
div ebp
mov eax, dword [edx*4 + 0x46bf28]
mov dword [ecx], eax
add edi, 4
add ecx, 4
cmp edi, ebx
ja 0x406b4e
mov eax, dword [esp + 0x64]
xor edx, edx
mov ebp, 0xa
div ebp
mov edx, dword [edx*4 + 0x46bf50]
mov dword [ecx], edx
mov eax, dword [esp + 0x14]
add edi, 4
add ecx, 4
dec eax
mov dword [esp + 0x14], eax
jne 0x406b14
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push 1
push eax
push ecx
push 0
push 0
push 0
push 0
push edx
push esi
call fcn.00401c20
push esi
call fcn.004010a0
mov ecx, dword [esp + 0x13c]
add esp, 0x28
or ebp, eax
mov ebx, 0
sete bl
xor edi, edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
cmp ebx, edi
je 0x406c3a
mov eax, dword [esp + 0x12c]
imul eax, dword [esp + 0x70]
mov edx, eax
shr edx, 3
mov dword [esp + 0x18], eax
mov dword [esp + 0x5c], edx
jmp 0x406bd1
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x14], edx
jae 0x406c36
add eax, 0xfffffffc
cmp edi, eax
ja 0x406bf8
mov eax, dword [esp + 0x64]
xor edx, edx
mov ebp, 0xa
div ebp
mov eax, dword [ecx]
cmp eax, dword [edx*4 + 0x46bf28]
je 0x406bf8
xor ebx, ebx
mov eax, dword [esp + 0x18]
add edi, 4
add eax, 0xfffffffc
add ecx, 4
cmp edi, eax
ja 0x406c23
mov eax, dword [esp + 0x64]
xor edx, edx
mov ebp, 0xa
div ebp
mov eax, dword [ecx]
cmp eax, dword [edx*4 + 0x46bf50]
je 0x406c23
xor ebx, ebx
mov edx, dword [esp + 0x14]
add edi, 4
add ecx, 4
inc edx
test ebx, ebx
mov dword [esp + 0x14], edx
jne 0x406bc9
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
inc eax
cmp eax, 0xa
mov dword [esp + 0x64], eax
jb 0x406aef
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 0x19dc]
push eax
push esi
call fcn.00406510
push esi
call fcn.004010a0
add esp, 4
or ebp, eax
pop esi
test ebx, ebx
pop ebx
jne 0x406cac
mov eax, dword [esp + 0x6c]
dec eax
cmp eax, 7
ja case.0x406c78.3
jmp dword [eax*4 + 0x406d04]
or ebp, 4
pop edi
mov eax, ebp
pop ebp
add esp, 0x50
ret 0x134
or ebp, 8
pop edi
mov eax, ebp
pop ebp
add esp, 0x50
ret 0x134
or ebp, 1
pop edi
mov eax, ebp
pop ebp
add esp, 0x50
ret 0x134
or ebp, 2
or ebp, 0x20
pop edi
mov eax, ebp
pop ebp
add esp, 0x50
ret 0x134
mov ecx, dword [esp + 0x6c]
dec ecx
cmp ecx, 7
mov eax, 0x40
ja case.0x406cc5.3
jmp dword [ecx*4 + 0x406d24]
pop edi
mov eax, 0x44
pop ebp
add esp, 0x50
ret 0x134
pop edi
mov eax, 0x48
pop ebp
add esp, 0x50
ret 0x134
pop edi
mov eax, 0x41
pop ebp
add esp, 0x50
ret 0x134
mov eax, 0x42
pop edi
or eax, 0x20
pop ebp
add esp, 0x50
ret 0x134