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

Disassembly:
sub esp, 0x4c0
push ebx
mov ebx, dword [esp + 0x4e0]
push esi
push edi
mov eax, dword [ebx + 0x18]
mov edi, dword [esp + 0x4d4]
mov cl, byte [eax + edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x4a68c8
mov esi, dword [esp + 0x4d0]
mov ecx, dword [esi + eax*8 - 0x18]
mov dword [esp + 0x7c], ecx
mov edx, dword [esi + eax*8 - 0x14]
mov dword [esp + 0x80], edx
mov ecx, dword [esi + eax*8 - 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [esi + eax*8 - 0xc]
mov dword [esp + 0x88], edx
mov ecx, dword [esi + eax*8 - 8]
mov dword [esp + 0x8c], ecx
mov edx, dword [esi + eax*8 - 4]
mov dword [esp + 0x90], edx
mov ecx, dword [esi + eax*8]
mov dword [esp + 0x94], ecx
mov edx, dword [esi + eax*8 + 4]
lea eax, [esp + 0x7c]
mov dword [esp + 0x98], edx
push eax
push 0
call fcn.004a5620
add esp, 8
lea ecx, [esp + 0xac]
lea edx, [esp + 0x7c]
push eax
push ecx
push edx
call sub.CRLUTL110.dll__UTLBezierToLines_12
mov eax, dword [ebx + 0x44]
mov ecx, dword [esp + eax*8 + 0xac]
mov edx, dword [esp + eax*8 + 0xb0]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + eax*8 + 0xa4]
mov dword [esp + 0x40], edx
mov edx, dword [esp + eax*8 + 0xa8]
add eax, 0xfffffffe
mov dword [esp + 0x34], ecx
test eax, eax
mov dword [esp + 0x38], edx
jl 0x4a6823
mov ecx, dword [esp + eax*8 + 0xac]
mov edx, dword [esp + eax*8 + 0xb0]
mov dword [esp + 0x2c], ecx
jmp 0x4a69af
mov eax, dword [ebx + 0x18]
sub eax, 3
test byte [eax + edi], 0xc0
jne 0x4a6842
mov ecx, dword [esp + 0x4d8]
inc eax
cmp eax, ecx
jge 0x4a6841
test byte [eax + edi], 0xc0
jne 0x4a6836
dec eax
mov cl, byte [eax + edi]
and cl, 0xc0
cmp cl, 0x40
jne 0x4a685e
mov ecx, dword [esi + eax*8 - 8]
mov dword [esp + 0x2c], ecx
mov edx, dword [esi + eax*8 - 4]
jmp 0x4a69af
cmp cl, 0x80
jne 0x4a6c4b
mov ecx, dword [esi + eax*8 - 0x18]
mov dword [esp + 0xc], ecx
mov edx, dword [esi + eax*8 - 0x14]
mov dword [esp + 0x10], edx
mov ecx, dword [esi + eax*8 - 0x10]
mov dword [esp + 0x14], ecx
mov edx, dword [esi + eax*8 - 0xc]
mov dword [esp + 0x18], edx
mov ecx, dword [esi + eax*8 - 8]
mov dword [esp + 0x1c], ecx
mov edx, dword [esi + eax*8 - 4]
mov dword [esp + 0x20], edx
mov ecx, dword [esi + eax*8]
mov dword [esp + 0x24], ecx
mov edx, dword [esi + eax*8 + 4]
lea eax, [esp + 0xc]
mov dword [esp + 0x28], edx
push eax
push 0
call fcn.004a5620
add esp, 8
lea ecx, [esp + 0x2bc]
lea edx, [esp + 0xc]
push eax
push ecx
push edx
jmp 0x4a6998
cmp cl, 0x40
jne 0x4a6c4b
mov ecx, dword [esp + 0x4d0]
dec eax
mov edx, dword [ecx + eax*8 + 8]
mov dword [esp + 0x3c], edx
mov edx, dword [ecx + eax*8 + 0xc]
mov dword [esp + 0x40], edx
mov edx, dword [ecx + eax*8]
mov dword [esp + 0x34], edx
mov edx, dword [ecx + eax*8 + 4]
mov dword [esp + 0x38], edx
mov dl, byte [eax + edi]
test dl, 0xc0
jne 0x4a6913
mov edx, dword [esp + 0x4d8]
inc eax
cmp eax, edx
jge 0x4a6912
test byte [eax + edi], 0xc0
jne 0x4a6907
dec eax
mov dl, byte [eax + edi]
and dl, 0xc0
cmp dl, 0x40
jne 0x4a6933
mov edx, dword [ecx + eax*8 - 8]
mov dword [esp + 0x2c], edx
mov eax, dword [ecx + eax*8 - 4]
mov dword [esp + 0x30], eax
jmp 0x4a69b3
cmp dl, 0x80
jne 0x4a6c4b
mov edx, dword [ecx + eax*8 - 0x18]
mov dword [esp + 0xc], edx
mov edx, dword [ecx + eax*8 - 0x14]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + eax*8 - 0x10]
mov dword [esp + 0x14], edx
mov edx, dword [ecx + eax*8 - 0xc]
mov dword [esp + 0x18], edx
mov edx, dword [ecx + eax*8 - 8]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + eax*8 - 4]
mov dword [esp + 0x20], edx
mov edx, dword [ecx + eax*8]
mov dword [esp + 0x24], edx
mov eax, dword [ecx + eax*8 + 4]
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], eax
push ecx
push 0
call fcn.004a5620
add esp, 8
lea edx, [esp + 0x2bc]
push eax
lea eax, [esp + 0x10]
push edx
push eax
call sub.CRLUTL110.dll__UTLBezierToLines_12
mov ecx, dword [esp + eax*8 + 0x2b4]
mov edx, dword [esp + eax*8 + 0x2b8]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov eax, dword [ebx + 0x28]
mov edi, dword [esp + 0x4e0]
mov cl, byte [eax + edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x4a6b26
mov esi, dword [esp + 0x4dc]
mov ecx, dword [esi + eax*8 - 0x18]
mov dword [esp + 0x5c], ecx
mov edx, dword [esi + eax*8 - 0x14]
mov dword [esp + 0x60], edx
mov ecx, dword [esi + eax*8 - 0x10]
mov dword [esp + 0x64], ecx
mov edx, dword [esi + eax*8 - 0xc]
mov dword [esp + 0x68], edx
mov ecx, dword [esi + eax*8 - 8]
mov dword [esp + 0x6c], ecx
mov edx, dword [esi + eax*8 - 4]
mov dword [esp + 0x70], edx
mov ecx, dword [esi + eax*8]
mov dword [esp + 0x74], ecx
mov edx, dword [esi + eax*8 + 4]
lea eax, [esp + 0x5c]
mov dword [esp + 0x78], edx
push eax
push 0
call fcn.004a5620
add esp, 8
lea ecx, [esp + 0x1b4]
lea edx, [esp + 0x5c]
push eax
push ecx
push edx
call sub.CRLUTL110.dll__UTLBezierToLines_12
mov eax, dword [ebx + 0x48]
mov ecx, dword [esp + eax*8 + 0x1b4]
mov edx, dword [esp + eax*8 + 0x1b8]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + eax*8 + 0x1ac]
mov dword [esp + 0x58], edx
mov edx, dword [esp + eax*8 + 0x1b0]
add eax, 0xfffffffe
mov dword [esp + 0x4c], ecx
test eax, eax
mov dword [esp + 0x50], edx
jl 0x4a6a81
mov ecx, dword [esp + eax*8 + 0x1b4]
mov edx, dword [esp + eax*8 + 0x1b8]
mov dword [esp + 0x44], ecx
jmp 0x4a6c0d
mov eax, dword [ebx + 0x28]
sub eax, 3
test byte [eax + edi], 0xc0
jne 0x4a6aa0
mov ecx, dword [esp + 0x4e4]
inc eax
cmp eax, ecx
jge 0x4a6a9f
test byte [eax + edi], 0xc0
jne 0x4a6a94
dec eax
mov cl, byte [eax + edi]
and cl, 0xc0
cmp cl, 0x40
jne 0x4a6abc
mov ecx, dword [esi + eax*8 - 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esi + eax*8 - 4]
jmp 0x4a6c0d
cmp cl, 0x80
jne 0x4a6c4b
mov ecx, dword [esi + eax*8 - 0x18]
mov dword [esp + 0xc], ecx
mov edx, dword [esi + eax*8 - 0x14]
mov dword [esp + 0x10], edx
mov ecx, dword [esi + eax*8 - 0x10]
mov dword [esp + 0x14], ecx
mov edx, dword [esi + eax*8 - 0xc]
mov dword [esp + 0x18], edx
mov ecx, dword [esi + eax*8 - 8]
mov dword [esp + 0x1c], ecx
mov edx, dword [esi + eax*8 - 4]
mov dword [esp + 0x20], edx
mov ecx, dword [esi + eax*8]
mov dword [esp + 0x24], ecx
mov edx, dword [esi + eax*8 + 4]
lea eax, [esp + 0xc]
mov dword [esp + 0x28], edx
push eax
push 0
call fcn.004a5620
add esp, 8
lea ecx, [esp + 0x3c4]
lea edx, [esp + 0xc]
push eax
push ecx
push edx
jmp 0x4a6bf6
cmp cl, 0x40
jne 0x4a6c4b
mov ecx, dword [esp + 0x4dc]
dec eax
mov edx, dword [ecx + eax*8 + 8]
mov dword [esp + 0x54], edx
mov edx, dword [ecx + eax*8 + 0xc]
mov dword [esp + 0x58], edx
mov edx, dword [ecx + eax*8]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + eax*8 + 4]
mov dword [esp + 0x50], edx
mov dl, byte [eax + edi]
test dl, 0xc0
jne 0x4a6b71
mov edx, dword [esp + 0x4e4]
inc eax
cmp eax, edx
jge 0x4a6b70
test byte [eax + edi], 0xc0
jne 0x4a6b65
dec eax
mov dl, byte [eax + edi]
and dl, 0xc0
cmp dl, 0x40
jne 0x4a6b91
mov edx, dword [ecx + eax*8 - 8]
mov dword [esp + 0x44], edx
mov eax, dword [ecx + eax*8 - 4]
mov dword [esp + 0x48], eax
jmp 0x4a6c11
cmp dl, 0x80
jne 0x4a6c4b
mov edx, dword [ecx + eax*8 - 0x18]
mov dword [esp + 0xc], edx
mov edx, dword [ecx + eax*8 - 0x14]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + eax*8 - 0x10]
mov dword [esp + 0x14], edx
mov edx, dword [ecx + eax*8 - 0xc]
mov dword [esp + 0x18], edx
mov edx, dword [ecx + eax*8 - 8]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + eax*8 - 4]
mov dword [esp + 0x20], edx
mov edx, dword [ecx + eax*8]
mov dword [esp + 0x24], edx
mov eax, dword [ecx + eax*8 + 4]
lea ecx, [esp + 0xc]
mov dword [esp + 0x28], eax
push ecx
push 0
call fcn.004a5620
add esp, 8
lea edx, [esp + 0x3c4]
push eax
lea eax, [esp + 0x10]
push edx
push eax
call sub.CRLUTL110.dll__UTLBezierToLines_12
mov ecx, dword [esp + eax*8 + 0x3bc]
mov edx, dword [esp + eax*8 + 0x3c0]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
lea eax, [esp + 0x9c]
lea ecx, [esp + 0xa4]
push eax
lea edx, [esp + 0xa4]
push ecx
lea eax, [esp + 0xb0]
push edx
lea ecx, [esp + 0x38]
push eax
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.004a7200
add esp, 0x18
test eax, eax
je 0x4a6c4b
mov byte [ebx + 8], 0
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x4c0
ret