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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
cmp ebx, 7
mov edi, dword [esp + 0x84]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
jle 0x434c52
lea edx, [ebx*4]
mov eax, ebx
lea esi, [ecx + edx]
sub eax, ebp
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], eax
call fcn.0041eb20
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edi
mov ecx, esi
add ecx, edx
mov dword [esp + 0x2c], eax
mov eax, edi
sub eax, ebx
mov dword [esp], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], eax
call fcn.0041eb20
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
lea edx, [edx + edx*2]
lea eax, [eax + edx + 4]
cmp eax, 8
ja case.default.0x434c4b
jmp dword [eax*4 + 0x4ca108]
lea eax, [ebx + edi]
add ebx, ebp
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00433f80
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xc], ebp
mov dword [esp + 4], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 8], eax
call fcn.00433bd0
mov eax, ebx
mov edx, dword [esp + 0x30]
sub eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], edi
add edx, esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 0x2c], edx
call fcn.00433bd0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], 1
lea eax, [ebx + ebx]
cmp ebx, 8
mov dword [esp + 0x2c], eax
je 0x434f66
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x24]
mov eax, ebx
shl eax, 4
mov dword [esp + 8], edx
mov dword [esp + 0x14], 0
add eax, ecx
mov esi, eax
mov dword [esp + 0x4c], eax
lea eax, [ebx*8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], esi
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 0
add eax, ecx
mov dword [esp], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x34], eax
call fcn.004340e0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], esi
mov esi, ebx
mov dword [esp + 0x14], 0
sar esi, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp], eax
call fcn.004340e0
mov eax, ebp
mov edx, edi
sub eax, esi
sub edx, esi
mov ecx, eax
cmp edi, ebp
cmovge ecx, edx
cmp ecx, 0
je 0x435084
jle 0x4350f3
mov ecx, dword [esp + 0x40]
add ecx, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00434b90
mov esi, dword [esp + 0x2c]
mov eax, esi
sub eax, ebp
lea edx, [esi + ebp]
sub eax, edi
add edx, edi
mov edi, dword [esp + 0x20]
shl eax, 2
lea edx, [edi + edx*4]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sub.msvcrt.dll_memset
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00436540
mov edx, dword [esp + 0x44]
test edx, edx
mov esi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
je 0x435065
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00436670
sub esi, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
add eax, ebp
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.00436540
add esi, eax
je 0x434e98
add ebx, edi
lea edx, [ebp + ebx*4]
mov eax, dword [edx]
add eax, esi
cmp esi, eax
mov dword [edx], eax
jbe 0x434e98
nop
lea esi, [esi]
add edx, 4
add dword [edx], 1
je 0x434e90
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebp
mov esi, dword [esp + 0x24]
sub eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ecx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 0x34], ecx
call fcn.00433bd0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
add edx, esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
jmp 0x434cbc
mov eax, ebp
mov esi, dword [esp + 0x24]
sub eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 0x34], ecx
call fcn.00433bd0
mov eax, ebx
mov edx, dword [esp + 0x30]
sub eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], edi
add edx, esi
mov dword [esp], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov dword [esp + 4], eax
call fcn.00433bd0
lea eax, [ebx + ebx]
cmp ebx, 8
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
jne 0x434cec
mov esi, dword [esp + 0x24]
mov dword [esp + 8], edx
mov dword [esp + 0x40], ecx
mov eax, esi
add eax, 0x40
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 0x34], eax
call fcn.00436790
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.00436790
mov eax, dword [esp + 0x3c]
lea ecx, [esi + 0x40]
mov dword [esp + 0x10], edi
mov dword [esp], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
mov dword [esp + 4], eax
call fcn.00433f80
mov ecx, dword [esp + 0x2c]
mov eax, ecx
sub eax, ebp
sub eax, edi
lea edx, [ecx + ebp]
add edx, edi
mov edi, esi
shl eax, 2
jmp 0x434de6
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 8], eax
call fcn.00433bd0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
add edx, esi
mov dword [esp], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.00433bd0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], 0
mov edx, dword [esp + 0x2c]
jmp 0x434cdc
mov edx, dword [esp + 0x24]
add edx, dword [esp + 0x30]
mov dword [esp + 0x44], 0
jmp 0x434cdc
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.00436540
add esi, eax
jmp 0x434e51
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], edx
add ecx, edi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x28], ecx
call fcn.004340e0
mov ecx, dword [esp + 0x2c]
mov eax, esi
neg eax
mov dword [esp + 4], 0
lea eax, [ecx + eax*2]
lea edx, [eax*4]
lea eax, [eax + esi*4]
lea eax, [edi + eax*4]
mov dword [esp + 8], edx
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov ecx, dword [esp + 0x28]
jmp 0x434e01
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
add eax, ecx
mov dword [esp], eax
mov dword [esp + 0x28], eax
call sub.msvcrt.dll_memset
cmp edi, 0xf
jg 0x43512c
jmp 0x4351b5
cmp eax, ebp
jl 0x43513b
cmp eax, edi
je 0x435178
cmp eax, ebp
je 0x435178
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
cmp eax, edi
mov esi, eax
jge 0x435120
mov edx, ebp
sub edi, eax
mov ecx, dword [esp + 0x4c]
sub edx, eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00434b90
mov ecx, edi
jmp 0x434e01
mov edx, ebp
sub edi, eax
mov ecx, dword [esp + 0x4c]
sub edx, eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004340e0
mov ecx, edi
jmp 0x434e01
cmp ebp, 0xf
jg 0x43512c
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00433f80
mov ecx, edi
jmp 0x434e01