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

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 0x3c
mov eax, dword [ecx + 0x58]
push ebx
push ebp
push esi
test eax, eax
push edi
jne 0x464fca
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov edx, dword [esp + 0x50]
mov esi, dword [ecx + 0x60]
mov dword [esp + 0x20], 0xff
mov ebx, dword [edx + 0xc]
mov edx, dword [ebx + 4]
mov dword [esp + 0x1c], edx
mov edi, dword [eax + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [edi + 4]
mov dword [esp + 0x28], edx
mov edx, dword [edi + 8]
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x2c], edx
cmp esi, 0x64
mov edx, esi
setl al
shl edx, 8
mov dword [esp + 0x40], eax
sub edx, esi
mov eax, 0x51eb851f
mov esi, dword [edi + 0x18]
imul edx
sar edx, 5
mov eax, edx
xor ebp, ebp
shr eax, 0x1f
add edx, eax
mov eax, 0xff
sub eax, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], eax
mov al, byte [ecx + 0x74]
mov byte [esp + 0x13], al
xor eax, eax
mov al, byte [ecx + 0x75]
mov edx, dword [ecx + 0x70]
mov byte [esp + 0x50], al
mov eax, dword [ecx + 0x74]
shr eax, 0x10
mov byte [esp + 0x54], al
mov eax, dword [edi + 0x14]
mov edi, dword [edi + 0x2c]
mov dword [esp + 0x3c], edx
mov edx, dword [ebx + 0x18]
mov ebx, dword [ebx + 0x14]
test edi, edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x38], eax
je 0x46507c
mov edx, dword [edi + 0xc]
mov eax, dword [edx + 0x18]
mov dword [esp + 0x14], eax
mov ebp, eax
mov edx, dword [ecx + 0x78]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
push 0
push 0
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push edx
mov edx, dword [ecx + 0x68]
push eax
mov eax, dword [ecx + 0x64]
mov ecx, dword [ecx + 0x5c]
push edi
push edx
push eax
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
call fcn.00463810
add esp, 0x30
cmp eax, 0xffffffff
mov dword [esp + 0x48], eax
jne 0x4650cc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x3c
ret
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
imul ecx, ebx
lea edx, [edx + eax*2]
add eax, edx
add ecx, eax
mov eax, dword [esp + 0x1c]
sub edi, eax
mov eax, dword [esp + 0x24]
cmp edi, eax
mov dword [esp + 0x1c], edi
jle 0x4650fa
mov edi, eax
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
sub eax, edx
mov edx, eax
mov eax, dword [esp + 0x2c]
cmp edx, eax
mov dword [esp + 0x18], edx
jle 0x465116
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x38]
lea eax, [edi + edi*2]
sub ebx, eax
sub edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], ebx
test eax, eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], 0
jle 0x4652e7
test edi, edi
mov dword [esp + 0x2c], 0
jle 0x4652c0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x46518f
mov al, byte [esp + 0x54]
mov dl, byte [esi]
cmp dl, al
jne 0x46518f
mov dl, byte [esp + 0x50]
mov al, byte [esi + 1]
cmp al, dl
jne 0x46518f
mov al, byte [esp + 0x13]
mov dl, byte [esi + 2]
cmp dl, al
jne 0x46518f
add esi, 3
add ecx, 3
test ebp, ebp
je 0x4652a7
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4652a7
test ebp, ebp
je 0x46519c
xor edx, edx
mov dl, byte [ebp]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4651d7
mov eax, dword [esp + 0x20]
cmp eax, 0xff
jne 0x465206
mov al, byte [esi]
mov byte [ecx], al
mov dl, byte [esi + 1]
inc ecx
inc esi
mov byte [ecx], dl
mov al, byte [esi + 1]
inc ecx
inc esi
mov byte [ecx], al
inc ecx
inc esi
test ebp, ebp
je 0x4652a7
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4652a7
mov edi, dword [esp + 0x20]
cmp edi, 0xff
je 0x465211
imul edi, dword [esp + 0x30]
mov eax, 0x80808081
imul edi
add edx, edi
mov edi, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
sub edi, ebp
jmp 0x465219
mov edi, 0xff
mov ebp, eax
sub edi, eax
jmp 0x465219
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x30]
xor edx, edx
xor eax, eax
mov dl, byte [esi]
mov al, byte [ecx]
imul edx, ebp
imul eax, edi
lea ebx, [edx + eax + 0x7f]
mov eax, 0x80808081
imul ebx
add edx, ebx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
inc esi
mov byte [ecx], dl
inc ecx
xor edx, edx
xor eax, eax
mov dl, byte [esi]
mov al, byte [ecx]
imul edx, ebp
imul eax, edi
lea ebx, [edx + eax + 0x7f]
mov eax, 0x80808081
imul ebx
add edx, ebx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
inc esi
mov byte [ecx], dl
inc ecx
xor edx, edx
xor eax, eax
mov dl, byte [esi]
mov al, byte [ecx]
imul edx, ebp
imul eax, edi
lea edi, [edx + eax + 0x7f]
mov eax, 0x80808081
imul edi
add edx, edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x14]
mov byte [ecx], dl
inc esi
inc ecx
test eax, eax
je 0x4652a3
add eax, 3
mov dword [esp + 0x14], eax
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
inc eax
cmp eax, edi
mov dword [esp + 0x2c], eax
jl 0x46514d
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
add esi, edx
add ecx, ebx
test ebp, ebp
je 0x4652d2
add ebp, edx
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
inc eax
cmp eax, ebx
mov dword [esp + 0x28], eax
jl 0x46513d
mov eax, dword [esp + 0x48]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret