Function at 0x4349a0
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 0x434a62
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.0041ea70
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.0041ea70
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.0x434a5b
jmp dword [eax*4 + 0x4c9f88]
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.00433d90
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.004339e0
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.004339e0
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 0x434d76
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.00433ef0
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.00433ef0
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 0x434e94
jle 0x434f03
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.004349a0
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.00436350
mov edx, dword [esp + 0x44]
test edx, edx
mov esi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
je 0x434e75
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.00436480
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.00436350
add esi, eax
je 0x434ca8
add ebx, edi
lea edx, [ebp + ebx*4]
mov eax, dword [edx]
add eax, esi
cmp esi, eax
mov dword [edx], eax
jbe 0x434ca8
nop
lea esi, [esi]
add edx, 4
add dword [edx], 1
je 0x434ca0
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.004339e0
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 0x434acc
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.004339e0
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.004339e0
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 0x434afc
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.004365a0
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.004365a0
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.00433d90
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 0x434bf6
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.004339e0
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.004339e0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], 0
mov edx, dword [esp + 0x2c]
jmp 0x434aec
mov edx, dword [esp + 0x24]
add edx, dword [esp + 0x30]
mov dword [esp + 0x44], 0
jmp 0x434aec
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.00436350
add esi, eax
jmp 0x434c61
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.00433ef0
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 0x434c11
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 0x434f3c
jmp 0x434fc5
cmp eax, ebp
jl 0x434f4b
cmp eax, edi
je 0x434f88
cmp eax, ebp
je 0x434f88
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
cmp eax, edi
mov esi, eax
jge 0x434f30
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.004349a0
mov ecx, edi
jmp 0x434c11
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.00433ef0
mov ecx, edi
jmp 0x434c11
cmp ebp, 0xf
jg 0x434f3c
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.00433d90
mov ecx, edi
jmp 0x434c11