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

Disassembly:
sub esp, 0x70
push ebx
mov ebx, dword [esp + 0x80]
push ebp
mov ebp, dword [esp + 0x80]
mov eax, ebx
sub eax, ebp
sar eax, 4
cdq
push esi
push edi
sub eax, edx
mov edi, eax
sar edi, 1
lea eax, [ebx - 0x10]
shl edi, 4
push eax
add edi, ebp
push edi
push ebp
call fcn.00428640
add esp, 0xc
cmp ebp, edi
mov ecx, edi
lea esi, [edi + 0x10]
jae 0x42b5dd
nop
mov eax, dword [ecx - 0xc]
mov edx, dword [ecx + 4]
cmp eax, edx
mov edi, dword [ecx - 0x10]
mov ebx, dword [ecx]
jl 0x42b5d6
jg 0x42b5c5
cmp edi, ebx
jb 0x42b5d6
cmp edx, eax
jl 0x42b5d6
jg 0x42b5cf
cmp ebx, edi
jb 0x42b5d6
add ecx, 0xfffffff0
cmp ebp, ecx
jb 0x42b5b0
mov ebx, dword [esp + 0x8c]
cmp esi, ebx
jae 0x42b60b
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
mov eax, dword [esi + 4]
cmp eax, edi
mov edx, dword [esi]
jl 0x42b60b
jg 0x42b5f5
cmp edx, ebx
jb 0x42b60b
cmp edi, eax
jl 0x42b60b
jg 0x42b5ff
cmp ebx, edx
jb 0x42b60b
add esi, 0x10
cmp esi, dword [esp + 0x8c]
jb 0x42b5e6
mov eax, esi
mov ebx, ecx
nop
cmp eax, dword [esp + 0x8c]
jae 0x42b692
lea esp, [esp]
mov edx, dword [eax + 4]
cmp dword [ecx + 4], edx
mov edi, dword [eax]
mov ebp, dword [ecx]
jl 0x42b686
jg 0x42b632
cmp ebp, edi
jb 0x42b686
cmp edx, dword [ecx + 4]
jl 0x42b692
jg 0x42b63d
cmp edi, ebp
jb 0x42b692
mov edx, esi
mov ebp, dword [edx + 4]
mov edi, dword [edx]
mov dword [esp + 0x24], ebp
mov ebp, dword [edx + 8]
mov dword [esp + 0x28], ebp
mov ebp, dword [edx + 0xc]
mov dword [esp + 0x2c], ebp
mov ebp, dword [eax]
mov dword [edx], ebp
mov ebp, dword [eax + 4]
mov dword [edx + 4], ebp
mov ebp, dword [eax + 8]
mov dword [edx + 8], ebp
mov ebp, dword [eax + 0xc]
mov dword [edx + 0xc], ebp
mov edx, dword [esp + 0x24]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x2c]
add esi, 0x10
mov dword [eax + 0xc], edx
add eax, 0x10
cmp eax, dword [esp + 0x8c]
jb 0x42b620
cmp ebx, dword [esp + 0x88]
jbe 0x42b720
lea edx, [ebx - 0x10]
mov edi, dword [edx + 4]
cmp edi, dword [ecx + 4]
jl 0x42b70a
jg 0x42b6b2
mov edi, dword [edx]
cmp edi, dword [ecx]
jb 0x42b70a
mov edi, dword [edx + 4]
cmp dword [ecx + 4], edi
jl 0x42b719
jg 0x42b6c2
mov edi, dword [edx]
cmp dword [ecx], edi
jb 0x42b719
mov ebp, dword [ecx - 0xc]
mov edi, dword [ecx - 0x10]
sub ecx, 0x10
mov dword [esp + 0x34], ebp
mov ebp, dword [ecx + 8]
mov dword [esp + 0x38], ebp
mov ebp, dword [ecx + 0xc]
mov dword [esp + 0x3c], ebp
mov ebp, dword [edx]
mov dword [ecx], ebp
mov ebp, dword [edx + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [edx + 8]
mov dword [ecx + 8], ebp
mov ebp, dword [edx + 0xc]
mov dword [ecx + 0xc], ebp
mov dword [edx], edi
mov edi, dword [esp + 0x34]
mov dword [edx + 4], edi
mov edi, dword [esp + 0x38]
mov dword [edx + 8], edi
mov edi, dword [esp + 0x3c]
mov dword [edx + 0xc], edi
sub ebx, 0x10
sub edx, 0x10
cmp dword [esp + 0x88], ebx
jb 0x42b6a2
cmp ebx, dword [esp + 0x88]
jne 0x42b7d1
cmp eax, dword [esp + 0x8c]
je 0x42b8ac
cmp esi, eax
je 0x42b773
mov ebp, dword [ecx + 8]
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0x48], ebp
mov ebp, dword [ecx + 0xc]
mov dword [esp + 0x4c], ebp
mov ebp, dword [esi]
mov dword [ecx], ebp
mov ebp, dword [esi + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [esi + 8]
mov dword [ecx + 8], ebp
mov ebp, dword [esi + 0xc]
mov dword [ecx + 0xc], ebp
mov dword [esi], edx
mov edx, dword [esp + 0x48]
mov dword [esi + 4], edi
mov dword [esi + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [esi + 0xc], edx
mov edi, ecx
mov ebp, dword [edi]
mov dword [esp + 0x10], ebp
mov ebp, dword [edi + 4]
mov dword [esp + 0x14], ebp
mov ebp, dword [edi + 8]
mov edx, eax
mov dword [esp + 0x18], ebp
mov ebp, dword [edi + 0xc]
mov dword [esp + 0x1c], ebp
mov ebp, dword [edx]
mov dword [edi], ebp
mov ebp, dword [edx + 4]
mov dword [edi + 4], ebp
mov ebp, dword [edx + 8]
mov dword [edi + 8], ebp
mov ebp, dword [edx + 0xc]
mov dword [edi + 0xc], ebp
mov edi, dword [esp + 0x10]
mov dword [edx], edi
mov edi, dword [esp + 0x14]
mov dword [edx + 4], edi
mov edi, dword [esp + 0x18]
mov dword [edx + 8], edi
mov edi, dword [esp + 0x1c]
add esi, 0x10
add ecx, 0x10
add eax, 0x10
mov dword [edx + 0xc], edi
jmp 0x42b610
sub ebx, 0x10
cmp eax, dword [esp + 0x8c]
jne 0x42b868
sub ecx, 0x10
cmp ebx, ecx
je 0x42b824
mov ebp, dword [ebx + 8]
mov edx, dword [ebx]
mov edi, dword [ebx + 4]
mov dword [esp + 0x58], ebp
mov ebp, dword [ebx + 0xc]
mov dword [esp + 0x5c], ebp
mov ebp, dword [ecx]
mov dword [ebx], ebp
mov ebp, dword [ecx + 4]
mov dword [ebx + 4], ebp
mov ebp, dword [ecx + 8]
mov dword [ebx + 8], ebp
mov ebp, dword [ecx + 0xc]
mov dword [ebx + 0xc], ebp
mov dword [ecx], edx
mov edx, dword [esp + 0x58]
mov dword [ecx + 4], edi
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [ecx + 0xc], edx
mov ebp, dword [ecx + 8]
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
sub esi, 0x10
mov dword [esp + 0x68], ebp
mov ebp, dword [ecx + 0xc]
mov dword [esp + 0x6c], ebp
mov ebp, dword [esi]
mov dword [ecx], ebp
mov ebp, dword [esi + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [esi + 8]
mov dword [ecx + 8], ebp
mov ebp, dword [esi + 0xc]
mov dword [ecx + 0xc], ebp
mov dword [esi], edx
mov edx, dword [esp + 0x68]
mov dword [esi + 4], edi
mov dword [esi + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esi + 0xc], edx
jmp 0x42b610
mov ebp, dword [eax + 8]
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0x78], ebp
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x7c], ebp
mov ebp, dword [ebx]
mov dword [eax], ebp
mov ebp, dword [ebx + 4]
mov dword [eax + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [eax + 8], ebp
mov ebp, dword [ebx + 0xc]
mov dword [eax + 0xc], ebp
mov dword [ebx], edx
mov edx, dword [esp + 0x78]
mov dword [ebx + 4], edi
mov dword [ebx + 8], edx
mov edx, dword [esp + 0x7c]
mov dword [ebx + 0xc], edx
add eax, 0x10
jmp 0x42b610
mov eax, dword [esp + 0x84]
pop edi
mov dword [eax + 4], esi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x70
ret