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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66b3ae
mov eax, dword fs:[0]
push eax
sub esp, 0x2b4
mov eax, dword [0x73bb00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x30], esi
lea eax, [ebp + 8]
mov dword [ebp - 4], 0
push eax
call fcn.00469990
mov edi, dword [ebp + 0x18]
push 0x20
push edi
lea ecx, [eax + 0x58]
mov dword [ebp - 0x34], eax
push ecx
call fcn.00623a30
mov ecx, dword [esi + 0xc]
lea edx, [ebp - 0x10c]
add esp, 0xc
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0xe0]
push edx
lea edx, [ebp - 0x110]
push edx
lea edx, [ebp - 0xe8]
push edx
call dword [eax + 0x50]
mov eax, dword [esi + 0xc]
xorps xmm2, xmm2
movss xmm0, dword [ebp - 0x10c]
subss xmm0, dword [ebp - 0x110]
mov ecx, dword [ebp + 0x14]
movd xmm3, dword [eax + 0xc]
movd xmm4, dword [eax + 8]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
divss xmm3, xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0xe8]
movss xmm1, dword [0x67b0b0]
movss dword [ebp - 0xf0], xmm3
divss xmm4, xmm0
movaps xmm0, xmm4
movss dword [ebp - 0xec], xmm4
mulss xmm0, dword [ecx + 0x20]
comiss xmm0, xmm2
jbe 0x4670a7
addss xmm0, xmm1
jmp 0x4670ab
subss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [ebp - 0x28], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [ecx + 0x24]
comiss xmm0, xmm2
jbe 0x4670d2
addss xmm0, xmm1
jmp 0x4670d6
subss xmm0, xmm1
cvttss2si eax, xmm0
mov esi, dword [ebp + 0x1c]
push edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
movss dword [ebp - 0x2c], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [ecx + 0x30]
cvttss2si eax, xmm0
mov dword [ebp - 0xd8], eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
movss dword [ecx + 0x34], xmm0
movaps xmm0, xmm3
mov ecx, dword [ebp + 0x14]
mulss xmm0, dword [ecx + 0x38]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm3
movss dword [ecx + 0x3c], xmm0
call fcn.006240e0
add esp, 4
test esi, esi
jns 0x46713f
mov esi, eax
jmp 0x467144
cmp eax, esi
cmovl esi, eax
lea eax, [edi + esi]
mov dword [ebp - 0xa4], 0
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x1c], esi
test byte [esi], 8
je 0x4671fa
movss xmm0, dword [esi + 0x1c]
ucomiss xmm0, dword [0x680744]
movss dword [ebp - 0xbc], xmm0
lahf
test ah, 0x44
jnp 0x4671fa
mov ecx, dword [ebp - 0x30]
xorps xmm0, xmm0
movups xmmword [ebp - 0x9c], xmm0
movss xmm0, dword [esi + 0x30]
mov eax, dword [ecx]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x9c]
push eax
push 0
push ecx
mov dword [esp], 0xbf800000
push 0xffffffffffffffff
push edi
push ecx
movss dword [esp], xmm0
call dword [ebp - 0x78]
fstp dword [ebp - 0x78]
movss xmm0, dword [ebp - 0x78]
comiss xmm0, dword [ebp - 0xbc]
jbe 0x4671f4
mov ecx, dword [ebp - 0x30]
push dword [ebp - 0xd8]
push 0x2026
mov ecx, dword [ecx + 0x14]
call fcn.004697a0
mov dword [ebp - 0xa4], eax
test eax, eax
jne 0x4671f4
mov ecx, dword [ebp + 0x14]
and dword [ecx], 0xfffffff7
mov edx, dword [ebp + 0x14]
or dword [edx], 4
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x7c], eax
test al, 8
je 0x46721d
movss xmm1, dword [esi + 0x20]
movss xmm0, dword [esi + 0x24]
movss dword [ebp - 0x28], xmm1
movss dword [ebp - 0x2c], xmm0
jmp 0x467222
movss xmm1, dword [ebp - 0x28]
mov al, byte [esi]
xor edx, edx
movss xmm2, dword [ebp - 0xe0]
and al, 1
subss xmm2, dword [ebp - 0xe8]
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x30]
mov edi, dword [esi + 4]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x6c], edx
mov ecx, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xfc], eax
movd xmm0, dword [ecx + 8]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xf8], eax
divss xmm2, xmm0
addss xmm2, xmm2
movaps xmm0, xmm2
movss dword [ebp - 0x78], xmm2
addss xmm0, xmm2
movss dword [ebp - 0xbc], xmm0
subss xmm0, xmm2
mulss xmm0, dword [0x67b0b0]
movss dword [ebp - 0xf4], xmm0
or eax, 0xffffffff
mov byte [ebp - 4], 1
xorps xmm3, xmm3
mov dword [ebp - 0xe4], eax
mov byte [ebp - 0x11], dl
mov byte [ebp - 0x12], dl
mov byte [ebp - 0x13], dl
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x4c], eax
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x60], xmm3
movss dword [ebp - 0x74], xmm1
movss dword [ebp - 0x70], xmm3
cmp dword [esi + 0x40], edx
jne 0x4672df
cmp dword [esi + 0x60], edx
je 0x46730f
cmp byte [ebp - 0x1d], 0
je 0x4672fc
mov edx, dword [ebp - 0x34]
mov eax, dword [ecx]
push dword [edx + 8]
call dword [eax + 0x180]
mov esi, dword [ebp + 0x14]
xorps xmm3, xmm3
mov dword [ebp - 0x1c], esi
cmp dword [esi + 0x60], 1
jne 0x46730f
mov dword [esi + 0x68], 0xffffffff
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x1c], esi
mov edx, dword [ebp + 0x18]
xor eax, eax
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 0x1e], 0
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x39], al
mov byte [ebp - 0x14], al
mov dword [ebp - 0x80], eax
cmp edx, ecx
jae 0x4687a2
cmp edx, 0x6ace6c
je 0x4687a2
movss xmm0, dword [esi + 0x1c]
comiss xmm0, xmm3
mov byte [ebp - 0x15], 0
mov dword [ebp - 0xb4], ecx
jbe 0x4676f9
mov eax, dword [esi]
test al, 4
jne 0x4676f9
test al, 8
jne 0x4676f9
mov edi, edx
mov dword [ebp - 0x50], edi
mov al, byte [edx]
test al, al
je 0x4673ac
cmp al, 0xa
je 0x467589
cmp al, 9
je 0x467589
cmp al, 0x20
je 0x467589
lea eax, [ebp - 0x50]
push eax
call fcn.006250e0
mov edi, dword [ebp - 0x50]
add esp, 4
mov al, byte [edi]
test al, al
jne 0x467373
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], esi
sub edi, edx
mov eax, ecx
sub eax, edx
cmp eax, edi
cmovl edi, eax
mov eax, dword [esi]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1e8], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x1e4], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x1e0], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x1dc], eax
movss xmm0, dword [esi + 0x14]
movss dword [ebp - 0x1d8], xmm0
movss xmm0, dword [esi + 0x18]
movss dword [ebp - 0x1d4], xmm0
movss xmm0, dword [esi + 0x1c]
movss dword [ebp - 0x1d0], xmm0
movss xmm0, dword [esi + 0x20]
movss dword [ebp - 0x1cc], xmm0
movss xmm0, dword [esi + 0x24]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [esi + 0x28]
movss dword [ebp - 0x1c4], xmm0
movss xmm0, dword [esi + 0x2c]
movss dword [ebp - 0x1c0], xmm0
movss xmm0, dword [esi + 0x30]
movss dword [ebp - 0x1bc], xmm0
movss xmm0, dword [esi + 0x34]
movss dword [ebp - 0x1b8], xmm0
movss xmm0, dword [esi + 0x38]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [esi + 0x3c]
movss dword [ebp - 0x1b0], xmm0
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x1ac], eax
movss xmm0, dword [esi + 0x44]
movss dword [ebp - 0x1a8], xmm0
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], ecx
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], ecx
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x194], eax
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0x190], eax
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x18c], eax
mov al, byte [esi + 0x64]
mov byte [ebp - 0x188], al
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x184], eax
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x70]
mov dword [ebp - 0x180], eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov ecx, dword [esi + 0x78]
sub ecx, dword [esi + 0x74]
imul ecx
mov dword [ebp - 0xb8], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x46759d
cmp eax, 0xaaaaaaa
ja 0x468cdd
push eax
lea ecx, [ebp - 0x178]
call fcn.0046c960
mov edx, dword [ebp - 0x1c]
mov esi, dword [esi + 0x78]
mov edi, dword [ebp - 0x178]
mov eax, dword [edx + 0x74]
sub esi, eax
push esi
push eax
push edi
call fcn.006341e0
mov eax, 0x2aaaaaab
add esp, 0xc
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea eax, [edi + eax*8]
mov edi, dword [ebp - 0xb8]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x1ec]
jmp 0x4675a0
mov edx, dword [ebp + 0x18]
sub edi, edx
mov esi, dword [ebp + 0x14]
inc edi
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], esi
jmp 0x4673ae
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x1ec]
movss xmm0, dword [ebp - 0x28]
and eax, 0xfffffffe
mov esi, dword [ebp + 0x18]
or eax, 2
push edi
mov dword [ebp - 0x1ec], eax
mov eax, dword [ecx]
movss dword [ebp - 0x1cc], xmm0
movss xmm0, dword [ebp - 0x2c]
push esi
push edx
mov byte [ebp - 4], 2
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x18c], 0
movss dword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x1d0], 0xbf800000
call dword [eax + 0x34]
movss xmm1, dword [ebp - 0x1cc]
mov eax, dword [ebp + 0x14]
movaps xmm0, xmm1
subss xmm0, dword [ebp - 0x28]
movss xmm2, dword [eax + 0x1c]
comiss xmm0, xmm2
jbe 0x4676c5
push eax
lea ecx, [ebp - 0x2c0]
call fcn.00466400
mov eax, dword [ebp - 0x2c0]
lea edx, [ebp - 0x2c0]
mov ecx, dword [ebp - 0x30]
and eax, 0xfffffffe
movss xmm0, dword [ebp - 0x28]
or eax, 6
push edi
mov dword [ebp - 0x2c0], eax
mov eax, dword [ecx]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x2c]
push esi
push edx
mov byte [ebp - 4], 3
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
movss dword [ebp - 0x29c], xmm0
call dword [eax + 0x34]
push dword [ebp - 0x2b4]
push esi
call fcn.006256d0
add esp, 8
mov byte [ebp - 0x15], 1
cmp dword [ebp - 0x2b8], 3
mov edi, eax
jg 0x4676b8
xor eax, eax
cmp byte [ebp - 0x14], al
cmove edi, eax
lea ecx, [ebp - 0x24c]
call fcn.00461ff0
jmp 0x4676db
subss xmm1, dword [eax + 0x14]
comiss xmm1, xmm2
jbe 0x4676db
cmp byte [ebp - 0x14], 0
jne 0x4676db
mov byte [ebp - 0x15], 1
xor edi, edi
lea eax, [edi + esi]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x178]
mov dword [ebp - 0xb4], eax
call fcn.00461ff0
mov edx, dword [ebp + 0x18]
mov edi, dword [ebp - 0x40]
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x8c], edx
push eax
call fcn.006250e0
mov edx, dword [ebp + 0x18]
add esp, 4
mov ecx, eax
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x1c], esi
cmp edx, dword [ebp - 0xb4]
jae 0x4686c5
nop word [eax + eax]
cmp edx, 0x6ace6c
je 0x4686c5
mov eax, dword [esi + 8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x8c]
sub eax, edx
add dword [esi + 0xc], eax
mov esi, ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp + 0x18], eax
lea eax, [ebp - 0x8c]
push eax
mov dword [ebp - 0x68], esi
call fcn.006250e0
add esp, 4
mov ecx, eax
mov dword [ebp - 0xb8], ecx
cmp esi, 0xa
jne 0x467852
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x1c], esi
test byte [esi], 2
jne 0x46784b
xor eax, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x4677a1
cmp edi, eax
jge 0x4686c2
test byte [ebp - 0x7c], 8
xorps xmm3, xmm3
movss xmm0, dword [esi + 0x3c]
addss xmm0, dword [esi + 0x34]
movss xmm1, dword [esi + 0x14]
movss dword [ebp - 0x28], xmm1
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x2c], xmm0
jne 0x46782e
movss xmm4, dword [ebp - 0xec]
movss xmm2, dword [0x67b0b0]
mulss xmm1, xmm4
comiss xmm1, xmm3
jbe 0x4677e7
addss xmm1, xmm2
jmp 0x4677eb
subss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm1, xmm4
movss xmm4, dword [ebp - 0xf0]
mulss xmm0, xmm4
movss dword [ebp - 0x28], xmm1
comiss xmm0, xmm3
jbe 0x467816
addss xmm0, xmm2
jmp 0x46781a
subss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [ebp - 0x2c], xmm0
inc edi
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x60], xmm3
movss dword [ebp - 0x74], xmm1
movss dword [ebp - 0x70], xmm3
mov dword [ebp - 0x40], edi
jmp 0x4686a7
mov dword [ebp - 0x68], 0x20
mov eax, dword [ebp - 0x30]
mov ecx, 0x6aca9c
mov edx, dword [ebp - 0xd8]
cmp edx, 6
mov dword [ebp - 0x38], edx
push 0
mov esi, dword [eax + 0x14]
lea eax, [ebp - 0x38]
cmovge ecx, eax
cmp edx, 0x80
mov eax, 0x6acaa0
cmovle eax, ecx
mov ecx, esi
mov edi, dword [eax]
lea eax, [ebp - 0xdc]
push eax
push dword [ebp - 0x68]
mov dword [ebp - 0x50], edi
call fcn.004693f0
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x4678bd
cmp dword [ebp - 0x68], 0x25a1
je 0x468681
push edi
push 0x25a1
mov ecx, esi
call fcn.004697a0
mov edi, eax
jmp 0x467970
mov eax, dword [ebp - 0x68]
lea ecx, [esi + 0x48]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x1f8]
push eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x1f8], edi
push eax
call fcn.00465e60
mov edi, dword [eax]
mov eax, dword [edi + 0x14]
add edi, 0x14
mov dword [ebp - 0x64], edi
cmp eax, 1
je 0x467973
cmp eax, 2
je 0x468681
mov eax, dword [ebp - 0x50]
mov ecx, esi
mov dword [edi + 4], eax
mov eax, dword [ebp - 0xdc]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x68]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x38]
push edi
mov dword [edi + 0x10], eax
call fcn.0046aa80
test al, al
jne 0x467970
cmp dword [ebp - 0x68], 0x25a1
je 0x46867b
push dword [ebp - 0x50]
mov ecx, esi
push 0x25a1
call fcn.004697a0
test eax, eax
je 0x46867b
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [edi + 0x10], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [edi + 0x20], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [edi + 0x30], xmm0
mov dword [ebp - 0x64], edi
test edi, edi
je 0x468681
mov edx, dword [edi + 4]
movss xmm3, dword [0x67b0b4]
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp + 0x14]
movd xmm0, edx
mov dword [ebp - 0x1c], esi
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movss dword [ebp - 0x84], xmm3
test cl, 1
jne 0x4679b6
cmp dword [esi + 8], 0
jne 0x4679b2
test cl, 0x40
jne 0x4679b6
mov al, 1
jmp 0x4679b8
xor al, al
mov byte [ebp - 0x14], al
test cl, 4
je 0x4679c7
movss xmm5, dword [edi + 0x14]
jmp 0x4679e1
test al, al
jne 0x4679d9
movss xmm5, dword [edi + 0x24]
xorps xmm5, xmmword [0x67b120]
jmp 0x4679dc
xorps xmm5, xmm5
addss xmm5, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x14]
xorps xmm4, xmm4
mulss xmm5, xmm3
xorps xmm6, xmm6
movss dword [ebp - 0xac], xmm4
subss xmm1, dword [edi + 0x1c]
mulss xmm5, dword [esi + 0x34]
mulss xmm1, xmm3
movss dword [ebp - 0xb0], xmm5
mulss xmm1, dword [esi + 0x34]
movss dword [ebp - 0xc0], xmm1
test cl, 0x10
je 0x467ab7
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x467aa3
mov ecx, dword [eax + 8]
cmp ecx, dword [edi + 8]
jne 0x467aa3
mov eax, dword [eax + 4]
cmp eax, edx
jne 0x467aa3
push eax
push 0
push ecx
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
call sub.libfreetype.dll_FT_Set_Pixel_Sizes
lea eax, [ebp - 0x118]
push eax
mov eax, dword [ebp - 0xa0]
push 0
push dword [edi + 0xc]
push dword [eax + 0xc]
push dword [eax + 8]
call sub.libfreetype.dll_FT_Get_Kerning
mov eax, dword [ebp - 0x118]
add esp, 0x20
mov esi, dword [ebp + 0x14]
xorps xmm6, xmm6
movss xmm3, dword [ebp - 0x84]
movss xmm5, dword [ebp - 0xb0]
sar eax, 6
mov dword [ebp - 0x1c], esi
movd xmm4, eax
cvtdq2ps xmm4, xmm4
mov ecx, dword [ebp - 0x7c]
mulss xmm4, xmm3
mulss xmm4, dword [esi + 0x34]
movss dword [ebp - 0xac], xmm4
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa0], edi
test eax, eax
je 0x467c02
test byte [esi], 8
je 0x467c02
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp - 0xb4]
jae 0x467c02
cmp edx, 0x6ace6c
je 0x467c02
test cl, 4
je 0x467afb
movss xmm1, dword [eax + 0x14]
jmp 0x467b17
cmp byte [ebp - 0x14], 0
jne 0x467b0f
movss xmm1, dword [eax + 0x24]
xorps xmm1, xmmword [0x67b120]
jmp 0x467b12
xorps xmm1, xmm1
addss xmm1, dword [eax + 0x2c]
mulss xmm1, xmm3
xorps xmm2, xmm2
mulss xmm1, dword [esi + 0x34]
movss dword [ebp - 0x38], xmm1
test cl, 0x10
je 0x467bcc
mov ecx, dword [edi + 8]
cmp ecx, dword [eax + 8]
jne 0x467bb0
mov edx, dword [ebp - 0xa4]
mov eax, dword [edi + 4]
cmp eax, dword [edx + 4]
mov edx, dword [ebp + 0x18]
jne 0x467bb0
push eax
push 0
push ecx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
call sub.libfreetype.dll_FT_Set_Pixel_Sizes
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0xa4]
push 0
push dword [eax + 0xc]
push dword [edi + 0xc]
push dword [edi + 8]
call sub.libfreetype.dll_FT_Get_Kerning
mov eax, dword [ebp - 0x120]
add esp, 0x20
mov esi, dword [ebp + 0x14]
xorps xmm6, xmm6
movss xmm1, dword [ebp - 0x38]
movss xmm3, dword [ebp - 0x84]
mov edx, dword [ebp + 0x18]
sar eax, 6
mov dword [ebp - 0x1c], esi
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss xmm4, dword [ebp - 0xac]
movss xmm5, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x7c]
mulss xmm2, xmm3
mulss xmm2, dword [esi + 0x34]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x28]
addss xmm0, xmm5
addss xmm0, xmm2
addss xmm0, xmm1
subss xmm0, dword [esi + 0x14]
comiss xmm0, dword [esi + 0x1c]
jbe 0x467c02
mov edi, dword [ebp - 0x40]
mov ecx, 0x2026
mov dword [ebp - 0x8c], 0x6ace6c
jmp 0x467730
test byte [esi], 4
movss xmm1, dword [ebp - 0x28]
je 0x467c26
movaps xmm0, xmm4
addss xmm0, xmm1
addss xmm0, xmm5
subss xmm0, dword [esi + 0x14]
comiss xmm0, dword [esi + 0x1c]
ja 0x4686b8
cmp byte [ebp - 0x14], 0
jne 0x467c31
xorps xmm7, xmm7
jmp 0x467c36
movss xmm7, dword [edi + 0x24]
movss xmm2, dword [esi + 0x34]
movaps xmm5, xmm3
mulss xmm5, dword [edi + 0x14]
mulss xmm7, xmm3
mulss xmm5, xmm2
mulss xmm7, xmm2
movss dword [ebp - 0x50], xmm5
movss dword [ebp - 0xd4], xmm7
test cl, 2
jne 0x467c6d
movaps xmm6, xmm3
mulss xmm6, dword [edi + 0x28]
mulss xmm6, xmm2
mulss xmm3, dword [edi + 0x18]
movss dword [ebp - 0xa8], xmm6
mulss xmm3, xmm2
movss dword [ebp - 0x84], xmm3
test cl, 0x20
je 0x467cbe
movaps xmm0, xmm3
addss xmm0, xmm6
comiss xmm0, xmm2
jbe 0x467cbe
xorps xmm0, xmm0
movss dword [ebp - 0xa8], xmm0
addss xmm0, xmm3
movaps xmm3, xmm2
movss dword [ebp - 0x84], xmm3
divss xmm0, xmm2
divss xmm5, xmm0
movss dword [ebp - 0x50], xmm5
movss xmm6, dword [ebp - 0x2c]
addss xmm4, xmm1
mov eax, dword [ebp - 0x30]
addss xmm2, xmm6
mov ecx, dword [esi + 0x78]
sub ecx, dword [esi + 0x74]
addss xmm4, xmm7
movaps xmm0, xmm2
movss dword [ebp - 0x104], xmm2
subss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0x1c], xmm4
movss dword [ebp - 0x15c], xmm0
movups xmm0, xmmword [eax + 0x40]
mov eax, 0x2aaaaaab
imul ecx
movups xmmword [ebp - 0x16c], xmm0
mov ecx, dword [ebp - 0x80]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xd0], eax
cmp ecx, eax
jge 0x467dc2
jae 0x468ce2
lea edx, [ecx + ecx*2]
mov ecx, dword [esi + 0x74]
mov eax, dword [ecx + edx*8]
cmp dword [ebp - 0x44], eax
jl 0x467d62
mov eax, dword [ecx + edx*8 + 4]
cmp eax, 0xffffffff
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx + edx*8]
je 0x467d56
add eax, dword [ebp - 0xcc]
cmp dword [ebp - 0x44], eax
jge 0x467d62
movups xmm0, xmmword [ecx + edx*8 + 8]
movups xmmword [ebp - 0x16c], xmm0
cmp dword [ecx + edx*8 + 4], 0xffffffff
je 0x467dc2
mov edi, dword [ecx + edx*8 + 4]
mov eax, dword [ecx + edx*8]
dec edi
add eax, edi
mov edi, dword [ebp - 0x64]
cmp dword [ebp - 0x44], eax
jl 0x467dc2
inc dword [ebp - 0x80]
mov eax, dword [ebp - 0xd0]
cmp dword [ebp - 0x80], eax
jge 0x467dc2
mov esi, dword [ebp - 0x80]
cmp eax, esi
jbe 0x468ce2
lea eax, [esi + esi*2]
movups xmm0, xmmword [ecx + eax*8]
movups xmmword [ecx + edx*8], xmm0
movq xmm0, qword [ecx + eax*8 + 0x10]
mov eax, dword [ebp - 0x44]
movq qword [ecx + edx*8 + 0x10], xmm0
mov esi, dword [ebp + 0x14]
cmp eax, dword [ecx + edx*8]
jl 0x467dc2
movups xmm0, xmmword [ecx + edx*8 + 8]
movups xmmword [ebp - 0x16c], xmm0
movss xmm0, dword [ebp - 0x160]
ucomiss xmm0, dword [0x67b308]
movss dword [ebp - 0xd0], xmm0
lahf
test ah, 0x44
jnp 0x467f5c
cmp byte [ebp - 0x1d], 0
je 0x467f5c
mov eax, dword [ebp - 0x34]
mov esi, dword [eax + 0x10]
cmp esi, dword [eax + 0x14]
je 0x467e28
push 0x50
push 0
push esi
call fcn.00634760
add esp, 0xc
lea eax, [esi + 0x12]
mov ecx, 4
nop dword [eax]
mov dword [eax - 2], 0xffffffff
lea eax, [eax + 0x14]
sub ecx, 1
jne 0x467e10
mov eax, dword [ebp - 0x34]
add dword [eax + 0x10], 0x50
jmp 0x467e34
push esi
lea ecx, [eax + 0xc]
call fcn.00465320
mov eax, dword [ebp - 0x34]
mov esi, dword [eax + 0x10]
movss xmm2, dword [0x67b0c4]
movss xmm4, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x15c]
movss xmm0, dword [ebp - 0x16c]
movss dword [esi - 0x4c], xmm1
mulss xmm0, xmm2
movss dword [esi - 0x50], xmm4
mov eax, dword [edi + 0x30]
mov dword [esi - 0x48], eax
mov eax, dword [edi + 0x3c]
mov dword [esi - 0x44], eax
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x168]
movss xmm5, dword [ebp - 0x50]
mov byte [esi - 0x40], al
mov dword [ebp - 0x44], eax
mulss xmm0, xmm2
movss xmm3, dword [ebp - 0x84]
movss dword [esi - 0x38], xmm1
subss xmm1, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x164]
mulss xmm0, xmm2
mov byte [esi - 0x3f], al
mov dword [ebp - 0x64], eax
movss xmm6, dword [ebp - 0x2c]
cvttss2si edx, xmm0
movss xmm0, dword [ebp - 0xd0]
mulss xmm0, xmm2
mov byte [esi - 0x3e], dl
movss xmm2, dword [ebp - 0x104]
movss xmm7, dword [ebp - 0xd4]
cvttss2si ecx, xmm0
movaps xmm0, xmm4
addss xmm0, xmm5
mov byte [esi - 0x3d], cl
movss dword [esi - 0x3c], xmm0
mov eax, dword [edi + 0x38]
mov dword [esi - 0x34], eax
mov eax, dword [edi + 0x3c]
mov dword [esi - 0x30], eax
mov eax, dword [ebp - 0x44]
mov byte [esi - 0x2c], al
mov eax, dword [ebp - 0x64]
mov byte [esi - 0x2b], al
mov byte [esi - 0x2a], dl
mov byte [esi - 0x29], cl
movss dword [esi - 0x28], xmm0
movss dword [esi - 0x24], xmm1
mov eax, dword [edi + 0x38]
mov dword [esi - 0x20], eax
mov eax, dword [edi + 0x34]
mov dword [esi - 0x1c], eax
mov eax, dword [ebp - 0x44]
mov byte [esi - 0x18], al
mov eax, dword [ebp - 0x64]
mov byte [esi - 0x17], al
mov byte [esi - 0x16], dl
mov byte [esi - 0x15], cl
movss dword [esi - 0x14], xmm4
movss dword [esi - 0x10], xmm1
mov eax, dword [edi + 0x30]
mov dword [esi - 0xc], eax
mov eax, dword [edi + 0x34]
mov dword [esi - 8], eax
mov eax, dword [ebp - 0x44]
mov byte [esi - 4], al
mov eax, dword [ebp - 0x64]
mov byte [esi - 3], al
mov byte [esi - 2], dl
mov byte [esi - 1], cl
mov esi, dword [ebp + 0x14]
cmp dword [esi + 0x60], 1
movaps xmm0, xmm5
movss xmm1, dword [ebp - 0xc0]
mulss xmm1, dword [0x67b0b0]
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x60]
addss xmm1, dword [ebp - 0x48]
movss dword [ebp - 0x48], xmm1
movaps xmm1, xmm0
maxss xmm1, dword [ebp - 0xb0]
movss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x44], xmm0
addss xmm1, xmm4
subss xmm1, xmm0
movss dword [ebp - 0x60], xmm1
movss dword [ebp - 0x38], xmm1
jne 0x468055
cmp dword [esi + 0x68], 0xffffffff
jne 0x468055
mov edx, dword [esi + 8]
test edx, edx
jne 0x467fce
movss xmm1, dword [0x6844d0]
jmp 0x467fd3
movss xmm1, dword [ebp - 0x74]
movss xmm0, dword [ebp - 0x70]
mulss xmm0, dword [0x67b0b0]
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x128], eax
movss xmm4, dword [ebp - 0x128]
subss xmm1, xmm0
mov dword [ebp - 0x124], ecx
comiss xmm4, xmm1
movss xmm1, dword [ebp - 0x124]
jb 0x46803c
movaps xmm0, xmm5
mulss xmm0, dword [0x67b0b0]
addss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm4
jbe 0x46803c
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x34]
comiss xmm1, xmm0
jb 0x46803c
movaps xmm0, xmm2
mov eax, esi
addss xmm0, dword [esi + 0x3c]
comiss xmm0, xmm1
ja 0x46804f
test edx, edx
jne 0x468055
mov eax, esi
movaps xmm0, xmm2
subss xmm0, dword [eax + 0x34]
comiss xmm0, xmm1
jb 0x468055
mov dword [eax + 0x68], edx
mov esi, dword [ebp + 0x14]
cmp dword [esi + 0x40], 1
jne 0x4683de
mov edx, dword [esi + 8]
test edx, edx
jne 0x46818a
cmp byte [ebp - 0x11], dl
jne 0x4680f6
cmp byte [ebp - 0x12], dl
jne 0x4680f6
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x130], eax
movss xmm4, dword [ebp - 0x130]
comiss xmm4, dword [0x6844d0]
mov dword [ebp - 0x12c], ecx
movss xmm1, dword [ebp - 0x12c]
jb 0x4680d6
movaps xmm0, xmm5
mulss xmm0, dword [0x67b0b0]
addss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm4
jbe 0x4680d6
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x34]
comiss xmm1, xmm0
jb 0x4680d6
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x3c]
comiss xmm0, xmm1
ja 0x4680e3
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x34]
comiss xmm0, xmm1
jb 0x4680f6
mov edi, edx
mov byte [ebp - 0x11], 1
mov dl, 1
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x12], dl
jmp 0x46835d
mov dl, byte [ebp - 0x11]
mov dh, byte [ebp - 0x13]
test dl, dl
jne 0x468225
test dh, dh
jne 0x468190
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x138], eax
movss xmm4, dword [ebp - 0x138]
comiss xmm4, dword [0x6844d0]
mov dword [ebp - 0x134], ecx
movss xmm1, dword [ebp - 0x134]
jb 0x468168
movaps xmm0, xmm5
mulss xmm0, dword [0x67b0b0]
addss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm4
jbe 0x468168
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x34]
comiss xmm1, xmm0
jb 0x468168
movaps xmm0, xmm2
mov eax, esi
addss xmm0, dword [esi + 0x3c]
comiss xmm0, xmm1
ja 0x468177
mov eax, esi
movaps xmm0, xmm2
subss xmm0, dword [eax + 0x34]
comiss xmm0, xmm1
jb 0x468190
mov eax, dword [eax + 8]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x11], 1
mov byte [ebp - 0x13], 1
jmp 0x4682bf
mov dl, byte [ebp - 0x11]
mov dh, byte [ebp - 0x13]
test dl, dl
jne 0x468225
cmp byte [ebp - 0x12], dl
jne 0x468225
movss xmm0, dword [ebp - 0x70]
mulss xmm0, dword [0x67b0b0]
mov eax, dword [esi + 0x48]
movss xmm1, dword [ebp - 0x74]
mov ecx, dword [esi + 0x4c]
subss xmm1, xmm0
mov dword [ebp - 0x140], eax
movss xmm4, dword [ebp - 0x140]
mov dword [ebp - 0x13c], ecx
comiss xmm4, xmm1
movss xmm1, dword [0x67b0b0]
jb 0x46822d
movaps xmm0, xmm5
mulss xmm0, xmm1
addss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm4
jbe 0x46822d
movss xmm1, dword [ebp - 0x13c]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x34]
comiss xmm1, xmm0
jb 0x468225
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x3c]
comiss xmm0, xmm1
jbe 0x468225
mov edi, dword [esi + 8]
mov dl, 1
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x11], 1
mov byte [ebp - 0x12], dl
jmp 0x46835d
movss xmm1, dword [0x67b0b0]
test dl, dl
jne 0x46834d
test dh, dh
jne 0x46834d
movss xmm4, dword [ebp - 0x70]
movss xmm0, dword [ebp - 0x74]
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mulss xmm4, xmm1
mov dword [ebp - 0x148], eax
movss xmm1, dword [ebp - 0x148]
mov dword [ebp - 0x144], ecx
subss xmm0, xmm4
comiss xmm1, xmm0
jb 0x46834d
movaps xmm0, xmm5
mulss xmm0, dword [0x67b0b0]
addss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm1
jbe 0x46834d
movss xmm1, dword [ebp - 0x144]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x34]
comiss xmm1, xmm0
jb 0x46834d
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x3c]
comiss xmm0, xmm1
ja 0x46833a
mov al, dl
test al, al
je 0x4683de
movss xmm4, dword [0x67b0b0]
movss xmm1, dword [ebp - 0x1c]
cmp byte [ebp - 0x12], 0
jne 0x4683de
mov eax, dword [esi + 0x48]
movaps xmm0, xmm5
mov ecx, dword [esi + 0x4c]
mulss xmm0, xmm4
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], ecx
addss xmm0, xmm1
comiss xmm0, dword [ebp - 0x158]
jbe 0x4683de
movss xmm1, dword [ebp - 0x154]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x34]
comiss xmm1, xmm0
jb 0x4683de
addss xmm2, dword [esi + 0x3c]
comiss xmm2, xmm1
jbe 0x4683de
mov edi, dword [esi + 8]
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x12], 1
jmp 0x4683e1
mov eax, dword [esi + 8]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x11], 1
mov byte [ebp - 0x13], 1
jmp 0x4682bf
mov al, dl
test dl, dl
je 0x4682b7
mov edi, dword [ebp - 0x24]
mov dl, byte [ebp - 0x12]
cmp byte [ebp - 0x13], 0
jne 0x4682bf
movss xmm4, dword [0x67b0b0]
movaps xmm0, xmm5
movss xmm1, dword [ebp - 0x1c]
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mulss xmm0, xmm4
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], ecx
addss xmm0, xmm1
comiss xmm0, dword [ebp - 0x150]
jbe 0x4682cc
movss xmm1, dword [ebp - 0x14c]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x34]
comiss xmm1, xmm0
jb 0x4682c7
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x3c]
comiss xmm0, xmm1
jbe 0x4682c7
mov eax, dword [esi + 8]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x13], 1
mov byte [ebp - 0x12], dl
mov dword [ebp - 0x24], edi
jmp 0x4683e1
mov edi, dword [ebp - 0x24]
cmp dword [esi + 0x40], 2
mov edx, edi
jne 0x468424
mov ecx, dword [esi + 0x58]
mov eax, dword [esi + 8]
cmp eax, ecx
jne 0x4683ff
cmp byte [ebp - 0x11], 0
mov byte [ebp - 0x12], 1
sete byte [ebp - 0x11]
cmp eax, ecx
mov edi, eax
cmovne edi, edx
mov dword [ebp - 0x24], edi
cmp eax, dword [esi + 0x5c]
jne 0x468424
cmp byte [ebp - 0x11], 0
mov dword [ebp - 0x4c], eax
sete dl
mov byte [ebp - 0x13], 1
mov byte [ebp - 0x11], dl
mov dword [ebp - 0x24], edi
jmp 0x468427
mov dl, byte [ebp - 0x11]
cmp dword [esi + 0x60], 0
movss xmm4, dword [ebp - 0x48]
je 0x4684f3
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x68]
jne 0x4684f3
movss xmm2, dword [ebp - 0xf4]
movaps xmm0, xmm4
subss xmm0, xmm2
movss dword [ebp - 0x204], xmm6
movaps xmm1, xmm2
movss dword [ebp - 0x9c], xmm4
addss xmm1, xmm2
movss dword [ebp - 0x58], xmm4
mov eax, dword [ebp - 0x58]
movss dword [ebp - 0x54], xmm6
movss dword [ebp - 0x208], xmm0
movss xmm0, dword [ebp - 0xbc]
movss dword [ebp - 0x200], xmm0
movss xmm0, dword [esi + 0x34]
movss dword [ebp - 0x1fc], xmm0
movups xmm0, xmmword [ebp - 0x208]
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 0x1e], 1
movups xmmword [ebp - 0x238], xmm0
movaps xmm0, xmm2
addss xmm0, xmm6
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x94], xmm0
movss xmm0, dword [esi + 0x34]
subss xmm0, xmm1
movss dword [ebp - 0x90], xmm0
movups xmm0, xmmword [ebp - 0x9c]
movups xmmword [ebp - 0x228], xmm0
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], ecx
mov esi, dword [ebp + 0x14]
cmp dword [ebp - 0xb8], 0
addss xmm3, dword [ebp - 0xa8]
maxss xmm3, dword [esi + 0x28]
movss dword [esi + 0x28], xmm3
jne 0x468532
test byte [ebp - 0x7c], 0x80
je 0x468532
cmp dword [ebp - 0x68], 0x20
je 0x468532
addss xmm7, dword [ebp - 0xac]
addss xmm7, xmm5
addss xmm7, dword [ebp - 0x28]
movss dword [ebp - 0x28], xmm7
jmp 0x46854c
movss xmm0, dword [ebp - 0xac]
addss xmm0, dword [ebp - 0xb0]
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x28], xmm0
mov eax, dword [ebp + 0x14]
inc dword [eax + 8]
test dl, dl
je 0x46866a
cmp byte [ebp - 0x1d], 0
je 0x46866a
mov ecx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x40]
cmp dword [ebp - 0x6c], ecx
je 0x46859d
cmp dword [ebp - 0xe4], esi
jne 0x46859d
movss xmm1, dword [ebp - 0x60]
addss xmm1, dword [ecx - 8]
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x74], xmm0
movss dword [ebp - 0x70], xmm5
movss dword [ecx - 8], xmm1
jmp 0x468681
mov eax, dword [ebp + 0x14]
movss xmm1, dword [0x67b0b4]
movss xmm2, dword [eax + 0x44]
subss xmm1, xmm2
movss xmm0, dword [eax + 0x3c]
addss xmm0, dword [eax + 0x34]
mulss xmm1, xmm0
mulss xmm2, xmm0
addss xmm1, xmm6
movss dword [ebp - 0xc0], xmm2
movss dword [ebp - 0xd4], xmm1
cmp ecx, dword [ebp - 0xc8]
je 0x468608
movss xmm0, dword [ebp - 0x60]
movss dword [ecx], xmm4
movss dword [ecx + 4], xmm1
movss dword [ecx + 8], xmm0
movss dword [ecx + 0xc], xmm2
add ecx, 0x10
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0xfc], ecx
jmp 0x468664
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x44]
push eax
push ecx
lea ecx, [ebp - 0x100]
call fcn.00465840
mov eax, dword [ebp - 0xf8]
movss xmm0, dword [ebp - 0x38]
movss xmm5, dword [ebp - 0x50]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xfc]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x44]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x6c], eax
movss dword [ebp - 0x48], xmm0
mov dword [ebp - 0xe4], esi
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x74], xmm0
movss dword [ebp - 0x70], xmm5
jmp 0x468681
mov dword [edi], 2
mov eax, dword [ebp + 0x14]
movss xmm0, dword [ebp - 0x28]
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xb8]
subss xmm0, dword [eax + 0x14]
maxss xmm0, dword [eax + 0x2c]
movss dword [eax + 0x2c], xmm0
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x1c], esi
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp - 0xb4]
jb 0x467730
jmp 0x4686c5
mov ecx, dword [ebp - 0x5c]
mov edx, ecx
mov dword [ebp + 0x18], edx
jmp 0x4686c8
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x5c]
cmp byte [ebp - 0x15], 0
mov edi, dword [ebp - 0x40]
je 0x468793
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x4686e4
cmp edi, eax
jge 0x4687a2
test byte [ebp - 0x7c], 8
xorps xmm3, xmm3
movss xmm0, dword [esi + 0x3c]
addss xmm0, dword [esi + 0x34]
movss xmm1, dword [esi + 0x14]
movss dword [ebp - 0x28], xmm1
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x2c], xmm0
jne 0x468771
movss xmm4, dword [ebp - 0xec]
movss xmm2, dword [0x67b0b0]
mulss xmm1, xmm4
comiss xmm1, xmm3
jbe 0x46872a
addss xmm1, xmm2
jmp 0x46872e
subss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm1, xmm4
movss xmm4, dword [ebp - 0xf0]
mulss xmm0, xmm4
movss dword [ebp - 0x28], xmm1
comiss xmm0, xmm3
jbe 0x468759
addss xmm0, xmm2
jmp 0x46875d
subss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [ebp - 0x2c], xmm0
inc edi
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x60], xmm3
movss dword [ebp - 0x74], xmm1
movss dword [ebp - 0x70], xmm3
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x39], 1
mov byte [ebp - 0x14], 1
jmp 0x46879a
mov byte [ebp - 0x14], 0
xorps xmm3, xmm3
cmp edx, ecx
jb 0x467332
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46885b
cmp byte [ebp - 0x1d], 0
je 0x46885b
mov esi, dword [ebp - 0x30]
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x104]
call eax
test al, al
je 0x468856
mov ecx, dword [ebp - 0x34]
cmp dword [ecx], 0xffffffff
je 0x468856
test dword [ecx + 0x40], 0x100
jne 0x468856
mov edx, dword [ecx + 0xc]
xor eax, eax
cmp byte [ecx + 0x47], al
mov ecx, dword [ecx + 0x10]
setne al
mov edi, dword [esi + 0xc]
push 0
push eax
push edx
mov esi, dword [edi]
sub ecx, edx
mov eax, 0x66666667
imul ecx
mov ecx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
shl eax, 4
push eax
mov eax, dword [ebp - 0x34]
push dword [eax]
call dword [esi + 0xe0]
mov eax, dword [ebp - 0x30]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0x34]
mov esi, dword [edi]
mov ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0xc]
mov eax, 0x66666667
imul ecx
mov ecx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
add eax, eax
push eax
call dword [esi + 0xf0]
mov edx, dword [ebp + 0x14]
jmp 0x46885e
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x40]
movss xmm4, dword [0x6844cc]
cmp eax, 1
jne 0x468963
movss xmm5, dword [ebp - 0x2c]
mov dword [edx + 0x58], 0xffffffff
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x5c], 0xffffffff
mov al, byte [ebp - 0x11]
mov edx, dword [ebp + 0x14]
test al, al
je 0x468993
movss xmm1, dword [edx + 0x34]
mov cl, byte [ebp - 0x13]
movaps xmm2, xmm1
addss xmm2, xmm5
test cl, cl
jne 0x4688fc
mov eax, dword [edx + 0x50]
mov ecx, dword [edx + 0x54]
mov dword [ebp - 0x58], eax
comiss xmm4, dword [ebp - 0x58]
mov dword [ebp - 0x54], ecx
movss xmm3, dword [ebp - 0x54]
jbe 0x4688db
movaps xmm0, xmm2
subss xmm0, xmm1
comiss xmm3, xmm0
jb 0x4688db
movaps xmm0, xmm2
mov eax, edx
addss xmm0, dword [edx + 0x3c]
comiss xmm0, xmm3
ja 0x4688e7
mov eax, edx
addss xmm2, dword [eax + 0x3c]
comiss xmm3, xmm2
jb 0x4688f6
mov ecx, dword [eax + 8]
mov dword [ebp - 0x4c], ecx
mov byte [ebp - 0x13], 1
jmp 0x468993
addss xmm1, xmm5
jmp 0x468911
mov byte [ebp - 0x13], cl
addss xmm1, xmm5
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
test al, al
je 0x468993
cmp byte [ebp - 0x12], 0
jne 0x468993
mov eax, dword [edx + 0x48]
mov ecx, dword [edx + 0x4c]
mov dword [ebp - 0x58], eax
comiss xmm4, dword [ebp - 0x58]
mov dword [ebp - 0x54], ecx
movss xmm2, dword [ebp - 0x54]
jbe 0x46894e
movaps xmm0, xmm1
subss xmm0, dword [edx + 0x34]
comiss xmm2, xmm0
jb 0x46894e
movaps xmm0, xmm1
mov eax, edx
addss xmm0, dword [edx + 0x3c]
comiss xmm0, xmm2
ja 0x46895a
mov eax, edx
addss xmm1, dword [eax + 0x3c]
comiss xmm2, xmm1
jb 0x468993
mov edi, dword [eax + 8]
mov byte [ebp - 0x12], 1
jmp 0x468996
cmp eax, 2
jne 0x46898e
mov eax, dword [edx + 8]
cmp eax, dword [edx + 0x58]
jne 0x468978
mov edi, eax
mov byte [ebp - 0x12], 1
jmp 0x46897b
mov edi, dword [ebp - 0x24]
movss xmm5, dword [ebp - 0x2c]
cmp eax, dword [edx + 0x5c]
jne 0x468996
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x13], 1
jmp 0x468996
movss xmm5, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x24]
mov eax, dword [edx + 0x60]
test eax, eax
je 0x468ac0
cmp eax, 1
jne 0x4689fc
cmp dword [edx + 0x68], 0xffffffff
jne 0x4689fc
mov eax, dword [edx + 0x50]
movaps xmm1, xmm5
mov ecx, dword [edx + 0x54]
addss xmm1, dword [edx + 0x34]
mov dword [ebp - 0x58], eax
comiss xmm4, dword [ebp - 0x58]
mov dword [ebp - 0x54], ecx
movss xmm2, dword [ebp - 0x54]
jbe 0x4689e7
movaps xmm0, xmm1
subss xmm0, dword [edx + 0x34]
comiss xmm2, xmm0
jb 0x4689e7
movaps xmm0, xmm1
mov eax, edx
addss xmm0, dword [edx + 0x3c]
comiss xmm0, xmm2
ja 0x4689f3
mov eax, edx
addss xmm1, dword [eax + 0x3c]
comiss xmm2, xmm1
jb 0x4689fc
mov eax, dword [eax + 8]
mov dword [edx + 0x68], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 8]
cmp eax, dword [edx + 0x68]
jne 0x468ac0
movss xmm1, dword [ebp - 0x60]
addss xmm1, dword [ebp - 0x48]
movss xmm2, dword [ebp - 0xf4]
movss dword [ebp - 0x98], xmm5
movss dword [ebp - 0x54], xmm5
mov ecx, dword [ebp - 0x54]
movaps xmm0, xmm1
movss dword [ebp - 0x58], xmm1
subss xmm0, xmm2
mov eax, dword [ebp - 0x58]
mov byte [ebp - 0x1e], 1
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [ebp - 0xbc]
movss dword [ebp - 0x94], xmm0
movss xmm0, dword [edx + 0x34]
movss dword [ebp - 0x90], xmm0
movups xmm0, xmmword [ebp - 0x9c]
movss dword [ebp - 0x9c], xmm1
movups xmmword [ebp - 0x238], xmm0
movaps xmm0, xmm2
addss xmm2, xmm2
addss xmm0, xmm5
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x94], xmm0
movss xmm0, dword [edx + 0x34]
subss xmm0, xmm2
movss dword [ebp - 0x90], xmm0
movups xmm0, xmmword [ebp - 0x9c]
movups xmmword [ebp - 0x228], xmm0
mov dword [edx + 0x6c], eax
mov dword [edx + 0x70], ecx
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x6c]
cmp ecx, esi
je 0x468adf
cmp byte [ebp - 0x12], 0
je 0x468adf
cmp byte [ebp - 0x13], 0
je 0x468adf
mov byte [ebp - 0x15], 1
jmp 0x468aed
cmp byte [ebp - 0x1e], 0
mov byte [ebp - 0x15], 0
je 0x468be9
cmp byte [ebp - 0x1d], 0
je 0x468be9
mov eax, dword [ebp - 0x30]
sub esp, 0x10
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov eax, dword [ecx]
mov dword [esp], 0x3f800000
call dword [eax + 0x1c4]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 8]
cmp eax, 0xffffffff
jne 0x468b4a
mov eax, dword [ebp - 0x30]
push 0
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x16c]
call eax
mov edx, dword [ebp - 0x34]
mov dword [edx + 8], eax
cmp byte [ebp - 0x1e], 0
je 0x468b6e
mov ecx, dword [ebp - 0x30]
lea esi, [ebp - 0x238]
push 2
push esi
push eax
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx]
call dword [edx + 0x17c]
mov esi, dword [ebp - 0x88]
cmp byte [ebp - 0x15], 0
je 0x468b94
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x6c]
sub esi, edx
sar esi, 4
push esi
mov ecx, dword [eax + 0xc]
mov esi, dword [ebp - 0x34]
push edx
mov eax, dword [ecx]
push dword [esi + 8]
call dword [eax + 0x17c]
jmp 0x468b97
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
push dword [esi + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x174]
mov al, byte [ebp - 0x1e]
mov cl, byte [ebp - 0x15]
mov byte [esi + 0x44], al
mov byte [esi + 0x46], cl
mov eax, dword [ebp + 0x14]
mov al, byte [eax + 0x64]
mov byte [esi + 0x45], al
mov eax, dword [ebp + 0x14]
test cl, cl
je 0x468bd2
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0x58], edi
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x5c], ecx
jmp 0x468be3
mov dword [eax + 0x58], 0xffffffff
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x5c], 0xffffffff
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp + 0x14]
cmp byte [ebp - 0x39], 0
movss xmm0, dword [ebp - 0x28]
mov esi, dword [ebp - 0x40]
movss dword [edx + 0x20], xmm0
mov eax, dword [ebp + 0x14]
mov dword [eax + 4], esi
je 0x468c0f
mov eax, dword [ebp + 0x14]
movss xmm0, dword [ebp - 0x2c]
movss dword [eax + 0x24], xmm0
mov eax, dword [ebp + 0x14]
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x3c]
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [eax + 0x18]
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [eax + 0x2c]
movss dword [ebp - 0x94], xmm0
movd xmm0, dword [eax + 4]
addss xmm1, dword [eax + 0x34]
mov eax, dword [ebp - 0x34]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movss dword [ebp - 0x90], xmm1
movups xmm0, xmmword [ebp - 0x9c]
movups xmmword [eax + 0x48], xmm0
test ecx, ecx
je 0x468c98
mov edx, dword [ebp - 0xc8]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffff0
cmp edx, 0x1000
jb 0x468c8e
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x468ce7
push edx
push ecx
call fcn.00632721
add esp, 8
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x468cc0
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x468cc0
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x468cc0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0063292f
mov esp, ebp
pop ebp
ret 0x18
call fcn.00418620
call fcn.0046cd20
call fcn.0063f01f
int3