Function at 0x42ab30
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.00428160
add esp, 0xc
cmp ebp, edi
mov ecx, edi
lea esi, [edi + 0x10]
jae 0x42ab9d
nop
mov eax, dword [ecx - 0xc]
mov edx, dword [ecx + 4]
cmp eax, edx
mov edi, dword [ecx - 0x10]
mov ebx, dword [ecx]
jl 0x42ab96
jg 0x42ab85
cmp edi, ebx
jb 0x42ab96
cmp edx, eax
jl 0x42ab96
jg 0x42ab8f
cmp ebx, edi
jb 0x42ab96
add ecx, 0xfffffff0
cmp ebp, ecx
jb 0x42ab70
mov ebx, dword [esp + 0x8c]
cmp esi, ebx
jae 0x42abcb
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
mov eax, dword [esi + 4]
cmp eax, edi
mov edx, dword [esi]
jl 0x42abcb
jg 0x42abb5
cmp edx, ebx
jb 0x42abcb
cmp edi, eax
jl 0x42abcb
jg 0x42abbf
cmp ebx, edx
jb 0x42abcb
add esi, 0x10
cmp esi, dword [esp + 0x8c]
jb 0x42aba6
mov eax, esi
mov ebx, ecx
nop
cmp eax, dword [esp + 0x8c]
jae 0x42ac52
lea esp, [esp]
mov edx, dword [eax + 4]
cmp dword [ecx + 4], edx
mov edi, dword [eax]
mov ebp, dword [ecx]
jl 0x42ac46
jg 0x42abf2
cmp ebp, edi
jb 0x42ac46
cmp edx, dword [ecx + 4]
jl 0x42ac52
jg 0x42abfd
cmp edi, ebp
jb 0x42ac52
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 0x42abe0
cmp ebx, dword [esp + 0x88]
jbe 0x42ace0
lea edx, [ebx - 0x10]
mov edi, dword [edx + 4]
cmp edi, dword [ecx + 4]
jl 0x42acca
jg 0x42ac72
mov edi, dword [edx]
cmp edi, dword [ecx]
jb 0x42acca
mov edi, dword [edx + 4]
cmp dword [ecx + 4], edi
jl 0x42acd9
jg 0x42ac82
mov edi, dword [edx]
cmp dword [ecx], edi
jb 0x42acd9
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 0x42ac62
cmp ebx, dword [esp + 0x88]
jne 0x42ad91
cmp eax, dword [esp + 0x8c]
je 0x42ae6c
cmp esi, eax
je 0x42ad33
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 0x42abd0
sub ebx, 0x10
cmp eax, dword [esp + 0x8c]
jne 0x42ae28
sub ecx, 0x10
cmp ebx, ecx
je 0x42ade4
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 0x42abd0
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 0x42abd0
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