Function at 0x433ef0
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 0x433f77
cmp byte [esp + 0x2c], 0
je 0x433f77
test ebp, ebp
je 0x4340e0
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.00433d90
add edi, ebp
mov edx, edi
js 0x4343f5
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebx, 0xf
jle 0x433f3f
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.0041ea70
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.0041ea70
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.0x434005
jmp dword [eax*4 + 0x4c9f64]
mov eax, 1
mov dword [esp + 0x34], 0
cmp byte [esp + 0x2c], 0
je 0x434160
cmp dword [esp + 0x30], 8
jne 0x434160
test ebp, ebp
jne 0x434160
test eax, eax
je 0x434430
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 0x434476
test edi, 2
jne 0x434463
mov ecx, dword [esp + 0x2c]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
test byte [esp + 0x2c], 2
je 0x43408a
xor ecx, ecx
add edi, 2
mov word [edi - 2], cx
test byte [esp + 0x2c], 1
je 0x434094
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.004365a0
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.004365a0
mov eax, dword [esp + 0x24]
jmp 0x434234
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004365a0
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.004339e0
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.004339e0
xor eax, eax
mov edx, dword [esp + 0x44]
cmp byte [esp + 0x2c], 0
mov dword [esp + 0x34], 0
jne 0x434028
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 0x4343d1
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.00433ef0
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.00433ef0
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.00433ef0
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.00436350
mov dword [esp + 0xc], ebx
mov edi, eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4343b6
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], eax
call fcn.00436480
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.00436350
add edi, eax
je 0x433f6f
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 0x433f6f
add edx, 4
add dword [edx], 1
je 0x4342b3
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.004339e0
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.004339e0
xor eax, eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], 1
jmp 0x43401d
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.004339e0
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 0x434130
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.004339e0
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 0x434307
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.00436350
add edi, eax
jmp 0x434274
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 0x4341bc
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 0x43401d
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.004365a0
mov edx, dword [esp + 0x38]
jmp 0x43409c
xor eax, eax
add edi, 2
mov word [edi - 2], ax
sub dword [esp + 0x2c], 2
jmp 0x43406f
mov byte [eax], 0
lea edi, [eax + 1]
mov dword [esp + 0x2c], 0x3f
jmp 0x434063