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

Disassembly:
mov eax, dword [esp + 0x18]
sub esp, 0x58
push ebx
xor ebx, ebx
cmp eax, ebx
jne 0x4659bf
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x70]
push ebx
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edx
push eax
call fcn.00465650
add esp, 0x20
pop ebx
add esp, 0x58
ret
test byte [esp + 0x78], 1
je 0x4659e0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], 0xfffe0000
mov dword [esp + 0x2c], 0x20000
jmp 0x4659f5
mov ecx, 0x20000
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
cmp eax, 4
jb 0x4659ff
mov eax, 3
mov ecx, dword [eax*4 + 0x53a848]
push esi
push edi
mov edi, dword [eax*4 + 0x53a838]
lea edx, [esp + 0x2c]
push edx
mov edx, dword [esp + 0x78]
push ebx
push ebx
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x88]
push edi
push ecx
push edx
call dword [sym.imp.gdi32.dll_GetGlyphOutline]
mov esi, eax
cmp esi, 0xffffffff
jne 0x465a72
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
call fcn.00433e90
push 0x530474
lea eax, [esp + 0x1c]
push ebx
push eax
mov dword [esp + 0x24], 0x53a858
mov dword [esp + 0x28], 0x294
call fcn.0041ce50
add esp, 0x10
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x58
ret
cmp esi, ebx
jne 0x465a7c
xor ecx, ecx
xor eax, eax
jmp 0x465a8a
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
inc ecx
shr ecx, 1
inc eax
shr eax, 1
mov edx, dword [esp + 0x48]
sar word [esp + 0x4c], 1
sar word [esp + 0x4e], 1
sar edx, 1
push ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x88]
sar ebp, 1
cmp edx, ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebp
je 0x465ad6
mov ebx, edx
mov dword [ebx], ecx
mov dword [ebx + 4], eax
mov dword [ebx + 8], ebp
mov ebp, dword [esp + 0x4c]
mov dword [ebx + 0xc], ebp
mov ebp, dword [esp + 0x50]
mov dword [ebx + 0x10], ebp
xor ebx, ebx
cmp esi, ebx
je 0x465c2b
cmp dword [esp + 0x6c], ebx
je 0x465c31
mov edx, dword [esp + 0x74]
cmp edx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
je 0x465b1f
lea ecx, [esp + 0x20]
push ecx
push edx
push ebx
call fcn.004a61c0
add esp, 0xc
test al, al
je 0x465c21
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
sub ecx, edx
sub eax, ebp
push esi
mov ebx, ecx
mov dword [esp + 0x84], eax
call fcn.0050c8ae
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x465b70
push 0x530474
push eax
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], 0x53a858
mov dword [esp + 0x28], 0x2d5
call fcn.0041ce50
add esp, 0xc
pop ebp
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x58
ret
mov edx, dword [esp + 0x7c]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x7c]
push ebp
push esi
lea ecx, [esp + 0x60]
push ecx
push edi
push edx
push eax
call dword [sym.imp.gdi32.dll_GetGlyphOutline]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
lea esi, [edx + 3]
and esi, 0xfffffffc
push esi
push ebp
call fcn.004654f0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x28]
mov eax, esi
imul eax, ecx
imul ecx, edx
sub esi, ebx
add ecx, edi
add eax, ebp
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x74]
add eax, edi
add ecx, esi
add esp, 8
sub edx, ebx
mov edi, ecx
mov dword [esp + 0x14], edx
mov esi, ebx
jmp 0x465be0
movzx edx, byte [eax]
mov ecx, dword [esp + 0x10]
imul edx, edx, 0xff
shr edx, cl
inc edi
inc eax
dec esi
test esi, esi
mov byte [edi - 1], dl
jg 0x465be0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add eax, ecx
mov ecx, dword [esp + 0x80]
add edi, edx
dec ecx
test ecx, ecx
mov dword [esp + 0x80], ecx
jg 0x465bd3
push ebp
call fcn.0051b80d
add esp, 4
pop ebp
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x58
ret
cmp dword [esp + 0x6c], ebx
jne 0x465c21
cmp edx, ebx
jne 0x465c21
push 0x530474
lea eax, [esp + 0x1c]
push ebx
push eax
mov dword [esp + 0x24], 0x53a858
mov dword [esp + 0x28], 0x2b4
call fcn.0041ce50
add esp, 0xc
pop ebp
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x58
ret