Function at 0x462ff0
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
push esi
push edi
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x90]
sar edi, 1
push eax
lea ecx, [ebx - 0x10]
shl edi, 4
push ecx
add edi, ebp
push edi
push ebp
call fcn.00462250
add esp, 0x10
cmp ebp, edi
mov ecx, edi
lea esi, [edi + 0x10]
jae 0x463064
mov eax, dword [ecx - 0xc]
mov edx, dword [ecx + 4]
cmp eax, edx
mov edi, dword [ecx - 0x10]
mov ebx, dword [ecx]
jb 0x46305d
ja 0x46304c
cmp edi, ebx
jb 0x46305d
cmp edx, eax
jb 0x46305d
ja 0x463056
cmp ebx, edi
jb 0x46305d
add ecx, 0xfffffff0
cmp ebp, ecx
jb 0x463037
mov ebx, dword [esp + 0x8c]
cmp esi, ebx
jae 0x463095
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
lea ecx, [ecx]
mov eax, dword [esi + 4]
cmp eax, edi
mov edx, dword [esi]
jb 0x463095
ja 0x46307f
cmp edx, ebx
jb 0x463095
cmp edi, eax
jb 0x463095
ja 0x463089
cmp ebx, edx
jb 0x463095
add esi, 0x10
cmp esi, dword [esp + 0x8c]
jb 0x463070
mov eax, esi
mov ebx, ecx
lea esp, [esp]
cmp eax, dword [esp + 0x8c]
jae 0x463122
lea esp, [esp]
mov edx, dword [ecx + 4]
cmp edx, dword [eax + 4]
mov edi, dword [ecx]
mov ebp, dword [eax]
jb 0x463116
ja 0x4630c2
cmp edi, ebp
jb 0x463116
cmp dword [eax + 4], edx
jb 0x463122
ja 0x4630cd
cmp ebp, edi
jb 0x463122
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 0x4630b0
cmp ebx, dword [esp + 0x88]
jbe 0x4631b0
lea edx, [ebx - 0x10]
mov edi, dword [edx + 4]
cmp edi, dword [ecx + 4]
jb 0x46319a
ja 0x463142
mov edi, dword [edx]
cmp edi, dword [ecx]
jb 0x46319a
mov edi, dword [edx + 4]
cmp dword [ecx + 4], edi
jb 0x4631a9
ja 0x463152
mov edi, dword [edx]
cmp dword [ecx], edi
jb 0x4631a9
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 0x463132
cmp ebx, dword [esp + 0x88]
jne 0x463261
cmp eax, dword [esp + 0x8c]
je 0x46333c
cmp esi, eax
je 0x463203
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 0x4630a0
sub ebx, 0x10
cmp eax, dword [esp + 0x8c]
jne 0x4632f8
sub ecx, 0x10
cmp ebx, ecx
je 0x4632b4
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 0x4630a0
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 0x4630a0
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