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

Disassembly:
sub esp, 0xd4
mov eax, dword [ecx + 0x58]
push ebx
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 8], ecx
jne 0x497760
xor eax, eax
pop ebx
add esp, 0xd4
ret 0x18
push ebp
mov ebp, dword [esp + 0xf0]
push 1
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.00497560
test eax, eax
jne 0x497784
pop ebp
pop ebx
add esp, 0xd4
ret 0x18
push esi
push edi
mov edi, dword [esp + 0x28]
cmp edi, ebx
je 0x497a37
mov esi, dword [esp + 0x2c]
cmp esi, ebx
je 0x497a37
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
mov dword [esp + 0x54], ecx
add ecx, edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x58], eax
add eax, ecx
push esi
push edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
call fcn.004b5610
mov ecx, eax
call fcn.004b56f0
mov esi, eax
cmp esi, ebx
mov dword [esp + 0x24], esi
jne 0x497805
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xd4
ret 0x18
push ebx
push ebx
mov ecx, esi
call fcn.004b6b90
push ebp
call fcn.004a525c
xor edi, edi
add esp, 4
cmp eax, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], edi
jle 0x4979f8
jmp 0x497831
xor ebx, ebx
mov eax, 1
mov word [esp + 0x30], bx
mov word [esp + 0x32], ax
mov word [esp + 0x34], bx
mov word [esp + 0x36], bx
mov word [esp + 0x38], bx
mov word [esp + 0x3a], bx
mov word [esp + 0x3c], bx
mov word [esp + 0x3e], ax
xor ebp, ebp
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x58]
push edx
call fcn.00497380
mov esi, eax
test esi, esi
je 0x4978ec
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x58]
mov edx, dword [esp + 0xf8]
xor eax, eax
mov ax, word [edx + edi*2]
mov edx, dword [esp + 0x10]
push eax
push edx
call fcn.004974f0
mov ebx, eax
test bx, bx
je 0x4978ec
lea eax, [esp + 0xac]
push eax
push esi
call dword [sym.imp.gdi32.dll_GetTextMetricsA]
lea ecx, [esp + 0x30]
push ecx
push 0
push 0
lea edx, [esp + 0x4c]
push edx
movzx eax, bx
push 0x86
push eax
push esi
call dword [sym.imp.gdi32.dll_GetGlyphOutline]
mov ecx, dword [esp + 0xf8]
mov ebp, eax
mov ax, word [ecx + edi*2]
cmp ax, 0x20
je 0x4978e7
cmp ax, 0x3000
jne 0x4978e8
inc ebp
test ebp, ebp
ja 0x497906
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0xa
mov dword [esp + 0x10], eax
jl 0x497864
test ebp, ebp
je 0x4979e3
lea edi, [ebp + 4]
push edi
call fcn.004fb3e1
mov edx, eax
mov ecx, edi
mov dword [esp + 0x14], edx
mov edi, edx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
add esp, 4
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x30]
push eax
push ecx
push ebp
lea edx, [esp + 0x4c]
push edx
movzx eax, bx
push 0x86
push eax
push esi
call dword [sym.imp.gdi32.dll_GetGlyphOutline]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x4c]
mov ebx, dword [ecx + 0x18]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x48]
lea esi, [eax + 3]
mov edi, eax
mov eax, dword [esp + 0xb0]
sub eax, ebp
mov ebp, dword [esp + 0x18]
imul eax, ebx
add eax, edx
add eax, ecx
mov ecx, dword [esp + 0x44]
and esi, 0xfffffffc
add eax, ebp
test ecx, ecx
jle 0x4979c3
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
xor edx, edx
test edi, edi
jle 0x4979b4
movzx ecx, byte [edx + ebp]
cmp ecx, 0x40
jne 0x4979a5
mov byte [edx + eax], 0xff
jmp 0x4979af
test ecx, ecx
jle 0x4979af
shl cl, 2
mov byte [edx + eax], cl
inc edx
cmp edx, edi
jl 0x497996
mov ecx, dword [esp + 0x1c]
add eax, ebx
add ebp, esi
dec ecx
mov dword [esp + 0x1c], ecx
jne 0x497990
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004fb3dc
movsx edx, word [esp + 0x54]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
add esp, 4
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
inc edi
cmp edi, eax
mov dword [esp + 0x20], edi
jl 0x49782f
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0xfc]
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x84], eax
push esi
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x84], 0x8e0
call fcn.004b6700
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd4
ret 0x18
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xd4
ret 0x18