Function at 0x4340e0
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 edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
test edi, edi
mov ebp, dword [esp + 0x84]
sete byte [esp + 0x2c]
cmp ebx, 8
mov esi, dword [esp + 0x88]
mov dword [esp + 0x24], eax
jne 0x434167
cmp byte [esp + 0x2c], 0
je 0x434167
test ebp, ebp
je 0x4342d0
lea eax, [ebx + ebp]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
lea esi, [ebx + edi]
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00433f80
add edi, ebp
mov edx, edi
js 0x4345e5
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebx, 0xf
jle 0x43412f
mov eax, ebx
sar eax, 1
lea ecx, [eax + edi]
mov dword [esp + 0x34], ecx
lea ecx, [eax + ebp]
mov dword [esp + 0x38], ecx
mov ecx, edi
neg ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x30], eax
shl eax, 2
mov dword [esp + 0x28], eax
add eax, edx
mov dword [esp], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], eax
call fcn.0041eb20
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x28]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 0x40], eax
call fcn.0041eb20
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx + 4]
cmp eax, 8
ja case.default.0x4341f5
jmp dword [eax*4 + 0x4ca0e4]
mov eax, 1
mov dword [esp + 0x34], 0
cmp byte [esp + 0x2c], 0
je 0x434350
cmp dword [esp + 0x30], 8
jne 0x434350
test ebp, ebp
jne 0x434350
test eax, eax
je 0x434620
lea ebp, [ebx*4]
lea eax, [esi + ebp]
test al, 1
mov edi, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], 0x40
jne 0x434666
test edi, 2
jne 0x434653
mov ecx, dword [esp + 0x2c]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
test byte [esp + 0x2c], 2
je 0x43427a
xor ecx, ecx
add edi, 2
mov word [edi - 2], cx
test byte [esp + 0x2c], 1
je 0x434284
mov byte [edi], 0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.00436790
mov eax, edi
mov edi, dword [esp + 0x40]
add eax, ebp
mov dword [esp], eax
mov dword [esp + 0x24], eax
mov dword [esp + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], edi
call fcn.00436790
mov eax, dword [esp + 0x24]
jmp 0x434424
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00436790
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], edi
mov dword [esp + 8], edx
mov dword [esp], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], edx
mov dword [esp + 4], eax
call fcn.00433bd0
mov eax, ebp
neg eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
add eax, esi
mov dword [esp], eax
call fcn.00433bd0
xor eax, eax
mov edx, dword [esp + 0x44]
cmp byte [esp + 0x2c], 0
mov dword [esp + 0x34], 0
jne 0x434218
nop
lea esi, [esi]
lea ecx, [esi + ebx*8]
test eax, eax
lea eax, [ebx*4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], eax
jne 0x4345c1
add eax, esi
mov edx, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
mov dword [esp], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], 0
mov dword [esp + 4], esi
add eax, esi
mov dword [esp + 8], eax
call fcn.004340e0
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.004340e0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
add eax, dword [esp + 0x20]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov dword [esp], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp + 0x24], eax
call fcn.004340e0
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00436540
mov dword [esp + 0xc], ebx
mov edi, eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4345a6
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], eax
call fcn.00436670
sub edi, eax
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
add eax, esi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.00436540
add edi, eax
je 0x43415f
add ebx, dword [esp + 0x30]
lea edx, [esi + ebx*4]
mov eax, dword [edx]
add eax, edi
cmp edi, eax
mov dword [edx], eax
jbe 0x43415f
add edx, 4
add dword [edx], 1
je 0x4344a3
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
call fcn.00433bd0
mov eax, ebp
neg eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
add eax, esi
mov dword [esp], eax
call fcn.00433bd0
xor eax, eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], 1
jmp 0x43420d
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
call fcn.00433bd0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
jmp 0x434320
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], edi
mov dword [esp + 8], edx
mov dword [esp], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], edx
mov dword [esp + 4], eax
call fcn.00433bd0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
jmp 0x4344f7
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.00436540
add edi, eax
jmp 0x434464
lea ecx, [esi + eax]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 0x2c], ecx
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0x48]
jmp 0x4343ac
mov eax, dword [esp + 0x20]
add ebx, esi
neg edx
add ebx, ebp
shl edx, 2
mov dword [esp + 0x78], edx
lea eax, [eax + ebx*4]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp sub.msvcrt.dll_memset
xor eax, eax
mov dword [esp + 0x34], 0
jmp 0x43420d
lea ebp, [ebx*4]
lea eax, [esi + ebp]
mov edi, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 0x38], edx
add eax, esi
mov dword [esp + 8], eax
call fcn.00436790
mov edx, dword [esp + 0x38]
jmp 0x43428c
xor eax, eax
add edi, 2
mov word [edi - 2], ax
sub dword [esp + 0x2c], 2
jmp 0x43425f
mov byte [eax], 0
lea edi, [eax + 1]
mov dword [esp + 0x2c], 0x3f
jmp 0x434253