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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
mov eax, dword [ecx + 0x1f8]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x200]
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0x94]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x2c], eax
add eax, dword [esp + 0x18]
push ebx
push esi
mov esi, dword [ecx + 0x98]
mov ebx, edx
mov dword [esp + 0x54], eax
mov eax, dword [ecx + 0xc]
push edi
lea edi, [ecx + 0x170]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x34]
add ecx, eax
mov dword [esp + 0x40], edi
add eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 8]
add eax, ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
lea ecx, [eax - 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x30], ecx
cmp ebx, dword [esp + 0x2c]
jae 0x464701
mov eax, 0x40
sub eax, esi
mov dword [esp + 0x44], eax
nop dword [eax]
push dword [ebp + 0xc]
mov edx, dword [esp + 0x54]
mov ecx, ebx
mov dword [esp + 0x78], ebx
call fcn.00462a30
mov ecx, dword [esp + 0x58]
add esp, 4
mov edi, dword [esp + 0x34]
lea esi, [ecx + eax*4]
mov eax, edi
mov ecx, dword [esi]
cmp ecx, dword [esp + 0x14]
push 0xcf1bbcdc
cmovb eax, dword [esp + 0x28]
push 0xb7a56463
push dword [ebx + 4]
add eax, ecx
mov dword [esp + 0x68], ecx
push dword [ebx]
mov dword [esp + 0x70], eax
call fcn.004a7b10
mov ecx, dword [esp + 0x44]
call fcn.004a7530
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
cmp edx, dword [esp + 0x14]
mov eax, edi
mov dword [esp + 0x68], edx
cmovb eax, dword [esp + 0x24]
add edx, eax
mov eax, ebx
sub eax, edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x28], eax
sub eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x4c], eax
mov eax, edi
mov edi, dword [esp + 0x4c]
cmp edi, dword [esp + 0x14]
cmovb eax, dword [esp + 0x24]
add eax, edi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x28]
mov dword [ecx], eax
mov dword [esi], eax
mov esi, dword [esp + 0x14]
mov eax, esi
sub eax, edi
dec eax
cmp eax, 3
mov eax, dword [esp + 0x38]
sbb ecx, ecx
inc ecx
cmp eax, edi
mov edi, dword [esp + 0x40]
sbb eax, eax
neg eax
test eax, ecx
je 0x4641d6
mov eax, dword [esp + 0x64]
lea ecx, [ebx + 1]
mov dword [esp + 0x70], ecx
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x4641d6
mov edx, dword [esp + 0x10]
mov edi, edx
cmp dword [esp + 0x4c], esi
mov ecx, edx
mov esi, dword [esp + 0x64]
cmovb edi, dword [esp + 0x3c]
add ebx, 5
add esi, 4
mov dword [esp + 0x6c], ebx
mov eax, ebx
sub eax, esi
add eax, edi
cmp eax, edx
mov edx, esi
cmovb ecx, eax
push ecx
mov ecx, ebx
call fcn.00462970
mov ebx, eax
add esp, 4
lea ecx, [ebx + esi]
cmp ecx, edi
jne 0x4641c0
mov ecx, dword [esp + 0x6c]
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [ebx + ecx]
call fcn.00462970
add esp, 4
add ebx, eax
mov edi, dword [esp + 0x18]
lea esi, [ebx + 4]
mov ebx, dword [esp + 0x70]
mov edx, ebx
sub edx, edi
xor eax, eax
jmp 0x4644b9
mov ecx, dword [esp + 0x68]
cmp ecx, dword [esp + 0x38]
jbe 0x4642b1
mov eax, dword [edx]
cmp eax, dword [ebx]
jne 0x4642b1
mov eax, dword [ebx + 4]
cmp dword [edx + 4], eax
jne 0x4642b1
mov edx, dword [esp + 0x10]
cmp ecx, esi
mov eax, dword [esp + 0x1c]
mov edi, edx
cmovb eax, dword [esp + 0x58]
mov ecx, edx
cmovb edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x64], eax
add esi, 8
lea eax, [ebx + 8]
sub eax, esi
add eax, edi
cmp eax, edx
mov edx, esi
cmovb ecx, eax
push ecx
lea ecx, [ebx + 8]
call fcn.00462970
add esp, 4
mov dword [esp + 0x70], eax
lea ecx, [eax + esi]
cmp ecx, edi
jne 0x46425b
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [eax + 8]
add ecx, ebx
call fcn.00462970
add esp, 4
add eax, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
lea esi, [eax + 8]
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x68]
cmp dword [esp + 0x64], edx
mov edi, dword [esp + 0x18]
sbb ecx, ecx
mov dword [esp + 0x70], eax
neg ecx
cmp edi, ebx
sbb eax, eax
neg eax
test eax, ecx
je 0x4642a0
mov al, byte [ebx - 1]
dec edx
cmp al, byte [edx]
jne 0x4642a0
dec ebx
inc esi
cmp dword [esp + 0x64], edx
sbb ecx, ecx
neg ecx
cmp edi, ebx
sbb eax, eax
neg eax
test eax, ecx
jne 0x464284
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x70]
jmp 0x4644ae
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x5c], ecx
jbe 0x4646d9
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
cmp eax, dword [ebx]
jne 0x4646d9
push 0xcf1bbcdc
lea edi, [ebx + 1]
push 0xb7a56463
push dword [edi + 4]
mov dword [esp + 0x74], edi
push dword [edi]
call fcn.004a7b10
mov ecx, dword [esp + 0x44]
call fcn.004a7530
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
cmp edx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
cmovb esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
add esi, edx
inc eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x64], esi
mov dword [ecx], eax
cmp edx, dword [esp + 0x38]
jbe 0x4643f6
mov eax, dword [esi]
mov ecx, dword [edi + 4]
cmp eax, dword [edi]
jne 0x4643f6
cmp dword [esi + 4], ecx
jne 0x4643f6
mov edx, dword [esp + 0x10]
mov edi, edx
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x1c]
cmovb ecx, dword [esp + 0x58]
cmovb edi, dword [esp + 0x3c]
add esi, 8
add ebx, 9
mov dword [esp + 0x6c], ecx
mov eax, ebx
mov dword [esp + 0x70], ebx
sub eax, esi
mov ecx, edx
add eax, edi
cmp eax, edx
mov edx, esi
cmovb ecx, eax
push ecx
mov ecx, ebx
call fcn.00462970
mov ebx, eax
add esp, 4
lea ecx, [ebx + esi]
cmp ecx, edi
jne 0x46439f
mov ecx, dword [esp + 0x70]
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [ebx + ecx]
call fcn.00462970
add esp, 4
add ebx, eax
mov eax, dword [esp + 0x28]
lea esi, [ebx + 8]
sub eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x64]
inc eax
cmp dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x68]
mov edi, dword [esp + 0x18]
sbb ecx, ecx
neg ecx
mov dword [esp + 0x68], eax
cmp edi, ebx
sbb eax, eax
neg eax
test eax, ecx
je 0x4644a2
mov al, byte [ebx - 1]
dec edx
cmp al, byte [edx]
jne 0x4644a2
dec ebx
inc esi
cmp dword [esp + 0x6c], edx
sbb ecx, ecx
neg ecx
cmp edi, ebx
sbb eax, eax
neg eax
test eax, ecx
jne 0x4643d1
jmp 0x4644a2
mov edx, dword [esp + 0x10]
mov edi, edx
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x5c], eax
lea eax, [ebx + 4]
mov ecx, dword [esp + 0x1c]
cmovb ecx, dword [esp + 0x58]
cmovb edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x60]
add esi, 4
mov dword [esp + 0x6c], ecx
sub eax, esi
mov ecx, edx
add eax, edi
cmp eax, edx
mov edx, esi
cmovb ecx, eax
push ecx
lea ecx, [ebx + 4]
call fcn.00462970
add esp, 4
mov dword [esp + 0x70], eax
lea ecx, [eax + esi]
cmp ecx, edi
jne 0x46445d
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [eax + 4]
add ecx, ebx
call fcn.00462970
add esp, 4
add eax, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
lea esi, [eax + 4]
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x5c]
cmp dword [esp + 0x6c], edx
mov edi, dword [esp + 0x18]
sbb ecx, ecx
mov dword [esp + 0x68], eax
neg ecx
cmp edi, ebx
sbb eax, eax
neg eax
test eax, ecx
je 0x4644a2
mov al, byte [ebx - 1]
dec edx
cmp al, byte [edx]
jne 0x4644a2
dec ebx
inc esi
cmp dword [esp + 0x6c], edx
sbb ecx, ecx
neg ecx
cmp edi, ebx
sbb eax, eax
neg eax
test eax, ecx
jne 0x464486
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
mov edx, ebx
mov dword [esp + 0x20], eax
sub edx, edi
add eax, 2
lea ecx, [esi - 3]
push ecx
push eax
push edi
mov edi, dword [esp + 0x4c]
mov ecx, edi
call fcn.004628f0
mov eax, dword [esp + 0x38]
add ebx, esi
add esp, 0xc
mov edx, ebx
mov dword [esp + 0x18], edx
cmp ebx, eax
ja 0x4646f9
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x28]
push dword [ebp + 0xc]
mov edx, dword [esp + 0x54]
add edi, 2
lea ecx, [esi + 2]
call fcn.00462a30
mov ecx, dword [esp + 0x58]
add esp, 4
push 0xcf1bbcdc
push 0xb7a56463
mov dword [ecx + eax*4], edi
push dword [esi + 6]
push dword [esi + 2]
call fcn.004a7b10
mov ecx, dword [esp + 0x44]
call fcn.004a7530
mov ecx, dword [esp + 0x48]
push dword [ebp + 0xc]
mov edx, dword [esp + 0x54]
mov dword [ecx + eax*4], edi
mov edi, ebx
sub edi, dword [esp + 0x38]
lea ecx, [ebx - 2]
add edi, 0xfffffffe
call fcn.00462a30
mov ecx, dword [esp + 0x58]
add esp, 4
push 0xcf1bbcdc
push 0xb7a56463
mov dword [ecx + eax*4], edi
push dword [ebx + 2]
push dword [ebx - 2]
call fcn.004a7b10
mov ecx, dword [esp + 0x44]
call fcn.004a7530
mov ecx, dword [esp + 0x48]
mov dword [ecx + eax*4], edi
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov eax, ebx
sub eax, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
mov edx, eax
sub edx, dword [esp + 0x30]
cmp edx, ecx
mov dword [esp + 0x70], eax
cmovae esi, dword [esp + 0x34]
sub ecx, edx
dec ecx
add esi, edx
cmp ecx, 3
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x38], edx
sbb eax, eax
neg eax
test eax, ecx
je 0x4646e9
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x4646e9
cmp edx, dword [esp + 0x14]
lea eax, [ebx + 4]
mov ecx, dword [esp + 0x10]
mov edi, ecx
cmovb edi, dword [esp + 0x3c]
add esi, 4
sub eax, esi
mov edx, esi
add eax, edi
cmp eax, ecx
cmovb ecx, eax
push ecx
lea ecx, [ebx + 4]
call fcn.00462970
add esp, 4
mov dword [esp + 0x74], eax
lea ecx, [eax + esi]
cmp ecx, edi
jne 0x464609
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [eax + 4]
add ecx, ebx
call fcn.00462970
add esp, 4
add eax, dword [esp + 0x74]
mov edi, dword [esp + 0x40]
lea ecx, [eax + 4]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xc]
mov esi, eax
mov dword [esp + 0x30], edx
mov edx, ebx
mov dword [esp + 0x6c], ecx
nop dword [eax + eax]
mov ecx, dword [edx]
lea edx, [edx + 8]
mov dword [eax], ecx
mov ecx, dword [edx - 4]
mov dword [eax + 4], ecx
add eax, 8
cmp eax, esi
jb 0x464630
mov eax, dword [edi + 4]
xor ecx, ecx
mov edx, dword [esp + 0x6c]
add edx, 0xfffffffd
mov word [eax + 4], cx
mov eax, dword [edi + 4]
mov dword [eax], 1
mov ecx, dword [edi + 4]
cmp edx, 0xffff
jbe 0x464679
mov eax, ecx
mov dword [edi + 0x1c], 2
sub eax, dword [edi]
sar eax, 3
mov dword [edi + 0x20], eax
push dword [ebp + 0xc]
mov word [ecx + 6], dx
mov ecx, ebx
mov edx, dword [esp + 0x54]
add dword [edi + 4], 8
call fcn.00462a30
mov ecx, dword [esp + 0x58]
add esp, 4
mov esi, dword [esp + 0x70]
push 0xcf1bbcdc
push 0xb7a56463
mov dword [ecx + eax*4], esi
push dword [ebx + 4]
push dword [ebx]
call fcn.004a7b10
mov ecx, dword [esp + 0x44]
call fcn.004a7530
mov ecx, dword [esp + 0x48]
add ebx, dword [esp + 0x6c]
mov edx, ebx
mov dword [esp + 0x18], edx
mov dword [ecx + eax*4], esi
mov eax, dword [esp + 0x2c]
cmp ebx, eax
jbe 0x464575
jmp 0x4646f1
mov edx, dword [esp + 0x18]
mov eax, ebx
sub eax, edx
sar eax, 8
inc eax
add ebx, eax
jmp 0x4646ed
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
cmp ebx, eax
jb 0x464090
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
sub eax, edx
mov dword [edi + 0x30], ebx
mov dword [edi + 0x34], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret