Function at 0x4690e0
Capabilities:
Access peb ldr_data
Enumerate pe sections

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58456b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xad8
mov eax, dword [0x5f3008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x7c4], ecx
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x904], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x99c], eax
movzx eax, ax
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x9a0], eax
movzx eax, ax
mov dword [ebp - 0x9c8], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x770], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x7e0], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x84c], eax
movzx eax, word [ebx + 0x14]
mov dword [ebp - 0x948], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x7ec], eax
mov eax, dword [ebx + 0x1c]
movzx esi, word [ecx + 0xe]
mov dword [ebp - 0x7f8], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x874], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x788], eax
mov eax, dword [ebx + 0x2c]
mov edi, dword [ebx + 0x30]
mov dword [ebp - 0x77c], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x974], eax
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x980], eax
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x910], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x984], eax
movzx eax, word [ecx + 0xc]
mov dword [ebp - 0x7d4], eax
xor eax, eax
mov dword [ebp - 0x850], eax
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6a4], eax
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x968], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x778], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x7ac], eax
xor eax, eax
mov dword [ebp - 0x7a4], 0
mov dword [ebp - 0x994], 0
mov dword [ebp - 0x9d4], 0
mov dword [ebp - 0x7a0], 0
mov dword [ebp - 0x988], 0
mov dword [ebp - 0x780], 0
mov dword [ebp - 0x7fc], 0
mov byte [ebp - 0x882], 0
mov dword [ebp - 0x8e0], 0
mov dword [ebp - 0x7d0], 0
mov dword [ebp - 0x9fc], 0
mov dword [ebp - 0x7cc], 0
mov byte [ebp - 0x8e8], 1
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x7c0], 0
mov dword [ebp - 0x9b0], 0
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 0x8a8], eax
mov dword [ebp - 0x8a0], eax
mov dword [ebp - 0x8d4], eax
mov dword [ebp - 0x8d0], eax
mov dword [ebp - 0x8dc], eax
mov dword [ebp - 0x8c0], eax
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x8c8], eax
mov dword [ebp - 0x8d8], eax
mov dword [ebp - 0x8bc], eax
xor dh, dh
mov byte [ebp - 0x8e5], al
xorps xmm0, xmm0
mov byte [ebp - 0x7e5], al
mov eax, 0x3042
mov word [ebp - 0x6c8], ax
mov eax, dword [ebp - 0x904]
mov byte [ebp - 0x771], dh
mov byte [ebp - 0x79c], 1
mov dword [ebp - 0x950], VariantInit
mov eax, dword [eax]
mov ecx, eax
shr ecx, 8
and ecx, 0x1f
mov dword [ebp - 0x90c], VariantInit
mov dword [ebp - 0xa5c], ecx
mov ecx, eax
shr ecx, 0xd
and ecx, 0x1f
mov dword [ebp - 0x998], 0
mov dword [ebp - 0xa60], ecx
mov ecx, dword [ebp - 0x974]
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x9f8], 0xffffffff
mov dword [ebp - 0x9b8], 0
movzx ecx, word [ecx]
mov dword [ebp - 0x6ec], eax
movzx edx, cl
mov dword [ebp - 0xa9c], edx
mov edx, eax
mov eax, dword [ebp - 0x77c]
and edx, 3
mov dword [ebp - 0x86c], edx
mov dword [ebp - 0x9a8], 0
mov byte [ebp - 0x8fd], 0
mov edx, dword [eax]
mov dword [ebp - 0x6f0], edx
movzx eax, word [edi]
mov dword [ebp - 0x6e8], eax
mov eax, ecx
mov dword [ebp - 0x6e4], eax
xor ecx, ecx
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x8cc], ecx
mov byte [ebp - 0x839], cl
xor cl, cl
mov byte [ebp - 0x805], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x8e4], eax
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x9a4], 0
cmp dword [eax + 0xc], 0
mov byte [ebp - 0x92d], 0
mov byte [ebp - 0x92e], 0
mov dword [ebp - 0x9d0], 0
mov dword [ebp - 0xa18], 0xffffd8f1
mov byte [ebp - 0x7d9], 0
mov dword [ebp - 0x92c], 0
movsd qword [ebp - 0xa20], xmm0
movsd qword [ebp - 0x830], xmm0
movsd qword [ebp - 0x810], xmm0
mov byte [ebp - 0x8e7], cl
mov byte [ebp - 0x92f], 1
mov byte [ebp - 0x85d], cl
mov dword [ebp - 0x9b4], 0
je 0x48661d
mov cl, byte [eax + 8]
shr cl, 3
and cl, 1
test dl, 0x20
mov byte [ebp - 0x881], cl
mov ecx, 0
cmovne ecx, eax
shr edx, 0x18
and edx, 0xffffff01
mov dword [ebp - 0x96c], ecx
push 0x2002
mov dword [ebp - 0x9ac], edx
call fcn.00560858
add esp, 4
mov dword [ebp - 0x7bc], eax
push 0x2002
call fcn.00560858
add esp, 4
mov dword [ebp - 0x87c], eax
push 0x4004
call fcn.00560858
add esp, 4
mov dword [ebp - 0x7f0], eax
push 0x4004
call fcn.00560858
add esp, 4
mov dword [ebp - 0x784], eax
push 0x4004
call fcn.00560858
mov dword [ebp - 0x820], eax
add esp, 4
mov eax, dword [ebp - 0x77c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, edx
and eax, 0xa00
cmp eax, 0xa00
jne 0x469596
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
shr edx, 0x1c
mov dword [ebp - 0x828], edx
mov dword [ebp - 0x78c], eax
push dword [ecx + edx*4 + 0x244]
push dword [ebp - 0x770]
call eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x8ac], eax
mov eax, dword [ebp - 0x828]
inc eax
movzx eax, ax
mov dword [ebp - 0x8cc], eax
jmp 0x469734
mov eax, edx
and eax, 0x1200
cmp eax, 0x1200
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x78c], eax
jne 0x4695f2
shr edx, 0x1c
mov dword [ebp - 0x828], edx
push dword [ecx + edx*4 + 0x2e4]
push dword [ebp - 0x770]
call eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x8b0], eax
mov eax, dword [ebp - 0x828]
not eax
movzx eax, ax
mov dword [ebp - 0x8cc], eax
jmp 0x469734
test edx, 0x200
je 0x469622
push dword [ecx + 0x1cc]
push dword [ebp - 0x770]
call eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x8b4], eax
jmp 0x469728
test edx, 0x400
je 0x469652
push dword [ecx + 0x1d0]
push dword [ebp - 0x770]
call eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x8b8], eax
jmp 0x469728
test edx, 0x800
je 0x46969c
shr edx, 0x1c
mov dword [ebp - 0x828], edx
push dword [ecx + edx*4 + 0x1f4]
push dword [ebp - 0x770]
call eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x8a8], eax
mov eax, dword [ebp - 0x828]
inc eax
movzx eax, ax
mov dword [ebp - 0x8cc], eax
jmp 0x469734
test edx, 0x1000
je 0x4696e4
shr edx, 0x1c
mov dword [ebp - 0x828], edx
push dword [ecx + edx*4 + 0x21c]
push dword [ebp - 0x770]
call eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x8a0], eax
mov eax, dword [ebp - 0x828]
not eax
movzx eax, ax
mov dword [ebp - 0x8cc], eax
jmp 0x469734
test edx, 0x100
je 0x469711
push dword [ecx + 0x1c4]
push dword [ebp - 0x770]
call eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x8a4], eax
jmp 0x469728
push dword [ecx + 0x1b0]
push dword [ebp - 0x770]
call eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x988]
mov dword [ebp - 0x828], eax
mov eax, dword [ecx + 0x1b0]
push 0x18
push dword [ebp - 0x770]
mov dword [ebp - 0xa64], eax
mov eax, dword [sym.imp.GDI32.dll_SetTextAlign]
mov dword [ebp - 0x7a8], eax
call eax
mov ecx, dword [ebp - 0x778]
movsd xmm0, qword [ebx + 0x58]
movsd xmm1, qword [ebx + 0x60]
movsd qword [ebp - 0xa10], xmm0
mov eax, dword [ecx + 0xc]
movsd qword [ebp - 0xa08], xmm1
movzx eax, word [eax + 0x64]
mov dword [ebp - 0x834], eax
cmp eax, 0x40
jne 0x469794
movaps xmm0, xmm1
movsd qword [ebp - 0x7b8], xmm1
jmp 0x46979c
movsd qword [ebp - 0x7b8], xmm0
ucomisd xmm0, qword [ebp - 0xa20]
mov ecx, dword [ebp - 0x84c]
movsd xmm2, qword [0x5ea528]
movsd xmm1, qword [0x5ea578]
lahf
movsd qword [ebp - 0xa98], xmm2
movsd qword [ebp - 0x8f0], xmm1
test ah, 0x44
jp 0x4697ec
movsx eax, word [ecx + 4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [ebp - 0x7b8], xmm0
lea eax, [ebp - 0x728]
push eax
call fcn.00401100
movsd xmm1, qword [ebp - 0x7b8]
sub esp, 8
movsd xmm0, qword [ebp - 0x728]
mulsd xmm0, xmm1
mov ecx, dword [ebp - 0x7c4]
movsd qword [esp], xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x944], eax
lea eax, [ebp - 0x6b9]
push eax
lea eax, [ebp - 0x76c]
push eax
lea eax, [ebp - 0x6c1]
push eax
lea eax, [ebp - 0x750]
push eax
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x700]
push eax
lea eax, [ebp - 0x6f8]
push eax
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x708]
push eax
lea eax, [ebp - 0x6c0]
push eax
push dword [ebp - 0x948]
push dword [ebp - 0x84c]
push dword [ebp - 0x778]
call fcn.004e8ca0
movsd xmm1, qword [ebp - 0x7b8]
ucomisd xmm1, qword [ebp - 0x8f0]
mov dword [ebp - 0x9e0], eax
lahf
test ah, 0x44
jnp 0x4698be
movd xmm0, dword [ebp - 0x6c0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x6c0], eax
mov eax, dword [ebp - 0x7c4]
mov ecx, dword [eax + 0x14]
movzx eax, word [ecx + 0x28]
cmp ax, 2
jne 0x4698f9
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movsd xmm1, qword [eax + 0xa60]
addsd xmm1, qword [eax + 0xa58]
addsd xmm1, qword [eax + 0xa68]
mulsd xmm1, qword [ecx + 0x30]
jmp 0x46992b
cmp ax, word [ebp - 0x948]
jne 0x469909
movsd xmm1, qword [ecx + 0x30]
jmp 0x46992b
movsd xmm0, qword [ecx + 0x30]
mov ecx, dword [ebp - 0x84c]
movaps xmm1, xmm0
test ax, ax
jne 0x469923
call fcn.00537bb0
jmp 0x469928
call fcn.00537bc0
movaps xmm1, xmm0
mov eax, dword [ebp - 0x7c4]
test byte [eax + 0x20], 2
movsd xmm0, qword [eax + 0x18]
jne 0x46996a
comisd xmm0, xmmword [ebp - 0xa20]
jbe 0x469958
addsd xmm1, qword [ebp - 0x708]
movsd qword [ebp - 0x940], xmm1
jmp 0x46998e
addsd xmm1, qword [ebp - 0x6f8]
movsd qword [ebp - 0x940], xmm1
jmp 0x46998e
comisd xmm0, xmmword [ebp - 0xa20]
jbe 0x46997e
movsd xmm0, qword [ebp - 0x708]
jmp 0x469986
movsd xmm0, qword [ebp - 0x6f8]
movsd qword [ebp - 0x940], xmm0
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
mov eax, dword [sym.imp.GDI32.dll_SetTextColor]
push ecx
push dword [ebp - 0x770]
mov dword [ebp - 0x85c], eax
call eax
mov edx, dword [ebp - 0x77c]
mov eax, dword [sym.imp.GDI32.dll_GetTextExtentExPointW]
mov dword [ebp - 0x878], eax
and dword [edx], 0xfffdffff
cmp word [edi], 0
je 0x469a93
lea ecx, [ebp - 0x6a8]
push ecx
push dword [ebp - 0x7f0]
lea ecx, [ebp - 0x6c8]
push 0
push 0
push 1
push ecx
push dword [ebp - 0x770]
call eax
movzx edx, word [edi]
movd xmm0, dword [ebp - 0x6a8]
movsd xmm2, qword [ebp - 0x7b8]
movzx ecx, dl
mov eax, ecx
shr dx, 8
mov dword [ebp - 0x998], eax
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
addsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
movzx eax, ax
mov dword [ebp - 0x9b8], eax
cwde
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movzx eax, dx
mov dword [ebp - 0x954], eax
xor eax, eax
mov word [edi], ax
subsd xmm1, xmm0
movsd qword [ebp - 0x830], xmm1
movsd qword [ebp - 0x810], xmm1
jmp 0x469a9b
movsd xmm2, qword [ebp - 0x7b8]
mov edi, dword [ebx + 0x44]
mov dword [ebp - 0x894], edi
test di, di
jle 0x469aaf
cmp di, 0xa
jle 0x469ab8
lea ecx, [edi + 0xa]
cmp cx, 9
ja 0x469abd
movzx ecx, di
jmp 0x469afd
lea eax, [edi - 0xb]
cmp ax, 9
ja 0x469ace
lea eax, [edi - 0xa]
movzx ecx, ax
jmp 0x469afd
lea eax, [edi + 0x14]
cmp ax, 9
ja 0x469adc
movzx ecx, cx
jmp 0x469afd
cmp di, 0x15
je 0x469af8
cmp di, 0x16
je 0x469af8
cmp di, 0x1f
je 0x469af4
cmp di, 0x20
jne 0x469b03
xor ecx, ecx
jmp 0x469afd
mov ecx, 1
mov dword [ebp - 0x8cc], ecx
cmp dword [ebp - 0x984], 0
je 0x4865d7
mov edi, dword [ebp - 0x7bc]
movsd xmm0, qword [0x5ea500]
movsd qword [ebp - 0x9e8], xmm0
movsd xmm0, qword [0x5ea4f0]
movsd qword [ebp - 0xa38], xmm0
lea eax, [edi + 4]
movsd xmm0, qword [0x5ea518]
mov dword [ebp - 0x91c], eax
lea eax, [edi + 6]
mov dword [ebp - 0x898], eax
lea eax, [edi + 0xa]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [0x5ea660]
mov dword [ebp - 0x978], eax
mov eax, dword [sym.imp.GDI32.dll_ExtTextOutW]
movsd qword [ebp - 0x868], xmm0
movsd xmm0, qword [0x5ea6e0]
mov dword [ebp - 0x800], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetStringTypeExW]
mov dword [ebp - 0xaac], eax
mov eax, dword [sym.imp.GDI32.dll_CreatePen]
movsd qword [ebp - 0xa28], xmm0
movsd xmm0, qword [str.333333]
mov dword [ebp - 0x9cc], eax
mov eax, dword [sym.imp.GDI32.dll_MoveToEx]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [0x5ea550]
mov dword [ebp - 0x920], eax
mov eax, dword [sym.imp.GDI32.dll_LineTo]
mov dword [ebp - 0x924], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
movsd qword [ebp - 0x938], xmm0
movsd xmm0, qword [0x5ea680]
mov dword [ebp - 0x970], 0xff08
mov dword [ebp - 0x9c0], eax
mov eax, dword [ebp - 0x970]
movsd qword [ebp - 0x960], xmm0
movsd xmm0, qword [str.ffffff]
mov dword [ebp - 0x928], eax
mov eax, dword [ebp - 0x970]
movsd qword [ebp - 0xad0], xmm0
movsd xmm0, qword [0x5ea508]
mov dword [ebp - 0x9dc], eax
mov eax, dword [ebp - 0x970]
movsd qword [ebp - 0xad8], xmm0
movsd xmm0, qword [0x5ea520]
mov dword [ebp - 0x870], eax
mov eax, dword [ebp - 0x970]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x970]
movsd qword [ebp - 0xac8], xmm0
movsd xmm0, qword [0x5ea568]
mov dword [ebp - 0x89c], eax
mov ah, byte [ebp - 0x92f]
movsd qword [ebp - 0x9f0], xmm0
movsd xmm0, qword [0x5ea530]
mov byte [ebp - 0x905], ah
mov eax, dword [ebp - 0x970]
mov dword [ebp - 0x8fc], 0
mov dword [ebp - 0xaa0], 0x214
mov dword [ebp - 0xa80], 0xd800
mov dword [ebp - 0xa78], 0xdc00
mov dword [ebp - 0xab0], 1
mov dword [ebp - 0xa8c], 0x30ec
mov dword [ebp - 0xa88], 0x4e00
mov dword [ebp - 0xa84], 0x4e8c
mov dword [ebp - 0xabc], 0x4e09
mov dword [ebp - 0xa74], 0x203b
mov dword [ebp - 0xa58], 0x306f
mov dword [ebp - 0xa4c], 0xff0d
mov dword [ebp - 0xa50], 0x2212
mov dword [ebp - 0xab4], 0x3099
mov dword [ebp - 0xab8], 0x309a
mov dword [ebp - 0xa7c], 0x3033
mov dword [ebp - 0xaa4], 0x3035
mov dword [ebp - 0xaa8], 0x3034
mov dword [ebp - 0xa6c], 0x200b
mov dword [ebp - 0xa68], 0x309b
mov dword [ebp - 0xa70], 0x309c
mov dword [ebp - 0xa54], 0x3088
movsd qword [ebp - 0xae8], xmm0
mov dword [ebp - 0x9f4], eax
mov eax, dword [ebp - 0x970]
mov dword [ebp - 0x9d8], eax
mov eax, dword [ebp - 0x970]
mov dword [ebp - 0x964], eax
mov eax, dword [ebp - 0x970]
mov dword [ebp - 0x914], eax
mov eax, dword [ebp - 0x7d4]
nop word [eax + eax]
cmp byte [ebp - 0x8e8], 0
je 0x4865d7
movzx edx, ax
mov dword [ebp - 0x9bc], edx
mov edx, dword [ebp - 0x984]
cmp ax, word [edx]
mov edx, dword [ebp - 0x77c]
jge 0x4865b9
mov al, byte [ebp - 0x8e8]
test al, al
je 0x4865b9
mov ecx, dword [ebp - 0x9bc]
movzx eax, si
mov dword [ebp - 0xa14], eax
mov eax, dword [ebp - 0x984]
movsx edi, cx
mov eax, dword [eax + edi*4 + 4]
cmp si, word [eax]
jge 0x48658f
mov esi, dword [ebp - 0x780]
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [ebp - 0x9ac]
mov byte [ebp - 0x791], al
movzx eax, si
mov dword [ebp - 0x88c], eax
movzx eax, si
mov dword [ebp - 0x98c], eax
movzx eax, si
mov dword [ebp - 0x8f4], eax
movzx eax, si
mov dword [ebp - 0x854], eax
mov al, byte [ebp - 0x8e8]
test al, al
je 0x486595
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x2f4], 0
je 0x46a115
mov ecx, dword [ebp - 0x7cc]
test ecx, ecx
je 0x46a115
movzx eax, word [ecx + 8]
test al, 0x42
jne 0x46a115
test al, 4
je 0x469ea2
and al, 0x14
cmp al, 0x14
je 0x469ea2
cmp byte [ebp - 0x7d9], 0
je 0x46a115
mov eax, dword [edx]
test al, 0x20
jne 0x46a115
cmp byte [ebp - 0x85d], 0
jne 0x46a115
test si, si
jne 0x46a115
test al, 0xc0
jne 0x469f33
movzx eax, word [ecx + 4]
xor edx, edx
xor esi, esi
mov ecx, eax
cmp dx, ax
jge 0x469f28
mov eax, dword [ebp - 0x7fc]
movsx edi, ax
mov dword [ebp - 0x7d4], edi
mov eax, dword [ebp - 0x7bc]
movsx ecx, si
inc esi
mov ax, word [eax + ecx*2]
lea edx, [edi + ecx]
mov edi, dword [ebp - 0x87c]
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7d4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x820]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x7cc]
movzx eax, word [eax + 4]
mov ecx, eax
cmp si, ax
jl 0x469ee4
add dword [ebp - 0x7fc], ecx
jmp 0x46a10f
mov esi, dword [ebp - 0x818]
test esi, esi
je 0x46a050
mov edx, dword [ebp - 0x9a4]
test al, 0x40
je 0x469f55
cmp dx, 1
je 0x46a050
test al, al
jns 0x469f63
cmp dx, 2
je 0x46a050
mov edx, dword [ecx + 0xc]
movzx ecx, word [ecx + 4]
movsx eax, cx
mov edi, ecx
movd xmm1, dword [edx + 0xa80]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
cmp eax, esi
jle 0x46a0f5
mov eax, edi
xor esi, esi
xor edi, edi
cmp di, cx
jge 0x46a015
mov eax, dword [ebp - 0x7fc]
movsx edi, ax
mov dword [ebp - 0x7d4], edi
nop word [eax + eax]
mov eax, dword [ebp - 0x7bc]
movsx ecx, si
mov ax, word [eax + ecx*2]
lea edx, [edi + ecx]
mov edi, dword [ebp - 0x87c]
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7d4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x820]
mov dword [ecx + edx*4], eax
test si, si
jne 0x46a000
mov eax, dword [ebp - 0x818]
sub dword [ecx + edi*4], eax
mov edx, dword [ebp - 0x7cc]
inc esi
movzx eax, word [edx + 4]
mov ecx, eax
cmp si, ax
jl 0x469fc0
mov edx, dword [edx + 0xc]
movd xmm1, dword [edx + 0xa80]
movzx eax, ax
add dword [ebp - 0x7fc], eax
cvtdq2pd xmm1, xmm1
cwde
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si esi, xmm1
add esi, dword [ebp - 0x6a8]
mov dword [ebp - 0x818], esi
jmp 0x46a0f5
movzx eax, word [ecx + 4]
xor edx, edx
xor esi, esi
mov ecx, eax
cmp dx, ax
jge 0x46a0b4
mov eax, dword [ebp - 0x7fc]
movsx edi, ax
mov dword [ebp - 0x7d4], edi
nop
mov eax, dword [ebp - 0x7bc]
movsx ecx, si
inc esi
mov ax, word [eax + ecx*2]
lea edx, [edi + ecx]
mov edi, dword [ebp - 0x87c]
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7d4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x820]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x7cc]
movzx eax, word [eax + 4]
mov ecx, eax
cmp si, ax
jl 0x46a070
mov eax, dword [ebp - 0x7cc]
movzx ecx, cx
add dword [ebp - 0x7fc], ecx
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, cx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
add dword [ebp - 0x818], eax
mov eax, dword [ebp - 0x77c]
mov al, byte [eax]
and al, 0x40
movzx eax, al
neg eax
sbb eax, eax
add eax, 2
mov dword [ebp - 0x9a4], eax
mov esi, dword [ebp - 0x780]
mov eax, dword [ebp - 0xa14]
mov edi, dword [ebp - 0x9bc]
movsx ecx, ax
mov eax, dword [ebp - 0x984]
movsx edx, si
movsx esi, di
mov edi, dword [ebp - 0x7bc]
mov eax, dword [eax + esi*4 + 4]
mov esi, dword [ebp - 0x788]
mov ax, word [eax + ecx*2 + 2]
mov word [edi + edx*2], ax
mov al, byte [esi + 0x2f4]
test al, al
je 0x46a1b6
cmp byte [ebp - 0x9ac], 0
je 0x46a178
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7c4]
push edi
call fcn.004d5740
mov al, byte [esi + 0x2f4]
test al, al
je 0x46a1b6
cmp word [ebp - 0x834], 0x40
jne 0x46a1b6
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7c4]
push 0
push edi
call fcn.004d5810
test al, al
je 0x46a1b6
mov eax, dword [ebp - 0x778]
test byte [eax + 8], 0x40
je 0x46a1af
mov byte [ebp - 0x805], 1
jmp 0x46a1b6
mov byte [ebp - 0x8fd], 1
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7c4]
push edi
call fcn.004d5d80
mov ecx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x778]
inc ecx
mov dword [ebp - 0x780], ecx
cmp cx, word [eax + 4]
jl 0x486552
mov cl, byte [esi + 0x2f4]
mov dl, cl
test cl, cl
mov ecx, dword [ebp - 0x780]
je 0x46a236
mov ax, word [eax + 8]
and ax, word [ebp - 0xaa0]
cmp ax, 0x14
jne 0x46a230
cmp cx, 1
jne 0x46a230
mov cx, word [edi]
call fcn.0040d690
mov ecx, dword [ebp - 0x780]
cwde
mov eax, dword [eax*4 + 0x591aa4]
mov ax, word [eax]
mov word [edi], ax
mov dl, byte [esi + 0x2f4]
mov eax, dword [ebp - 0x778]
mov byte [ebp - 0x85d], 0
test dl, dl
je 0x46a261
cmp byte [esi + 0x7e4], 0
je 0x46a261
test byte [eax + 8], 0x40
jne 0x46a261
mov edx, 0x2015
mov byte [ebp - 0x7ad], 1
cmp word [edi], dx
je 0x46a268
mov byte [ebp - 0x7ad], 0
cmp word [ebp - 0x894], 0
je 0x46a289
cmp dword [ebx + 0x48], eax
jne 0x46a280
mov byte [ebp - 0x7d9], 1
jmp 0x46a289
cmp dword [ebx + 0x4c], eax
je 0x48663f
mov edx, dword [ebp - 0x834]
xor al, al
mov byte [ebp - 0x97c], al
cmp dx, 0x40
jne 0x46a2d0
cmp cx, 2
jl 0x46a2d0
mov ax, word [edi]
mov esi, 0xfc00
and ax, si
mov ecx, 0xd800
cmp ax, cx
jne 0x46a2d0
mov ax, word [edi + 2]
mov ecx, 0xdc00
and ax, si
mov byte [ebp - 0x7e6], 1
cmp ax, cx
je 0x46a2d7
mov byte [ebp - 0x7e6], 0
cmp dword [ebp - 0x988], 0
jne 0x46a72e
mov edi, dword [ebp - 0x778]
mov esi, dword [ebp - 0x7c4]
cmp word [edi + 0xa], 0
mov eax, dword [esi + 0x14]
jne 0x46a30a
test byte [esi + 0x20], 2
jne 0x46a30a
movsd xmm0, qword [eax + 0x2e8]
jmp 0x46a312
movsd xmm0, qword [eax + 0x2f0]
cmp word [ebp - 0x948], 0
movaps xmm1, xmm0
mov ecx, dword [ebp - 0x84c]
jne 0x46a348
call fcn.00537a90
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x798], eax
mov eax, dword [esi + 0x14]
movsd xmm1, qword [eax + 0x2f8]
call fcn.00537a90
jmp 0x46a369
call fcn.005379d0
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x798], eax
mov eax, dword [esi + 0x14]
movsd xmm1, qword [eax + 0x2f8]
call fcn.005379d0
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x968], eax
mov eax, dword [ebp - 0x9b8]
cwde
add edx, eax
cmp word [ebp - 0x954], 0
mov dword [ebp - 0x798], edx
jle 0x46a4b6
mov eax, dword [esi + 0x14]
movzx eax, word [eax + 8]
cmp ax, 2
je 0x46a4b6
cmp ax, 1
je 0x46a4b6
cmp word [ebp - 0x998], 0
jne 0x46a49c
mov eax, dword [ebp - 0x9b4]
test eax, eax
jne 0x46a3ff
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
lea eax, [ebp - 0x6c8]
push 0
push 0
push 1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov eax, dword [ebp - 0x6a8]
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x9b4], eax
jmp 0x46a405
mov dword [ebp - 0x6a8], eax
cmp word [edi + 0xa], 0
mov ecx, eax
jne 0x46a441
test byte [esi + 0x20], 2
jne 0x46a441
mov eax, dword [edi + 0xc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0xa5c]
jmp 0x46a46c
mov eax, dword [edi + 0xc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0xa60]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add edx, eax
mov dword [ebp - 0x9a8], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [ebp - 0x810], xmm1
movsd qword [ebp - 0x830], xmm1
mov esi, dword [ebp - 0x6c0]
add edx, esi
movzx eax, word [edi + 0xa]
mov dword [ebp - 0x798], edx
mov dword [ebp - 0x9f8], eax
jmp 0x46a4bc
mov esi, dword [ebp - 0x6c0]
mov eax, dword [ebp - 0x904]
mov edx, dword [ebp - 0x954]
mov eax, dword [eax]
mov ecx, eax
test al, 8
je 0x46a5e6
cmp word [ebp - 0x9b8], 0
jne 0x46a5e6
test dx, dx
jg 0x46a5e6
mov ecx, dword [ebp - 0x9b4]
test ecx, ecx
jne 0x46a537
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
lea eax, [ebp - 0x6c8]
push ecx
push ecx
push 1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov eax, dword [ebp - 0x6a8]
mov edx, eax
mov esi, dword [ebp - 0x6c0]
mov dword [ebp - 0x9b4], eax
mov eax, dword [ebp - 0x904]
mov ecx, dword [eax]
jmp 0x46a541
mov dword [ebp - 0x6a8], ecx
mov edx, ecx
mov ecx, eax
cmp word [edi + 0xa], 0
jne 0x46a581
mov eax, dword [ebp - 0x7c4]
test byte [eax + 0x20], 2
jne 0x46a581
mov eax, dword [edi + 0xc]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0xa5c]
jmp 0x46a5ac
mov eax, dword [edi + 0xc]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0xa60]
cvtdq2pd xmm0, xmm0
mov edx, dword [ebp - 0x954]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x798], eax
mov dword [ebp - 0x9a8], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [ebp - 0x810], xmm1
movsd qword [ebp - 0x830], xmm1
test cl, 4
je 0x46a6ea
cmp word [ebp - 0x9b8], 0
jne 0x46a6ea
test dx, dx
jg 0x46a6ea
mov edx, dword [ebp - 0x9b4]
test edx, edx
jne 0x46a648
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
lea eax, [ebp - 0x6c8]
push edx
push edx
push 1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x6a8]
mov esi, dword [ebp - 0x6c0]
mov dword [ebp - 0x9b4], edx
jmp 0x46a64e
mov dword [ebp - 0x6a8], edx
mov eax, dword [ebp - 0x7c4]
mov ecx, edx
mov eax, dword [eax + 0x14]
movzx eax, word [eax + 8]
cmp ax, 2
je 0x46a6ea
cmp ax, 1
je 0x46a6ea
mov eax, dword [edi + 0xc]
mov edx, esi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov ecx, dword [ebp - 0x798]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
movd xmm2, esi
mulsd xmm1, qword [ebp - 0x7b8]
cvtdq2pd xmm2, xmm2
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0xa9c]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
subsd xmm2, xmm1
sub edx, eax
add ecx, edx
mov dword [ebp - 0x9a8], edx
mov dword [ebp - 0x798], ecx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jmp 0x46a6f0
mov ecx, dword [ebp - 0x798]
mov edi, dword [ebp - 0x7c4]
mov eax, dword [edi + 0x14]
movsx eax, word [eax + 8]
sub eax, 1
je 0x46a717
mov edx, dword [ebp - 0x834]
sub eax, 1
jne 0x46a734
add ecx, esi
mov dword [ebp - 0x798], ecx
jmp 0x46a734
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0x834]
sar eax, 1
add ecx, eax
mov dword [ebp - 0x798], ecx
jmp 0x46a734
mov edi, dword [ebp - 0x7c4]
mov eax, dword [ebp - 0x974]
mov ecx, 0x4000
test word [eax], cx
je 0x46a8c6
mov ecx, dword [ebp - 0x7e0]
cmp dx, 0x40
jne 0x46a775
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
mov ecx, dword [ebx + 0x54]
cmp ecx, eax
jge 0x46a76e
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x46a8d2
xor esi, esi
jmp 0x46a8d2
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 4]
mov ecx, dword [ebx + 0x54]
cmp ecx, eax
jge 0x46a8bf
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
cmp word [ebp - 0x948], 0
movsd xmm0, qword [edi + 0x18]
addsd xmm0, qword [ebp - 0x940]
mov ecx, dword [ebp - 0x84c]
movaps xmm1, xmm0
jne 0x46ab5a
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x940]
add eax, esi
subsd xmm1, qword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x7f4], eax
addsd xmm1, qword [edi + 0x18]
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x940]
subsd xmm1, qword [ebp - 0x708]
mov ecx, dword [ebp - 0x84c]
lea edi, [esi + eax]
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x838], edi
addsd xmm1, qword [eax + 0x18]
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x940]
add eax, esi
addsd xmm1, qword [ebp - 0x700]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x918], eax
mov eax, dword [ebp - 0x7c4]
addsd xmm1, qword [eax + 0x18]
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x940]
add eax, esi
addsd xmm1, qword [ebp - 0x730]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x81c], eax
mov eax, dword [ebp - 0x7c4]
addsd xmm1, qword [ebp - 0x718]
addsd xmm1, qword [eax + 0x18]
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x6f8]
add eax, esi
mov esi, dword [ebp - 0x84c]
mov ecx, esi
mov dword [ebp - 0x94c], eax
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x700]
mov ecx, esi
mov dword [ebp - 0x7e4], eax
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x740]
mov ecx, esi
mov dword [ebp - 0x840], eax
call fcn.00537ae0
jmp 0x46ac61
xor esi, esi
jmp 0x46a78f
xor esi, esi
cmp dx, 0x40
jne 0x46a78f
cmp word [ebp - 0x948], 0
movsd xmm0, qword [edi + 0x18]
addsd xmm0, qword [ebp - 0x940]
mov ecx, dword [ebp - 0x84c]
movaps xmm1, xmm0
jne 0x46aa02
call fcn.00537a90
movsd xmm1, qword [ebp - 0x940]
add eax, esi
subsd xmm1, qword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x7f4], eax
addsd xmm1, qword [edi + 0x18]
call fcn.00537a90
movsd xmm1, qword [ebp - 0x940]
subsd xmm1, qword [ebp - 0x708]
mov ecx, dword [ebp - 0x84c]
lea edi, [esi + eax]
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x838], edi
addsd xmm1, qword [eax + 0x18]
call fcn.00537a90
movsd xmm1, qword [ebp - 0x940]
add eax, esi
addsd xmm1, qword [ebp - 0x700]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x918], eax
mov eax, dword [ebp - 0x7c4]
addsd xmm1, qword [eax + 0x18]
call fcn.00537a90
movsd xmm1, qword [ebp - 0x940]
add eax, esi
addsd xmm1, qword [ebp - 0x730]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x81c], eax
mov eax, dword [ebp - 0x7c4]
addsd xmm1, qword [ebp - 0x718]
addsd xmm1, qword [eax + 0x18]
call fcn.00537a90
movsd xmm1, qword [ebp - 0x6f8]
add eax, esi
mov esi, dword [ebp - 0x84c]
mov ecx, esi
mov dword [ebp - 0x94c], eax
call fcn.00537a90
movsd xmm1, qword [ebp - 0x700]
mov ecx, esi
mov dword [ebp - 0x7e4], eax
call fcn.00537a90
movsd xmm1, qword [ebp - 0x740]
mov ecx, esi
mov dword [ebp - 0x840], eax
call fcn.00537a90
jmp 0x46ab09
call fcn.005379d0
movsd xmm1, qword [ebp - 0x940]
add eax, esi
subsd xmm1, qword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x7f4], eax
addsd xmm1, qword [edi + 0x18]
call fcn.005379d0
movsd xmm1, qword [ebp - 0x940]
subsd xmm1, qword [ebp - 0x708]
mov ecx, dword [ebp - 0x84c]
lea edi, [esi + eax]
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x838], edi
addsd xmm1, qword [eax + 0x18]
call fcn.005379d0
movsd xmm1, qword [ebp - 0x940]
add eax, esi
addsd xmm1, qword [ebp - 0x700]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x918], eax
mov eax, dword [ebp - 0x7c4]
addsd xmm1, qword [eax + 0x18]
call fcn.005379d0
movsd xmm1, qword [ebp - 0x940]
add eax, esi
addsd xmm1, qword [ebp - 0x730]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x81c], eax
mov eax, dword [ebp - 0x7c4]
addsd xmm1, qword [ebp - 0x718]
addsd xmm1, qword [eax + 0x18]
call fcn.005379d0
movsd xmm1, qword [ebp - 0x6f8]
add eax, esi
mov esi, dword [ebp - 0x84c]
mov ecx, esi
mov dword [ebp - 0x94c], eax
call fcn.005379d0
movsd xmm1, qword [ebp - 0x700]
mov ecx, esi
mov dword [ebp - 0x7e4], eax
call fcn.005379d0
movsd xmm1, qword [ebp - 0x740]
mov ecx, esi
mov dword [ebp - 0x840], eax
call fcn.005379d0
mov esi, dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x7ec]
mov dword [ebp - 0x824], eax
mov ecx, dword [esi + 8]
sub ecx, dword [edx]
mov eax, ecx
sub ecx, dword [ebp - 0x81c]
sub eax, edi
mov dword [ebp - 0x6e0], ecx
mov dword [ebp - 0x6d8], eax
mov ecx, dword [edx + 4]
mov eax, dword [esi + 0xc]
sub eax, ecx
sub eax, dword [ebp - 0x968]
mov dword [ebp - 0x6d4], eax
mov eax, dword [esi + 4]
sub eax, ecx
mov dword [ebp - 0x6dc], eax
jmp 0x46acad
call fcn.00537a10
movsd xmm1, qword [ebp - 0x940]
add eax, esi
subsd xmm1, qword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x7f4], eax
addsd xmm1, qword [edi + 0x18]
call fcn.00537a10
movsd xmm1, qword [ebp - 0x940]
subsd xmm1, qword [ebp - 0x708]
mov ecx, dword [ebp - 0x84c]
lea edi, [esi + eax]
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x838], edi
addsd xmm1, qword [eax + 0x18]
call fcn.00537a10
movsd xmm1, qword [ebp - 0x940]
add eax, esi
addsd xmm1, qword [ebp - 0x700]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x918], eax
mov eax, dword [ebp - 0x7c4]
addsd xmm1, qword [eax + 0x18]
call fcn.00537a10
movsd xmm1, qword [ebp - 0x940]
add eax, esi
addsd xmm1, qword [ebp - 0x730]
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x81c], eax
mov eax, dword [ebp - 0x7c4]
addsd xmm1, qword [ebp - 0x718]
addsd xmm1, qword [eax + 0x18]
call fcn.00537a10
movsd xmm1, qword [ebp - 0x6f8]
add eax, esi
mov esi, dword [ebp - 0x84c]
mov ecx, esi
mov dword [ebp - 0x94c], eax
call fcn.00537a10
movsd xmm1, qword [ebp - 0x700]
mov ecx, esi
mov dword [ebp - 0x7e4], eax
call fcn.00537a10
movsd xmm1, qword [ebp - 0x740]
mov ecx, esi
mov dword [ebp - 0x840], eax
call fcn.00537a10
mov esi, dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x7ec]
mov dword [ebp - 0x824], eax
mov ecx, dword [esi + 4]
sub ecx, dword [edx + 4]
lea eax, [ecx + edi]
mov dword [ebp - 0x6dc], eax
mov eax, dword [ebp - 0x81c]
add eax, ecx
mov dword [ebp - 0x6d4], eax
mov ecx, dword [edx]
mov eax, dword [esi + 8]
sub eax, ecx
sub eax, dword [ebp - 0x968]
mov dword [ebp - 0x6d8], eax
mov eax, dword [esi]
sub eax, ecx
mov dword [ebp - 0x6e0], eax
mov edi, dword [ebp - 0x778]
movzx ecx, word [edi + 8]
test cl, 0x48
je 0x46accf
mov eax, ecx
and eax, 0x210
cmp eax, 0x200
je 0x46accf
test cl, 4
je 0x46acd6
mov byte [ebp - 0x881], 1
mov edx, dword [ebp - 0x7f8]
lea eax, [ebp - 0x760]
push eax
lea ecx, [ebp - 0x6e0]
call fcn.00407380
add esp, 4
test al, al
jne 0x46ad05
mov eax, dword [ebp - 0x7c4]
cmp dword [eax + 4], 0
je 0x46ae20
cmp byte [ebp - 0x92f], 0
je 0x46ad54
mov esi, dword [ebp - 0x8e4]
test esi, esi
je 0x46ad3d
mov edi, dword [ebp - 0x7c4]
nop
mov al, byte [esi + 8]
and al, 0xf
cmp al, 0xa
jae 0x46ad31
push esi
mov ecx, edi
call fcn.004eed50
mov esi, dword [esi]
test esi, esi
jne 0x46ad20
mov edi, dword [ebp - 0x778]
mov eax, dword [ebp - 0x7c4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8e4], eax
xor al, al
mov byte [ebp - 0x92f], al
movzx ecx, word [edi + 8]
mov edx, ecx
test cl, 2
je 0x46adc0
mov eax, dword [ebp - 0x77c]
xor edi, edi
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], edi
mov byte [ebp - 0x7e5], 1
mov eax, dword [eax]
and eax, 0x40000
test eax, eax
je 0x46ae20
test ecx, 0x400
mov ecx, dword [ebp - 0x778]
je 0x46b1ea
mov eax, dword [ecx]
mov esi, dword [ebp - 0x788]
mov edi, dword [ebp - 0x86c]
test eax, eax
je 0x46ae32
mov edx, 0x400
or word [eax + 8], dx
jmp 0x46ae32
mov al, cl
and al, 0x54
cmp al, 4
jne 0x46ae80
cmp byte [ebp - 0x7d9], 0
jne 0x46ae80
mov eax, dword [ebp - 0x77c]
test byte [eax], 0x20
je 0x46ae20
mov eax, dword [ebp - 0x780]
xor ecx, ecx
cmp cx, ax
jge 0x46ae20
mov edx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x8fc]
movzx esi, ax
cmp di, 0x14
jge 0x46ae12
mov ax, word [edx]
movsx ecx, di
inc edi
mov word [ebp + ecx*2 - 0x44], ax
add edx, 2
sub esi, 1
jne 0x46ae00
mov dword [ebp - 0x8fc], edi
mov esi, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x778]
mov edi, dword [ebp - 0x86c]
cmp byte [esi + 0x2f4], 0
je 0x48288d
test byte [ecx + 8], 0x40
mov edx, dword [ebp - 0x7bc]
je 0x4808f7
movzx eax, word [edx]
mov ecx, 0x3014
cmp ax, cx
jne 0x480854
cmp word [ebp - 0x780], 1
mov esi, dword [ebp - 0x77c]
jne 0x48088d
mov byte [ebp - 0x9ac], 1
jmp 0x48088d
mov eax, ecx
mov esi, ecx
and eax, 0x214
and esi, 0x20
cmp eax, 0x10
jne 0x46b1f5
mov edi, dword [ebp - 0x7ac]
mov esi, dword [ebp - 0x780]
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
test edi, edi
je 0x46aeea
mov eax, dword [ebp - 0x8e0]
movsx edx, ax
movsx eax, word [edi + 4]
movsx ecx, si
add ecx, edx
cmp ecx, eax
jle 0x46aeea
nop
movsx ecx, word [edi + 6]
movsx eax, word [edi + 4]
add ecx, eax
cmp ecx, edx
jg 0x46aee4
mov edi, dword [edi]
test edi, edi
jne 0x46aed0
mov dword [ebp - 0x7ac], edi
cmp word [ebp - 0x834], 0x40
jne 0x46b020
mov eax, dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x7f4]
mov eax, dword [eax + 8]
sub eax, dword [edx]
sub eax, ecx
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x7e0]
mov eax, dword [eax + 4]
sub eax, dword [edx + 4]
add eax, dword [ebp - 0x798]
mov dword [ebp - 0x7a0], eax
test edi, edi
je 0x46b13e
mov eax, dword [ebp - 0x8e0]
movsx esi, si
cwde
add esi, eax
movsx eax, word [edi + 4]
cmp esi, eax
jle 0x46b138
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x84c]
mov eax, dword [eax + 0xc]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x46af7a
call fcn.00537a90
jmp 0x46af7f
call fcn.005379d0
mov ecx, dword [ebp - 0x784]
mov dword [ecx], eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x784]
movsx eax, word [eax + 6]
cmp dword [ecx], eax
jle 0x46af9d
mov dword [ecx], eax
mov eax, dword [ebp - 0x874]
mov dword [ecx + 4], 0
test eax, eax
je 0x46afbb
cmp edi, eax
je 0x46afb7
cmp dword [edi + 8], eax
jne 0x46afbb
mov al, 1
jmp 0x46afbd
xor al, al
push dword [ebp - 0x788]
push ecx
mov ecx, dword [ebp - 0x8e0]
push eax
lea eax, [ebp - 0x6e0]
push eax
mov eax, dword [ebp - 0x780]
push eax
push ecx
push eax
push ecx
push dword [ebp - 0x7a0]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00487220
movsx ecx, word [edi + 6]
movsx eax, word [edi + 4]
add ecx, eax
cmp esi, ecx
jl 0x46b138
mov edi, dword [edi]
mov dword [ebp - 0x7ac], edi
test edi, edi
jne 0x46af43
jmp 0x46b138
mov ecx, dword [ebp - 0x7ec]
mov edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x798]
sub eax, dword [ecx]
add eax, dword [edx]
mov dword [ebp - 0x7a4], eax
mov eax, dword [edx + 4]
sub eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x7f4]
add eax, ecx
mov dword [ebp - 0x7a0], eax
test edi, edi
je 0x46b13e
mov eax, dword [ebp - 0x8e0]
movsx esi, si
cwde
add esi, eax
movsx eax, word [edi + 4]
cmp esi, eax
jle 0x46b132
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x84c]
mov eax, dword [eax + 0xc]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x46b09b
call fcn.00537a90
jmp 0x46b0a0
call fcn.005379d0
mov ecx, dword [ebp - 0x784]
mov dword [ecx], eax
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x784]
movsx eax, word [eax + 6]
cmp dword [ecx], eax
jle 0x46b0be
mov dword [ecx], eax
mov eax, dword [ebp - 0x874]
mov dword [ecx + 4], 0
test eax, eax
je 0x46b0dc
cmp edi, eax
je 0x46b0d8
cmp dword [edi + 8], eax
jne 0x46b0dc
mov al, 1
jmp 0x46b0de
xor al, al
push dword [ebp - 0x788]
push ecx
mov ecx, dword [ebp - 0x8e0]
push eax
lea eax, [ebp - 0x6e0]
push eax
mov eax, dword [ebp - 0x780]
push eax
push ecx
push eax
push ecx
push dword [ebp - 0x7a0]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
movsx ecx, word [edi + 6]
movsx eax, word [edi + 4]
add ecx, eax
cmp esi, ecx
jl 0x46b132
mov edi, dword [edi]
test edi, edi
jne 0x46b064
mov dword [ebp - 0x7ac], edi
mov ecx, dword [ebp - 0x7f4]
mov edx, dword [ebp - 0x788]
mov edi, dword [ebp - 0x798]
cmp byte [edx + 0x2f1], 0
je 0x46b1d1
mov eax, dword [ebp - 0x7e0]
mov esi, dword [ebp - 0x7ec]
push edx
mov eax, dword [eax + 4]
sub eax, dword [esi + 4]
cmp word [ebp - 0x834], 0x40
jne 0x46b1a4
add eax, edi
push eax
mov eax, dword [ebp - 0x7e0]
mov eax, dword [eax + 8]
sub eax, dword [esi]
sub eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
push dword [ebp - 0x84c]
push dword [ebp - 0x778]
push dword [ebp - 0x770]
call fcn.004e9f60
jmp 0x46b1d1
add eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
mov eax, edi
sub eax, dword [esi]
mov esi, dword [ebp - 0x7e0]
add eax, dword [esi]
push eax
push dword [ebp - 0x84c]
push dword [ebp - 0x778]
push dword [ebp - 0x770]
call fcn.004e9a80
mov ecx, dword [ebp - 0x778]
mov byte [ebp - 0x771], 1
movsx eax, word [ecx + 6]
add edi, eax
mov dword [ebp - 0x798], edi
mov esi, dword [ebp - 0x788]
jmp 0x46ae2c
test cl, 8
je 0x46b576
mov eax, dword [ebp - 0x788]
mov al, byte [eax + 0x2f4]
test al, al
je 0x46b241
mov ecx, dword [ebp - 0x77c]
mov eax, dword [ecx]
test eax, 0x100000
je 0x46b234
and eax, 0xffeffdff
mov dword [ecx], eax
mov eax, dword [ebp - 0x788]
mov al, byte [eax + 0x2f4]
test al, al
je 0x46b241
cmp byte [ebp - 0x881], 0
je 0x46ae20
mov eax, dword [ebp - 0x910]
cmp word [eax], 1
jne 0x46b255
mov ecx, 2
mov word [eax], cx
mov edi, dword [ebp - 0x7ac]
mov esi, dword [ebp - 0x780]
test edi, edi
je 0x46b29a
mov eax, dword [ebp - 0x8e0]
movsx edx, ax
movsx eax, word [edi + 4]
movsx ecx, si
add ecx, edx
cmp ecx, eax
jle 0x46b29a
nop dword [eax + eax]
movsx ecx, word [edi + 6]
movsx eax, word [edi + 4]
add ecx, eax
cmp ecx, edx
jg 0x46b294
mov edi, dword [edi]
test edi, edi
jne 0x46b280
mov dword [ebp - 0x7ac], edi
cmp word [ebp - 0x834], 0x40
jne 0x46b3c0
mov eax, dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x7f4]
mov eax, dword [eax + 8]
sub eax, dword [edx]
sub eax, ecx
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x7e0]
mov eax, dword [eax + 4]
sub eax, dword [edx + 4]
add eax, dword [ebp - 0x798]
mov dword [ebp - 0x7a0], eax
test edi, edi
je 0x46b4ce
mov eax, dword [ebp - 0x8e0]
movsx esi, si
cwde
add esi, eax
movsx eax, word [edi + 4]
cmp esi, eax
jle 0x46b4c8
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x84c]
mov eax, dword [eax + 0xc]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x46b32a
call fcn.00537a90
jmp 0x46b32f
call fcn.005379d0
mov ecx, dword [ebp - 0x784]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x874]
mov dword [ecx + 4], 0
test eax, eax
je 0x46b35b
cmp edi, eax
je 0x46b357
cmp dword [edi + 8], eax
jne 0x46b35b
mov al, 1
jmp 0x46b35d
xor al, al
push dword [ebp - 0x788]
push ecx
mov ecx, dword [ebp - 0x8e0]
push eax
lea eax, [ebp - 0x6e0]
push eax
mov eax, dword [ebp - 0x780]
push eax
push ecx
push eax
push ecx
push dword [ebp - 0x7a0]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00487220
movsx ecx, word [edi + 6]
movsx eax, word [edi + 4]
add ecx, eax
cmp esi, ecx
jl 0x46b4c8
mov edi, dword [edi]
mov dword [ebp - 0x7ac], edi
test edi, edi
jne 0x46b2f3
jmp 0x46b4c8
mov ecx, dword [ebp - 0x7ec]
mov edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x798]
sub eax, dword [ecx]
add eax, dword [edx]
mov dword [ebp - 0x7a4], eax
mov eax, dword [edx + 4]
sub eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x7f4]
add eax, ecx
mov dword [ebp - 0x7a0], eax
test edi, edi
je 0x46b4ce
mov eax, dword [ebp - 0x8e0]
movsx esi, si
cwde
add esi, eax
movsx eax, word [edi + 4]
cmp esi, eax
jle 0x46b4c2
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x84c]
mov eax, dword [eax + 0xc]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x46b43b
call fcn.00537a90
jmp 0x46b440
call fcn.005379d0
mov ecx, dword [ebp - 0x784]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x874]
mov dword [ecx + 4], 0
test eax, eax
je 0x46b46c
cmp edi, eax
je 0x46b468
cmp dword [edi + 8], eax
jne 0x46b46c
mov al, 1
jmp 0x46b46e
xor al, al
push dword [ebp - 0x788]
push ecx
mov ecx, dword [ebp - 0x8e0]
push eax
lea eax, [ebp - 0x6e0]
push eax
mov eax, dword [ebp - 0x780]
push eax
push ecx
push eax
push ecx
push dword [ebp - 0x7a0]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
movsx ecx, word [edi + 6]
movsx eax, word [edi + 4]
add ecx, eax
cmp esi, ecx
jl 0x46b4c2
mov edi, dword [edi]
test edi, edi
jne 0x46b404
mov dword [ebp - 0x7ac], edi
mov ecx, dword [ebp - 0x7f4]
mov esi, dword [ebp - 0x788]
mov byte [ebp - 0x771], 1
cmp byte [esi + 0x2f0], 0
je 0x46ae26
mov edx, dword [ebp - 0x7e0]
mov edi, dword [ebp - 0x7ec]
push esi
mov eax, dword [edx + 4]
sub eax, dword [edi + 4]
cmp word [ebp - 0x834], 0x40
jne 0x46b53f
add eax, dword [ebp - 0x798]
push eax
mov eax, edx
mov eax, dword [eax + 8]
sub eax, dword [edi]
sub eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
push dword [ebp - 0x84c]
push dword [ebp - 0x778]
push dword [ebp - 0x770]
call fcn.004e9540
mov byte [ebp - 0x771], 1
jmp 0x46ae26
add eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
mov eax, dword [ebp - 0x798]
sub eax, dword [edi]
add eax, dword [edx]
push eax
push dword [ebp - 0x84c]
push dword [ebp - 0x778]
push dword [ebp - 0x770]
call fcn.004e8fe0
mov byte [ebp - 0x771], 1
jmp 0x46ae26
mov eax, dword [edi + 0xc]
mov ecx, edx
mov eax, dword [eax + 0x1b0]
cmp eax, dword [ebp - 0xa64]
je 0x46b5ab
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov edx, dword [edi + 0xc]
movzx ecx, word [edi + 8]
mov eax, dword [edx + 0x1b0]
mov dword [ebp - 0xa64], eax
jmp 0x46b5ae
mov edx, dword [edi + 0xc]
mov edi, dword [ebp - 0x788]
movzx eax, cx
xor cl, cl
cmp byte [edi + 0x2f4], cl
je 0x46b5d6
and eax, 0x214
movzx ecx, cl
cmp eax, 0x214
mov eax, 1
cmove ecx, eax
cmp byte [ebp - 0x7e6], 0
je 0x46b7ae
cmp dword [ebp - 0x8d0], 0
jne 0x46d4c4
mov eax, dword [ebp - 0x8d4]
mov esi, dword [ebp - 0x770]
test eax, eax
je 0x46b612
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46b62e
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46b64a
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46b666
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46b682
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46b69e
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46b6ba
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46b6d6
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46b6f2
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46b70e
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46b72a
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46b746
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46b762
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46b77e
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8dc], 0
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c8]
push esi
call dword [ebp - 0x78c]
push 0
push esi
mov dword [ebp - 0x8d0], eax
call dword [ebp - 0x7a8]
mov dword [ebp - 0x928], eax
jmp 0x46c154
cmp byte [ebp - 0x8fd], 0
je 0x46b984
cmp dword [ebp - 0x8d4], 0
jne 0x46d4c4
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
test eax, eax
je 0x46b7f7
push eax
push esi
call dword [ebp - 0x78c]
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46b813
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46b82f
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46b84b
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46b867
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46b883
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46b89f
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46b8bb
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46b8d7
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46b8f3
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46b90f
push ecx
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46b92b
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46b947
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46b963
push eax
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8dc], 0
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e0]
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x8d4], eax
jmp 0x46c154
mov eax, dword [ebp - 0x77c]
mov edi, dword [eax]
mov eax, edi
and eax, 0x200
jne 0x46b999
test cl, cl
je 0x46b9a5
test edi, 0x800
jne 0x46d0ac
cmp byte [ebp - 0x7d9], 0
je 0x46b9c6
cmp word [ebp - 0x894], 0xa
jle 0x46b9c6
cmp word [ebp - 0x894], 0x14
jle 0x46d0ac
test eax, eax
jne 0x46b9ce
test cl, cl
je 0x46b9da
test edi, 0x1000
jne 0x46cc97
cmp byte [ebp - 0x7d9], 0
je 0x46b9fb
cmp word [ebp - 0x894], 0xfff6
jge 0x46b9fb
cmp word [ebp - 0x894], 0xffec
jge 0x46cc97
test eax, eax
jne 0x46c964
test cl, cl
jne 0x46c964
mov cl, byte [ebp - 0x7d9]
mov eax, dword [ebp - 0x894]
test cl, cl
je 0x46ba25
cmp ax, 0x15
je 0x46c964
test edi, 0x400
jne 0x46c7d1
test cl, cl
je 0x46ba3f
cmp ax, 0x16
je 0x46c7d1
test edi, 0x800
jne 0x46c3e6
test cl, cl
je 0x46ba5e
test ax, ax
jle 0x46ba5e
cmp ax, 0xa
jle 0x46c3e6
test edi, 0x1000
jne 0x46bf4f
test cl, cl
je 0x46ba7d
test ax, ax
jns 0x46ba7d
cmp ax, 0xfff6
jge 0x46bf4f
test edi, 0x100
jne 0x46bdbc
test si, si
jne 0x46bdbc
cmp byte [ebp - 0x7ad], 0
je 0x46bc32
cmp dword [ebp - 0x8dc], 0
jne 0x46d4b9
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46badd
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46baf5
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46bb0d
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46bb25
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46bb3d
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46bb55
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46bb6d
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46bb85
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46bb9d
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46bbb5
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46bbcd
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46bbe5
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46bbfd
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46bc15
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e8]
push esi
call edi
mov dword [ebp - 0x8dc], eax
jmp 0x46c14e
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46bc63
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46bc7b
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46bc93
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46bcab
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46bcc3
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46bcdb
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46bcf3
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46bd0b
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46bd23
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46bd3b
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46bd53
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46bd6b
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46bd83
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46bd9b
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46c14e
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
jmp 0x46c14e
cmp dword [ebp - 0x8a4], 0
jne 0x46d4b9
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46bdfa
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46be12
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46be2a
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46be42
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46be5a
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46be72
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46be8a
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46bea2
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46beba
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46bed2
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46beea
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46bf02
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46bf1a
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46bf32
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c4]
push esi
call edi
mov dword [ebp - 0x8a4], eax
jmp 0x46c14e
cmp byte [ebp - 0x7ad], 0
jne 0x46c1f5
cmp dword [ebp - 0x8a0], 0
jne 0x46c119
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46bf9a
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46bfb2
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46bfca
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46bfe2
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46bffa
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46c012
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46c02a
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46c042
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46c05a
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46c072
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46c08a
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov eax, dword [ebp - 0x8c8]
test eax, eax
je 0x46c0a2
push eax
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46c0ba
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46c0d2
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
cmp byte [ebp - 0x7d9], 0
je 0x46c0ed
mov eax, dword [ebp - 0x894]
test ax, ax
jns 0x46c0ed
movsx ecx, ax
not ecx
jmp 0x46c0f8
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
shr ecx, 0x1c
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x828], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x21c]
push esi
call edi
mov dword [ebp - 0x8a0], eax
jmp 0x46c14e
test cl, cl
je 0x46c129
test ax, ax
jns 0x46c129
movsx edi, ax
not edi
jmp 0x46c12c
shr edi, 0x1c
mov esi, dword [ebp - 0x770]
cmp dword [ebp - 0x828], edi
je 0x46c14e
push dword [edx + edi*4 + 0x21c]
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x828], edi
mov edi, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x778]
movzx edx, word [ecx + 8]
test dl, 0x40
jne 0x46fdd5
mov edi, dword [ebp - 0x77c]
mov ecx, dword [edi]
test cl, 0x20
jne 0x46d571
test cl, 0x40
jne 0x46d536
cmp byte [ebp - 0x7d9], 0
je 0x46c198
cmp word [ebp - 0x894], 0x1f
je 0x46d536
mov eax, ecx
and eax, 0x40000
je 0x46c1ad
test edx, 0x400
je 0x46d536
test cl, cl
js 0x46d4cf
cmp byte [ebp - 0x7d9], 0
je 0x46c1cc
cmp word [ebp - 0x894], 0x20
je 0x46d4cf
test eax, eax
je 0x46c1dc
test edx, 0x400
jne 0x46d4cf
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
jmp 0x46d571
cmp dword [ebp - 0x8c8], 0
jne 0x46c3b5
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46c233
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46c24b
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46c263
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46c27b
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46c293
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46c2ab
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46c2c3
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46c2db
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46c2f3
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46c30b
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46c323
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46c33b
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46c353
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46c36b
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
cmp byte [ebp - 0x7d9], 0
je 0x46c386
mov eax, dword [ebp - 0x894]
test ax, ax
jns 0x46c386
movsx ecx, ax
not ecx
jmp 0x46c391
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
shr ecx, 0x1c
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x828], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x35c]
push esi
call edi
mov dword [ebp - 0x8c8], eax
jmp 0x46c14e
test cl, cl
je 0x46c3c5
test ax, ax
jns 0x46c3c5
movsx edi, ax
not edi
jmp 0x46c3c8
shr edi, 0x1c
mov esi, dword [ebp - 0x770]
cmp dword [ebp - 0x828], edi
je 0x46c14e
push dword [edx + edi*4 + 0x35c]
jmp 0x46c141
cmp byte [ebp - 0x7ad], 0
jne 0x46c5e2
cmp dword [ebp - 0x8a8], 0
jne 0x46c5b2
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46c431
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46c449
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46c461
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46c479
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46c491
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46c4a9
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46c4c1
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46c4d9
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov ecx, dword [ebp - 0x8b8]
test ecx, ecx
je 0x46c4f1
push ecx
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov eax, dword [ebp - 0x8c4]
test eax, eax
je 0x46c509
push eax
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46c521
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46c539
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46c551
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46c569
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
cmp byte [ebp - 0x7d9], 0
je 0x46c583
mov eax, dword [ebp - 0x894]
test ax, ax
jle 0x46c583
movsx ecx, ax
dec ecx
jmp 0x46c58e
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
shr ecx, 0x1c
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x828], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x1f4]
push esi
call edi
mov dword [ebp - 0x8a8], eax
jmp 0x46c14e
test cl, cl
je 0x46c5c1
test ax, ax
jle 0x46c5c1
movsx edi, ax
dec edi
jmp 0x46c5c4
shr edi, 0x1c
mov esi, dword [ebp - 0x770]
cmp dword [ebp - 0x828], edi
je 0x46c14e
push dword [edx + edi*4 + 0x1f4]
jmp 0x46c141
cmp dword [ebp - 0x8c4], 0
jne 0x46c7a1
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46c620
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46c638
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46c650
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46c668
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46c680
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46c698
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46c6b0
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46c6c8
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov ecx, dword [ebp - 0x8b8]
test ecx, ecx
je 0x46c6e0
push ecx
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46c6f8
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46c710
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46c728
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46c740
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46c758
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
cmp byte [ebp - 0x7d9], 0
je 0x46c772
mov eax, dword [ebp - 0x894]
test ax, ax
jle 0x46c772
movsx ecx, ax
dec ecx
jmp 0x46c77d
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
shr ecx, 0x1c
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x828], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x334]
push esi
call edi
mov dword [ebp - 0x8c4], eax
jmp 0x46c14e
test cl, cl
je 0x46c7b0
test ax, ax
jle 0x46c7b0
movsx edi, ax
dec edi
jmp 0x46c7b3
shr edi, 0x1c
mov esi, dword [ebp - 0x770]
cmp dword [ebp - 0x828], edi
je 0x46c14e
push dword [edx + edi*4 + 0x334]
jmp 0x46c141
cmp dword [ebp - 0x8b8], 0
jne 0x46d4b9
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46c80f
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46c827
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46c83f
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46c857
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46c86f
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46c887
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46c89f
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46c8b7
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46c8cf
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46c8e7
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46c8ff
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46c917
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46c92f
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46c947
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1d0]
push esi
call edi
mov dword [ebp - 0x8b8], eax
jmp 0x46c14e
cmp byte [ebp - 0x7ad], 0
jne 0x46cb04
cmp dword [ebp - 0x8b4], 0
jne 0x46d4b9
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46c9af
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46c9c7
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46c9df
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46c9f7
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46ca0f
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46ca27
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46ca3f
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46ca57
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46ca6f
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46ca87
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46ca9f
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46cab7
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46cacf
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46cae7
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1cc]
push esi
call edi
mov dword [ebp - 0x8b4], eax
jmp 0x46c14e
cmp dword [ebp - 0x8c0], 0
jne 0x46d4b9
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46cb42
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46cb5a
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46cb72
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46cb8a
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46cba2
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46cbba
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46cbd2
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46cbea
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46cc02
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46cc1a
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46cc32
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46cc4a
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46cc62
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46cc7a
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1f0]
push esi
call edi
mov dword [ebp - 0x8c0], eax
jmp 0x46c14e
cmp byte [ebp - 0x7ad], 0
jne 0x46cea8
cmp dword [ebp - 0x8b0], 0
jne 0x46ce68
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46cce2
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x46ccfa
push eax
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov ecx, dword [ebp - 0x8d8]
test ecx, ecx
je 0x46cd12
push ecx
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46cd2a
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov eax, dword [ebp - 0x8bc]
test eax, eax
je 0x46cd42
push eax
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46cd5a
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46cd72
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46cd8a
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46cda2
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46cdba
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46cdd2
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46cdea
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46ce02
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46ce1a
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
cmp byte [ebp - 0x7d9], 0
je 0x46ce39
mov eax, dword [ebp - 0x894]
cmp ax, 0xfff6
jge 0x46ce39
cwde
mov ecx, 0xfffffff5
sub ecx, eax
jmp 0x46ce44
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
shr ecx, 0x1c
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x828], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x2e4]
push esi
call edi
mov dword [ebp - 0x8b0], eax
jmp 0x46c14e
cmp byte [ebp - 0x7d9], 0
je 0x46ce87
mov eax, dword [ebp - 0x894]
cmp ax, 0xfff6
jge 0x46ce87
cwde
mov edi, 0xfffffff5
sub edi, eax
jmp 0x46ce8a
shr edi, 0x1c
mov esi, dword [ebp - 0x770]
cmp dword [ebp - 0x828], edi
je 0x46c14e
push dword [edx + edi*4 + 0x2e4]
jmp 0x46c141
cmp dword [ebp - 0x8bc], 0
jne 0x46d06c
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46cee6
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x8d4]
test ecx, ecx
je 0x46cefe
push ecx
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov eax, dword [ebp - 0x8d8]
test eax, eax
je 0x46cf16
push eax
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov ecx, dword [ebp - 0x8ac]
test ecx, ecx
je 0x46cf2e
push ecx
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46cf46
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46cf5e
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46cf76
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46cf8e
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46cfa6
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46cfbe
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46cfd6
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46cfee
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46d006
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46d01e
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
cmp byte [ebp - 0x7d9], 0
je 0x46d03d
mov eax, dword [ebp - 0x894]
cmp ax, 0xfff6
jge 0x46d03d
cwde
mov ecx, 0xfffffff5
sub ecx, eax
jmp 0x46d048
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
shr ecx, 0x1c
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x828], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x3ac]
push esi
call edi
mov dword [ebp - 0x8bc], eax
jmp 0x46c14e
cmp byte [ebp - 0x7d9], 0
je 0x46d08b
mov eax, dword [ebp - 0x894]
cmp ax, 0xfff6
jge 0x46d08b
cwde
mov edi, 0xfffffff5
sub edi, eax
jmp 0x46d08e
shr edi, 0x1c
mov esi, dword [ebp - 0x770]
cmp dword [ebp - 0x828], edi
je 0x46c14e
push dword [edx + edi*4 + 0x3ac]
jmp 0x46c141
cmp byte [ebp - 0x7ad], 0
jne 0x46d2b9
cmp dword [ebp - 0x8ac], 0
jne 0x46d27b
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46d0f7
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x8d4]
test ecx, ecx
je 0x46d10f
push ecx
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov eax, dword [ebp - 0x8d8]
test eax, eax
je 0x46d127
push eax
push esi
call edi
mov dword [ebp - 0x8d8], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46d13f
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46d157
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46d16f
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46d187
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46d19f
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46d1b7
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46d1cf
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46d1e7
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46d1ff
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46d217
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46d22f
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
cmp byte [ebp - 0x7d9], 0
je 0x46d24c
mov eax, dword [ebp - 0x894]
cmp ax, 0xa
jle 0x46d24c
movsx ecx, ax
sub ecx, 0xb
jmp 0x46d257
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
shr ecx, 0x1c
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x828], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x244]
push esi
call edi
mov dword [ebp - 0x8ac], eax
jmp 0x46c14e
cmp byte [ebp - 0x7d9], 0
je 0x46d298
mov eax, dword [ebp - 0x894]
cmp ax, 0xa
jle 0x46d298
movsx edi, ax
sub edi, 0xb
jmp 0x46d29b
shr edi, 0x1c
mov esi, dword [ebp - 0x770]
cmp dword [ebp - 0x828], edi
je 0x46c14e
push dword [edx + edi*4 + 0x244]
jmp 0x46c141
cmp dword [ebp - 0x8d8], 0
jne 0x46d47b
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x78c]
test eax, eax
je 0x46d2f7
push eax
push esi
call edi
push dword [ebp - 0x928]
mov dword [ebp - 0x8d0], 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x8d4]
test ecx, ecx
je 0x46d30f
push ecx
push esi
call edi
mov dword [ebp - 0x8d4], 0
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x46d327
push eax
push esi
call edi
mov dword [ebp - 0x8ac], 0
mov ecx, dword [ebp - 0x8bc]
test ecx, ecx
je 0x46d33f
push ecx
push esi
call edi
mov dword [ebp - 0x8bc], 0
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x46d357
push eax
push esi
call edi
mov dword [ebp - 0x8b0], 0
mov ecx, dword [ebp - 0x8c0]
test ecx, ecx
je 0x46d36f
push ecx
push esi
call edi
mov dword [ebp - 0x8c0], 0
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x46d387
push eax
push esi
call edi
mov dword [ebp - 0x8b4], 0
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x46d39f
push eax
push esi
call edi
mov dword [ebp - 0x8b8], 0
mov ecx, dword [ebp - 0x8c4]
test ecx, ecx
je 0x46d3b7
push ecx
push esi
call edi
mov dword [ebp - 0x8c4], 0
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x46d3cf
push eax
push esi
call edi
mov dword [ebp - 0x8a8], 0
mov ecx, dword [ebp - 0x8c8]
test ecx, ecx
je 0x46d3e7
push ecx
push esi
call edi
mov dword [ebp - 0x8c8], 0
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x46d3ff
push eax
push esi
call edi
mov dword [ebp - 0x8a0], 0
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x46d417
push eax
push esi
call edi
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x46d42f
push eax
push esi
call edi
mov dword [ebp - 0x8dc], 0
cmp byte [ebp - 0x7d9], 0
je 0x46d44c
mov eax, dword [ebp - 0x894]
cmp ax, 0xa
jle 0x46d44c
movsx ecx, ax
sub ecx, 0xb
jmp 0x46d457
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
shr ecx, 0x1c
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x828], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x384]
push esi
call edi
mov dword [ebp - 0x8d8], eax
jmp 0x46c14e
cmp byte [ebp - 0x7d9], 0
je 0x46d498
mov eax, dword [ebp - 0x894]
cmp ax, 0xa
jle 0x46d498
movsx edi, ax
sub edi, 0xb
jmp 0x46d49b
shr edi, 0x1c
mov esi, dword [ebp - 0x770]
cmp dword [ebp - 0x828], edi
je 0x46c14e
push dword [edx + edi*4 + 0x384]
jmp 0x46c141
mov esi, dword [ebp - 0x770]
jmp 0x46c14e
mov esi, dword [ebp - 0x770]
jmp 0x46c154
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
test ecx, 0x400
je 0x46d4e8
push dword [eax + 0x1ec]
jmp 0x46d4ee
push dword [eax + 0x1c0]
push esi
call dword [ebp - 0x78c]
push 8
push esi
mov dword [ebp - 0x9b0], eax
call dword [ebp - 0x7a8]
test dword [edi], 0x40000
mov dword [ebp - 0x9dc], eax
je 0x46d571
mov eax, dword [ebp - 0x7d0]
mov ecx, 0x400
test word [eax + 8], cx
jne 0x46d571
mov dword [ebp - 0x7fc], 0
mov byte [ebp - 0x882], 1
jmp 0x46d571
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
test ecx, 0x400
je 0x46d54f
push dword [eax + 0x1ec]
jmp 0x46d555
push dword [eax + 0x1c0]
push esi
call dword [ebp - 0x78c]
push 0
push esi
mov dword [ebp - 0x9b0], eax
call dword [ebp - 0x7a8]
mov dword [ebp - 0x9dc], eax
mov eax, dword [ebp - 0x780]
mov edi, dword [ebp - 0x7bc]
movsx esi, ax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
mov dword [ebp - 0x790], esi
push 0
push 0
push esi
push edi
push dword [ebp - 0x770]
call dword [ebp - 0x878]
cmp byte [ebp - 0x8fd], 0
mov eax, dword [ebp - 0x7f0]
mov edx, dword [ebp - 0x784]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
mov ecx, dword [eax]
mov dword [edx], ecx
jne 0x46d741
test ecx, ecx
je 0x46d741
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si esi, xmm0
add esi, ecx
mov ecx, dword [ebp - 0x778]
mov dword [edx], esi
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x46d6b0
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
mov ecx, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov esi, dword [ebp - 0x790]
mov eax, dword [ebp - 0x780]
add eax, 0xfffffffe
mov dword [ebp - 0x7d4], 0
mov byte [ebp - 0xa44], 0
cmp ax, 2
ja 0x46d754
movzx eax, word [edi + esi*2 - 2]
mov esi, 0xdc00
cmp ax, si
jb 0x46d754
mov esi, 0xdfff
cmp ax, si
ja 0x46d754
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
mov dword [edx], eax
mov eax, 1
cmp ax, word [ebp - 0x780]
jge 0x46da51
mov eax, dword [ebp - 0x854]
lea edi, [edx + 4]
movzx edx, ax
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x7d4], edx
rep stosd dword es:[edi], eax
jmp 0x46da51
movsd xmm2, qword [ebp - 0x830]
mov ecx, dword [ebp - 0x778]
jmp 0x46d6b6
mov eax, 1
cmp ax, word [ebp - 0x780]
jge 0x46da51
mov esi, dword [ebp - 0x7f0]
mov eax, dword [ebp - 0x8f4]
mov dword [ebp - 0x7cc], edi
mov edi, edx
mov edx, esi
movzx eax, ax
sub edx, dword [ebp - 0x784]
lea ecx, [esi + 4]
mov dword [ebp - 0x814], ecx
mov dword [ebp - 0x804], edi
mov dword [ebp - 0x854], edx
mov dword [ebp - 0x7a4], eax
mov esi, dword [ecx]
lea ecx, [edi + 4]
sub esi, dword [edx + edi]
cmp byte [ebp - 0x8fd], 0
mov dword [ebp - 0x844], ecx
mov dword [ecx], esi
jne 0x46d877
test esi, esi
je 0x46d877
mov edx, dword [ebp - 0x778]
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add esi, eax
mov dword [ecx], esi
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, xmm2
movaps xmm0, xmm1
comisd xmm0, xmm4
movsd qword [ebp - 0x830], xmm0
movsd qword [ebp - 0x810], xmm0
jb 0x46d877
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm1, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x844]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movd xmm0, ecx
lea eax, [ecx + esi]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
subsd xmm1, xmm0
movsd qword [ebp - 0x830], xmm1
movsd qword [ebp - 0x810], xmm1
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
cmp byte [eax + 0xa7c], 0
je 0x46da04
mov esi, dword [ebp - 0x7cc]
mov edx, 0xd800
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp ax, dx
je 0x46da04
mov edx, 0xdc00
cmp ax, dx
je 0x46da04
movzx eax, word [esi + 2]
shl ecx, 0x10
add ecx, eax
lea eax, [ebp - 0x744]
push eax
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x744], ecx
mov ecx, dword [eax + 0xc]
add ecx, 0xa8c
call fcn.00487660
mov eax, dword [eax]
add dword [edi], eax
add dword [ebp - 0x6a8], eax
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
cmp word [eax + 0xa7e], 1
jne 0x46da04
movzx edi, word [esi + 2]
mov eax, 0x3001
cmp di, ax
jb 0x46d91c
mov eax, 0x3015
cmp di, ax
jbe 0x46d92c
lea eax, [edi + 0xf8]
cmp ax, 0x55
ja 0x46da04
movzx edx, word [esi]
xor ecx, ecx
mov dword [ebp - 0x7b0], ecx
mov eax, 0x300c
mov si, cx
nop
cmp dx, ax
je 0x46d95f
inc ecx
mov si, cx
mov dword [ebp - 0x7b0], ecx
movsx eax, si
movzx eax, word [eax*4 + 0x591aca]
test ax, ax
jne 0x46d940
xor ecx, ecx
mov eax, 0x300c
cmp di, ax
je 0x46d97c
inc ecx
movsx eax, cx
movzx eax, word [eax*4 + 0x591aca]
test ax, ax
jne 0x46d966
movsx edx, si
cmp word [edx*4 + 0x591aca], 0
je 0x46da04
movsx eax, cx
cmp word [eax*4 + 0x591aca], 0
je 0x46da04
movzx ecx, word [eax*4 + 0x591ac8]
movzx eax, word [edx*4 + 0x591ac8]
cmp ax, cx
je 0x46d9c1
cmp ax, 2
jne 0x46da04
cmp cx, 1
jne 0x46da04
mov esi, dword [ebp - 0x804]
mov ecx, dword [esi]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
movzx eax, ax
movsx edx, ax
mov eax, dword [ebp - 0x7cc]
sub ecx, edx
mov dword [esi], ecx
mov ecx, 0x3002
movzx eax, word [eax]
cmp ax, cx
je 0x46d9f7
mov ecx, 0x3001
cmp ax, cx
jne 0x46d9fe
mov byte [ebp - 0xa44], 1
sub dword [ebp - 0x6a8], edx
mov ecx, dword [ebp - 0x814]
add dword [ebp - 0x7cc], 2
add ecx, 4
sub dword [ebp - 0x7a4], 1
mov edi, dword [ebp - 0x844]
movsd xmm2, qword [ebp - 0x830]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
mov edx, dword [ebp - 0x854]
mov dword [ebp - 0x814], ecx
mov dword [ebp - 0x804], edi
jne 0x46d7a0
mov edx, dword [ebp - 0x7c4]
mov dword [ebp - 0x854], 0
mov eax, dword [edx + 0x14]
cmp word [eax + 8], 3
jne 0x46db11
mov ecx, dword [ebp - 0x778]
movzx eax, word [ecx + 6]
test ax, ax
je 0x46db11
cmp dword [ebp - 0x6c0], 0
je 0x46db11
cmp byte [ebp - 0x6c1], 0
jne 0x46db11
mov esi, dword [ebp - 0x904]
test byte [esi], 4
jne 0x46db11
cmp word [ebp - 0x954], 0
jne 0x46db11
cmp ecx, dword [ebp - 0x76c]
mov ecx, edx
cwde
movd xmm0, eax
setne al
cvtdq2pd xmm0, xmm0
movzx eax, al
push eax
push dword [ebp - 0xa44]
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si edi, xmm0
push edi
push dword [ebp - 0x780]
mov dword [ebp - 0x854], edi
push dword [ebp - 0x784]
push dword [ebp - 0x7bc]
call fcn.004867e0
mov esi, dword [ebp - 0x6a8]
add esi, edi
mov dword [ebp - 0x6a8], esi
jmp 0x46db17
mov esi, dword [ebp - 0x6a8]
cmp word [ebp - 0x834], 0x40
jne 0x46db30
mov eax, dword [ebp - 0x77c]
test byte [eax], 0x20
jne 0x46db94
mov eax, dword [ebp - 0x7ac]
mov edi, dword [ebp - 0x790]
test eax, eax
je 0x46db80
mov ecx, dword [ebp - 0x8e0]
movsx eax, word [eax + 4]
movsx edx, cx
lea ecx, [edx + edi]
cmp ecx, eax
jle 0x46db80
mov esi, dword [ebp - 0x7ac]
nop word [eax + eax]
movsx ecx, word [esi + 6]
movsx eax, word [esi + 4]
add ecx, eax
cmp ecx, edx
jg 0x46db74
mov esi, dword [esi]
test esi, esi
jne 0x46db60
mov dword [ebp - 0x7ac], esi
mov esi, dword [ebp - 0x6a8]
cmp word [ebp - 0x834], 0x40
mov eax, dword [ebp - 0x77c]
jne 0x46efb3
mov edx, dword [eax]
mov eax, edx
and eax, 0x40
jne 0x46dee9
cmp byte [ebp - 0x7d9], al
je 0x46dbb7
cmp word [ebp - 0x894], 0x1f
je 0x46dee9
mov edi, dword [ebp - 0x778]
mov ecx, edx
and ecx, 0x40000
je 0x46dbdc
mov esi, 0x400
test word [edi + 8], si
mov esi, dword [ebp - 0x6a8]
je 0x46deef
mov eax, edx
and eax, 0x80
jne 0x46ddd2
cmp byte [ebp - 0x7d9], al
je 0x46dbff
cmp word [ebp - 0x894], 0x20
je 0x46ddd2
test ecx, ecx
je 0x46dc12
mov ecx, 0x400
test word [edi + 8], cx
jne 0x46ddd2
mov eax, dword [ebp - 0x7e0]
mov esi, dword [ebp - 0x7ec]
mov edi, dword [eax + 8]
mov ecx, edi
mov eax, dword [esi]
sub ecx, eax
sub ecx, dword [ebp - 0x7f4]
mov dword [ebp - 0x814], eax
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x7a4], ecx
mov eax, dword [eax + 4]
sub eax, dword [esi + 4]
add eax, dword [ebp - 0x798]
mov dword [ebp - 0x8f4], eax
mov dword [ebp - 0x7a0], eax
test edx, 0x800
je 0x46dcec
mov eax, dword [ebp - 0x828]
inc eax
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [ebp - 0x9e8]
addsd xmm2, qword [ebp - 0x8f0]
movd xmm1, dword [ebp - 0x840]
cvtdq2pd xmm1, xmm1
mov edi, dword [ebp - 0x790]
movd xmm3, ecx
cvtdq2pd xmm3, xmm3
mulsd xmm1, xmm2
movaps xmm0, xmm3
subsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x6ac], eax
mulsd xmm0, xmm2
addsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [ebp - 0x6b0], eax
jmp 0x46dffb
test edx, 0x1000
je 0x46dd1c
mov eax, dword [ebp - 0x828]
movsd xmm2, qword [ebp - 0x8f0]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x9e8]
subsd xmm2, xmm0
jmp 0x46dc82
cmp byte [ebp - 0x7e6], 0
je 0x46ddb9
mov eax, dword [ebp - 0x81c]
sub eax, dword [ebp - 0x838]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x6a8]
cdq
sub eax, edx
sar esi, 1
mov edx, dword [ebp - 0x8f4]
mov ecx, eax
mov eax, edi
sar ecx, 1
sub eax, dword [ebp - 0x814]
sub edi, ecx
sub eax, ecx
mov dword [ebp - 0x6b4], edx
sub eax, esi
mov dword [ebp - 0x7a0], edx
sub eax, dword [ebp - 0x838]
sub edi, esi
sub edi, dword [ebp - 0x814]
sub edi, dword [ebp - 0x838]
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
add eax, edx
mov dword [ebp - 0x6b8], edi
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x6a8]
add eax, edi
mov edi, dword [ebp - 0x790]
mov dword [ebp - 0x6b0], eax
jmp 0x46dffb
movups xmm0, xmmword [ebp - 0x6e0]
mov edi, dword [ebp - 0x790]
movups xmmword [ebp - 0x6b8], xmm0
jmp 0x46dffb
mov ecx, dword [ebp - 0x7e0]
mov edx, dword [ecx + 8]
mov ecx, dword [ebp - 0x7ec]
mov ecx, dword [ecx]
test eax, eax
je 0x46ddf1
sub edx, ecx
sub edx, dword [ebp - 0x81c]
jmp 0x46de2c
cmp dword [ebp - 0x824], 0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
je 0x46de10
mulsd xmm0, qword [ebp - 0xa38]
jmp 0x46de18
mulsd xmm0, qword [ebp - 0xa40]
cvttsd2si eax, xmm0
sub edx, eax
sub edx, ecx
sub edx, dword [ebp - 0x81c]
mov dword [ebp - 0x870], edx
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x7a4], edx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax + 4]
sub ecx, dword [ebp - 0x818]
add ecx, dword [ebp - 0x798]
mov dword [ebp - 0x6b8], edx
mov dword [ebp - 0x6b4], ecx
mov eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x790]
mov dword [ebp - 0x7a0], ecx
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
movd xmm0, edi
mulsd xmm1, qword [ebp - 0x7b8]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
cvttsd2si eax, xmm1
add eax, esi
mov esi, dword [ebp - 0x778]
add eax, ecx
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
movd xmm1, eax
mov eax, dword [esi + 0xc]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b0], eax
mov al, 1
mov byte [ebp - 0x97c], al
jmp 0x46e001
mov edi, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x7e0]
mov edx, dword [ecx + 8]
mov ecx, dword [ebp - 0x7ec]
mov ecx, dword [ecx]
test eax, eax
je 0x46df0e
sub edx, ecx
sub edx, dword [ebp - 0x838]
jmp 0x46df49
cmp dword [ebp - 0x824], 0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
je 0x46df2d
mulsd xmm0, qword [ebp - 0xa28]
jmp 0x46df35
mulsd xmm0, qword [ebp - 0xa30]
cvttsd2si eax, xmm0
sub edx, eax
sub edx, ecx
sub edx, dword [ebp - 0x838]
mov dword [ebp - 0x870], edx
mov eax, dword [ebp - 0x7e0]
movd xmm1, edx
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x7a4], edx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax + 4]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
sub ecx, dword [ebp - 0x818]
add ecx, dword [ebp - 0x798]
mov dword [ebp - 0x6b0], edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x6b4], ecx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x7a0], ecx
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b8], eax
mov eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x790]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
movd xmm0, edi
mulsd xmm1, qword [ebp - 0x7b8]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, esi
add eax, ecx
mov dword [ebp - 0x6ac], eax
mov al, 1
mov byte [ebp - 0x97c], al
mov esi, dword [ebp - 0x778]
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x780]
mov byte [ebp - 0x771], 1
cmp byte [edx + 0x86d], 0
je 0x46e026
cmp ax, word [edx + 0x86e]
jle 0x46e03d
cmp byte [edx + 0x887], 0
je 0x46e377
cmp ax, 3
jg 0x46e377
mov ax, word [esi + 8]
shr ax, 0xb
movzx ecx, ax
mov dword [ebp - 0x880], ecx
cmp ax, 0x1f
jne 0x46e377
mov eax, dword [ebp - 0x77c]
mov edx, dword [esi + 0xc]
mov ecx, dword [eax]
test cl, 0xc0
jne 0x46e11a
mov eax, ecx
and eax, 0xa00
cmp eax, 0xa00
mov eax, ecx
jne 0x46e091
shr eax, 0x1c
mov dword [ebp - 0x828], eax
push dword [edx + eax*4 + 0x2bc]
jmp 0x46e120
and eax, 0x1200
cmp eax, 0x1200
jne 0x46e0b4
mov eax, ecx
shr eax, 0x1c
mov dword [ebp - 0x828], eax
push dword [edx + eax*4 + 0x30c]
jmp 0x46e120
test ecx, 0x800
je 0x46e0d0
mov eax, ecx
shr eax, 0x1c
mov dword [ebp - 0x828], eax
push dword [edx + eax*4 + 0x26c]
jmp 0x46e120
test ecx, 0x1000
je 0x46e0ec
mov eax, ecx
shr eax, 0x1c
mov dword [ebp - 0x828], eax
push dword [edx + eax*4 + 0x294]
jmp 0x46e120
test ecx, 0x200
je 0x46e0fc
push dword [edx + 0x1d8]
jmp 0x46e120
mov esi, dword [ebp - 0x770]
test ecx, 0x400
je 0x46e112
push dword [edx + 0x1dc]
jmp 0x46e126
push dword [edx + 0x1c8]
jmp 0x46e126
push dword [edx + 0x1d4]
mov esi, dword [ebp - 0x770]
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x887], 0
je 0x46e153
mov edx, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7bc]
call fcn.0040ef10
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
push 0
push 0
push edi
push dword [ebp - 0x7bc]
push esi
call dword [ebp - 0x878]
mov edi, dword [ebp - 0x7f0]
mov edx, dword [ebp - 0x784]
mov eax, dword [edi]
mov dword [edx], eax
mov eax, 1
cmp ax, word [ebp - 0x780]
jge 0x46e1b1
mov eax, dword [ebp - 0x98c]
lea ecx, [edi + 4]
mov esi, edx
movzx edx, ax
sub esi, edi
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [esi + ecx - 4], eax
sub edx, 1
jne 0x46e1a0
mov eax, dword [ebp - 0x77c]
mov eax, dword [eax]
test al, 0x40
je 0x46e218
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x7e0]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x6a8]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x7ec]
sar edi, 1
mov eax, dword [eax]
mov dword [ebp - 0x7cc], eax
mov eax, dword [ecx + 0xb8c]
add eax, dword [ecx + 0xb88]
mov ecx, esi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
sub ecx, dword [ebp - 0x7cc]
sub ecx, edi
sub ecx, dword [ebp - 0x838]
mov dword [ebp - 0x7a4], ecx
jmp 0x46e2da
test al, al
jns 0x46e291
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x7e0]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x6a8]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x7ec]
sar edi, 1
mov eax, dword [eax]
mov dword [ebp - 0x7cc], eax
mov eax, dword [ecx + 0xb8c]
add eax, dword [ecx + 0xb88]
cdq
sub eax, edx
sar eax, 1
sub eax, dword [ebp - 0x7cc]
sub eax, edi
sub eax, dword [ebp - 0x81c]
add eax, esi
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax + 4]
add ecx, dword [ebp - 0x798]
jmp 0x46e2f4
mov eax, dword [ebp - 0x7e0]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x6a8]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x7ec]
sar edi, 1
mov ecx, dword [eax]
mov eax, dword [ebp - 0x81c]
sub eax, dword [ebp - 0x838]
cdq
sub eax, edx
mov dword [ebp - 0x7cc], ecx
sar eax, 1
mov edx, esi
sub edx, eax
sub edx, ecx
sub edx, edi
sub edx, dword [ebp - 0x838]
mov dword [ebp - 0x7a4], edx
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x7ec]
mov eax, dword [eax + 4]
sub eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x798]
add ecx, eax
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x6b4], ecx
push 0
push dword [ebp - 0x770]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x7a0], ecx
mov eax, dword [eax + 0xae0]
add eax, ecx
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x81c]
sub eax, dword [ebp - 0x838]
cdq
sub eax, edx
sar eax, 1
sub esi, eax
mov eax, dword [ebp - 0x6a8]
sub esi, dword [ebp - 0x7cc]
sub esi, edi
sub esi, dword [ebp - 0x838]
add eax, esi
mov dword [ebp - 0x6b8], esi
mov dword [ebp - 0x6b0], eax
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x7c8], eax
mov dword [ebp - 0x818], 0
mov byte [ebp - 0x85d], 1
mov edi, dword [ebp - 0x7ac]
test edi, edi
je 0x46e4e8
mov eax, dword [ebp - 0x8e0]
movsx esi, ax
add esi, dword [ebp - 0x790]
movzx ecx, word [edi + 4]
movsx eax, cx
cmp esi, eax
jle 0x46e4e2
cmp byte [ebp - 0x85d], 0
je 0x46e40c
mov eax, dword [ebp - 0x874]
test eax, eax
je 0x46e3c7
cmp edi, eax
je 0x46e3c3
cmp dword [edi + 8], eax
jne 0x46e3c7
mov al, 1
jmp 0x46e3c9
xor al, al
push edx
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edi + 6]
push eax
push ecx
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x8e0]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
jmp 0x46e4c4
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x400c0
mov eax, dword [ebp - 0x874]
jne 0x46e473
test eax, eax
je 0x46e431
cmp edi, eax
je 0x46e42d
cmp dword [edi + 8], eax
jne 0x46e431
mov al, 1
jmp 0x46e433
xor al, al
push edx
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edi + 6]
push eax
push ecx
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x8e0]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00487220
jmp 0x46e4c4
test eax, eax
je 0x46e484
cmp edi, eax
je 0x46e480
cmp dword [edi + 8], eax
jne 0x46e484
mov al, 1
jmp 0x46e486
xor al, al
push edx
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edi + 6]
push eax
push ecx
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x8e0]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.004872d0
movsx ecx, word [edi + 4]
movsx eax, word [edi + 6]
add ecx, eax
cmp esi, ecx
jl 0x46e4e2
mov edi, dword [edi]
mov edx, dword [ebp - 0x788]
test edi, edi
jne 0x46e394
mov dword [ebp - 0x7ac], edi
mov eax, dword [ebp - 0x8e0]
xor esi, esi
mov ecx, dword [ebp - 0x8e4]
movzx edi, ax
mov eax, dword [ebp - 0x780]
movzx edx, ax
mov dword [ebp - 0x8f4], edi
mov dword [ebp - 0x804], edx
mov dword [ebp - 0x7cc], 0
mov dword [ebp - 0x844], esi
test ecx, ecx
je 0x46e84f
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 0xa
jae 0x46e551
movzx eax, word [ecx + 6]
cmp ax, 0xffff
je 0x46e562
movsx ecx, word [ecx + 4]
cwde
add ecx, eax
mov eax, dword [ebp - 0x8e0]
cwde
cmp eax, ecx
mov ecx, dword [ebp - 0x8e4]
jl 0x46e562
mov ecx, dword [ecx]
mov dword [ebp - 0x8e4], ecx
test ecx, ecx
jne 0x46e526
jmp 0x46e84f
movzx edx, word [ecx + 4]
mov ecx, dword [ebp - 0x804]
movsx eax, di
movsx ecx, cx
add ecx, eax
movsx eax, dx
cmp ecx, eax
jle 0x46e849
cmp byte [ebp - 0x85d], 0
lea ecx, [ebp - 0x6a0]
push dword [ebp - 0x97c]
mov eax, dword [ebp - 0x8e4]
push esi
push dword [ebp - 0x7cc]
movzx eax, word [eax + 6]
push ecx
push dword [ebp - 0x7ec]
lea ecx, [ebp - 0x6b8]
push dword [ebp - 0x784]
push ecx
mov ecx, dword [ebp - 0x7c4]
je 0x46e5ce
push 0
push eax
push edx
push dword [ebp - 0x804]
push edi
push 1
jmp 0x46e5df
push dword [ebp - 0x798]
push eax
push edx
push dword [ebp - 0x804]
push edi
push 0
call fcn.004ee4c0
movzx edx, ax
mov dword [ebp - 0x814], edx
mov byte [ebp - 0x7ad], 0
cmp dx, 2
jl 0x46e634
movsx ecx, dx
lea eax, [ecx*8]
sub eax, ecx
cmp byte [ebp + eax*4 - 0x6a8], 0
jne 0x46e63f
add ecx, 0xfffffffe
lea eax, [ecx*8]
sub eax, ecx
cmp byte [ebp + eax*4 - 0x68c], 0
je 0x46e63f
dec edx
mov byte [ebp - 0x7ad], 1
mov dword [ebp - 0x814], edx
xor eax, eax
cmp ax, dx
jge 0x46e7ac
mov eax, dword [ebp - 0x7cc]
lea esi, [ebp - 0x69e]
movsx ecx, ax
movzx eax, dx
mov dword [ebp - 0x98c], ecx
mov dword [ebp - 0xa48], eax
nop dword [eax]
cmp byte [esi + 0x12], 0
je 0x46e6b3
mov ecx, dword [ebp - 0x7c4]
lea eax, [esi + 2]
push eax
push dword [ebp - 0x8e4]
call fcn.004eedb0
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x81d]
movzx eax, byte [edx + 0x81c]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x81b]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov ecx, dword [ebp - 0x98c]
movsx eax, word [esi - 2]
movsx edi, word [esi]
add ecx, eax
mov eax, dword [ebp - 0x784]
mov edx, dword [esi + 0x16]
lea eax, [eax + ecx*4]
push eax
mov eax, dword [ebp - 0x7bc]
push edi
mov edi, dword [ebp - 0x770]
lea eax, [eax + ecx*2]
push eax
mov eax, dword [ebp - 0x844]
push dword [ebp - 0x7f8]
add eax, edx
cmp byte [ebp - 0x85d], 0
push 4
je 0x46e702
push dword [ebp - 0x7a0]
add eax, dword [ebp - 0x7a4]
push eax
jmp 0x46e70f
add eax, dword [ebp - 0x7a0]
push eax
push dword [ebp - 0x7a4]
push edi
call dword [ebp - 0x800]
cmp byte [esi + 0x12], 0
je 0x46e784
mov eax, dword [ebp - 0x8e4]
test byte [eax + 8], 0x10
je 0x46e757
cmp byte [ebp - 0x85d], 0
lea eax, [esi + 2]
push dword [ebp - 0x788]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x7ec]
push eax
je 0x46e74f
push 1
jmp 0x46e751
push 0
push edi
call fcn.004eea90
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push edi
call dword [ebp - 0x85c]
mov ecx, dword [ebp - 0x98c]
add esi, 0x1c
sub dword [ebp - 0xa48], 1
jne 0x46e660
mov edx, dword [ebp - 0x814]
mov esi, dword [ebp - 0x844]
mov edi, dword [ebp - 0x8f4]
cmp byte [ebp - 0x7ad], 0
je 0x46e8bb
movsx eax, dx
mov edx, dword [ebp - 0x804]
lea ecx, [eax*8]
sub ecx, eax
movzx eax, word [ebp + ecx*4 - 0x6a0]
add dword [ebp - 0x7cc], eax
add edi, eax
sub edx, eax
mov dword [ebp - 0x8f4], edi
add esi, dword [ebp + ecx*4 - 0x688]
mov ecx, dword [ebp - 0x8e4]
mov dword [ebp - 0x804], edx
mov dword [ebp - 0x844], esi
nop dword [eax]
movzx eax, word [ecx + 6]
cmp ax, 0xffff
je 0x46e562
movsx ecx, word [ecx + 4]
cwde
add ecx, eax
movsx eax, di
cmp eax, ecx
mov ecx, dword [ebp - 0x8e4]
jl 0x46e562
mov ecx, dword [ecx]
mov dword [ebp - 0x8e4], ecx
test ecx, ecx
je 0x46e84f
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 0xa
jb 0x46e800
mov ecx, dword [ecx]
mov dword [ebp - 0x8e4], ecx
test ecx, ecx
jne 0x46e832
jmp 0x46e84f
mov edx, dword [ebp - 0x804]
cmp byte [ebp - 0x85d], 0
mov eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7bc]
cwde
movsx edx, dx
lea ecx, [ecx + eax*4]
push ecx
push edx
lea eax, [edi + eax*2]
push eax
push dword [ebp - 0x7f8]
push 4
je 0x46e89d
push dword [ebp - 0x7a0]
mov eax, dword [ebp - 0x7a4]
add eax, esi
mov esi, dword [ebp - 0x770]
push eax
push esi
call dword [ebp - 0x800]
jmp 0x46e8c1
mov eax, dword [ebp - 0x7a0]
add eax, esi
mov esi, dword [ebp - 0x770]
push eax
push dword [ebp - 0x7a4]
push esi
call dword [ebp - 0x800]
jmp 0x46e8c1
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x788]
cmp byte [edi + 0x2f4], 0
je 0x46ed20
cmp byte [edi + 0x6fb], 0
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
je 0x46eb99
test byte [ecx + 8], 0x80
je 0x46eb99
cmp byte [ebp - 0x85d], 0
jne 0x46eb99
test byte [edx], 0x20
jne 0x46eb99
mov eax, dword [ebp - 0x790]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push esi
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x778]
mov edx, edi
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7bc]
mov si, word [eax + 8]
shr si, 0xb
movzx eax, si
push eax
mov dword [ebp - 0x880], eax
call fcn.0040a350
mov eax, dword [ebp - 0x778]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x7e4]
cmp si, 8
mov esi, dword [ebp - 0x770]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7c0], eax
movsd qword [ebp - 0x8f8], xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x990], xmm0
ja 0x46ea8f
push 8
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push dword [ebp - 0x790]
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x8f8]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
add eax, dword [ebp - 0x7e4]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
subsd xmm0, qword [ebp - 0x990]
cvttsd2si eax, xmm0
jmp 0x46eb2f
push 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push dword [ebp - 0x790]
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x8f8]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
sub eax, dword [ebp - 0x840]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x990]
cvttsd2si eax, xmm1
push eax
push esi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push edi
call fcn.00560853
add esp, 4
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
mov al, byte [edi + 0x6fc]
test al, al
je 0x46ed20
movzx eax, word [ecx + 8]
test eax, 0x100
je 0x46ec78
cmp byte [ebp - 0x85d], 0
jne 0x46ec78
test byte [edx], 0x20
jne 0x46ec78
movsd xmm2, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
shr ax, 0xb
movzx edx, ax
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push edi
mov dword [ebp - 0x880], edx
mulsd xmm0, qword [edi + 0x710]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x790]
movzx eax, ax
push eax
mov eax, dword [ecx + 0xc]
cvtdq2pd xmm0, xmm0
mov ecx, dword [ebp - 0x7c4]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push edx
push esi
call fcn.004ead10
mov al, byte [edi + 0x6fc]
test al, al
je 0x46ed20
mov ecx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
jne 0x46ed18
mov edx, 0x400
test word [ecx + 8], dx
je 0x46ed18
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push edi
mulsd xmm0, qword [edi + 0x710]
mov edi, dword [ebp - 0x7a0]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x790]
movzx eax, ax
push eax
mov eax, dword [ecx + 0xc]
cvtdq2pd xmm0, xmm0
mov ecx, dword [ebp - 0x7c4]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push edi
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push dword [ebp - 0x944]
push esi
call fcn.004eb9f0
jmp 0x46ed26
mov edi, dword [ebp - 0x7a0]
jmp 0x46ed2c
mov edi, dword [ebp - 0x7a0]
mov eax, dword [ebp - 0x77c]
cmp byte [ebp - 0x85d], 0
je 0x46fc1e
cmp byte [ebp - 0x79c], 0
je 0x46ed7e
mov ecx, dword [ebp - 0x7e0]
mov dword [ebp - 0x89c], edi
mov dword [ebp - 0x7fc], 0
mov byte [ebp - 0x79c], 0
mov edx, dword [ecx + 8]
mov ecx, dword [ebp - 0x7ec]
sub edx, dword [ecx]
sub edx, dword [ebp - 0x7f4]
mov dword [ebp - 0x870], edx
xor dh, dh
mov byte [ebp - 0x771], dh
mov ecx, dword [eax]
mov eax, dword [ebp - 0x778]
mov byte [ebp - 0x839], 0
mov esi, dword [eax + 0xc]
movd xmm1, dword [esi + 0xa80]
test cl, 0xc0
jne 0x46ee2a
mov eax, ecx
and eax, 0xa00
cmp eax, 0xa00
jne 0x46edc1
mov ecx, dword [ebp - 0x828]
mov esi, dword [esi + ecx*4 + 0xae8]
jmp 0x46ee30
mov eax, ecx
and eax, 0x1200
cmp eax, 0x1200
jne 0x46edde
mov ecx, dword [ebp - 0x828]
mov esi, dword [esi + ecx*4 + 0xb60]
jmp 0x46ee30
test ecx, 0x800
je 0x46edf5
mov ecx, dword [ebp - 0x828]
mov esi, dword [esi + ecx*4 + 0xb10]
jmp 0x46ee30
mov edi, dword [ebp - 0x798]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
cvttsd2si eax, xmm1
test ecx, 0x1000
je 0x46ee22
mov ecx, dword [ebp - 0x828]
mov esi, dword [esi + ecx*4 + 0xb38]
jmp 0x46ee46
mov esi, dword [esi + 0xae0]
jmp 0x46ee46
mov esi, dword [esi + 0xae4]
mov edi, dword [ebp - 0x798]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
cvttsd2si eax, xmm1
movd xmm0, eax
add esi, eax
cvtdq2pd xmm0, xmm0
add edi, esi
mov dword [ebp - 0x790], esi
mov dword [ebp - 0x798], edi
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm0, xmm1
comisd xmm0, xmmword [ebp - 0x8f0]
movsd qword [ebp - 0x830], xmm0
movsd qword [ebp - 0x810], xmm0
jb 0x46eee1
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm1, qword [ebp - 0x830]
add esp, 8
fstp qword [ebp - 0x810]
cvttsd2si eax, qword [ebp - 0x810]
add esi, eax
add edi, eax
mov dword [ebp - 0x790], esi
mov dword [ebp - 0x798], edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [ebp - 0x830], xmm1
movsd qword [ebp - 0x810], xmm1
push dword [ebp - 0x7c8]
mov edi, dword [ebp - 0x770]
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
xor eax, eax
cmp ax, word [ebp - 0x780]
jge 0x46ef67
mov eax, dword [ebp - 0x7fc]
mov esi, dword [ebp - 0x87c]
mov edx, dword [ebp - 0x820]
mov ecx, dword [ebp - 0x7bc]
cwde
lea edi, [esi + eax*2]
lea edx, [edx + eax*4]
mov eax, dword [ebp - 0x780]
movzx esi, ax
nop dword [eax + eax]
mov ax, word [ecx]
lea edx, [edx + 4]
mov word [edi], ax
lea ecx, [ecx + 2]
mov dword [edx - 4], 0
lea edi, [edi + 2]
sub esi, 1
jne 0x46ef40
mov esi, dword [ebp - 0x790]
mov edi, dword [ebp - 0x770]
mov edx, dword [ebp - 0x7fc]
mov ecx, dword [ebp - 0x820]
movsx eax, dx
add edx, dword [ebp - 0x780]
mov dword [ebp - 0x7fc], edx
mov dword [ecx + eax*4], esi
mov eax, dword [ebp - 0x77c]
test byte [eax], 0xc0
je 0x46ae20
push dword [ebp - 0x9b0]
push edi
call dword [ebp - 0x78c]
push dword [ebp - 0x9dc]
push edi
call dword [ebp - 0x7a8]
jmp 0x46ae20
mov ecx, dword [eax]
mov edx, ecx
and edx, 0x40
jne 0x46f281
cmp byte [ebp - 0x7d9], dl
je 0x46efd6
cmp word [ebp - 0x894], 0x1f
je 0x46f281
mov eax, ecx
and eax, 0x40000
je 0x46effa
mov esi, dword [ebp - 0x778]
mov edi, 0x400
test word [esi + 8], di
mov edi, dword [ebp - 0x790]
je 0x46f281
mov edx, ecx
and edx, 0x80
jne 0x46f194
cmp byte [ebp - 0x7d9], dl
je 0x46f01e
cmp word [ebp - 0x894], 0x20
je 0x46f194
test eax, eax
je 0x46f037
mov eax, dword [ebp - 0x778]
mov esi, 0x400
test word [eax + 8], si
jne 0x46f194
mov esi, dword [ebp - 0x7ec]
mov edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x798]
sub eax, dword [esi]
add eax, dword [edx]
mov edx, dword [edx + 4]
sub edx, dword [esi + 4]
add edx, dword [ebp - 0x7f4]
mov dword [ebp - 0x7a4], eax
mov dword [ebp - 0x7a0], edx
test ecx, 0x800
je 0x46f0f1
mov eax, dword [ebp - 0x828]
movd xmm0, dword [ebp - 0x840]
inc eax
cvtdq2pd xmm0, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movd xmm1, edx
mulsd xmm2, qword [ebp - 0x9e8]
cvtdq2pd xmm1, xmm1
addsd xmm2, qword [ebp - 0x8f0]
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x6e0]
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6b0], eax
mulsd xmm0, xmm2
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b4], eax
jmp 0x46f3ac
test ecx, 0x1000
je 0x46f181
mov eax, dword [ebp - 0x828]
movsd xmm1, qword [ebp - 0x8f0]
inc eax
movd xmm2, edx
cvtdq2pd xmm2, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x9e8]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x840]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x6e0]
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x6b0], eax
mulsd xmm0, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [ebp - 0x6b4], eax
jmp 0x46f3ac
movups xmm0, xmmword [ebp - 0x6e0]
movups xmmword [ebp - 0x6b8], xmm0
jmp 0x46f3ac
mov eax, dword [ebp - 0x7e0]
mov esi, dword [ebp - 0x7ec]
mov eax, dword [eax]
sub eax, dword [esi]
cmp word [ebp - 0x9a4], 2
je 0x46f1b4
sub eax, dword [ebp - 0x818]
mov ecx, dword [esi + 4]
mov esi, dword [ebp - 0x7e0]
add eax, dword [ebp - 0x798]
test edx, edx
mov dword [ebp - 0x7a4], eax
mov esi, dword [esi + 4]
mov dword [ebp - 0x7a0], esi
mov esi, dword [ebp - 0x6a8]
mov edx, dword [ebp - 0x7a0]
je 0x46f1ec
sub edx, ecx
add edx, dword [ebp - 0x81c]
jmp 0x46f22d
cmp dword [ebp - 0x824], 0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
je 0x46f20b
mulsd xmm0, qword [ebp - 0xa28]
jmp 0x46f213
mulsd xmm0, qword [ebp - 0xa30]
cvttsd2si eax, xmm0
sub edx, eax
mov eax, dword [ebp - 0x7a4]
sub edx, ecx
add edx, dword [ebp - 0x81c]
mov dword [ebp - 0x89c], edx
mov ecx, dword [ebp - 0x778]
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x6ac], edx
movd xmm1, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov eax, dword [ecx + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b4], eax
jmp 0x46f369
mov eax, dword [ebp - 0x7e0]
mov esi, dword [ebp - 0x7ec]
mov eax, dword [eax]
sub eax, dword [esi]
cmp word [ebp - 0x9a4], 1
je 0x46f2a1
sub eax, dword [ebp - 0x818]
mov ecx, dword [esi + 4]
mov esi, dword [ebp - 0x7e0]
add eax, dword [ebp - 0x798]
test edx, edx
mov dword [ebp - 0x7a4], eax
mov esi, dword [esi + 4]
mov dword [ebp - 0x7a0], esi
mov esi, dword [ebp - 0x6a8]
mov edx, dword [ebp - 0x7a0]
je 0x46f2d9
sub edx, ecx
add edx, dword [ebp - 0x838]
jmp 0x46f31a
cmp dword [ebp - 0x824], 0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
je 0x46f2f8
mulsd xmm0, qword [ebp - 0xa38]
jmp 0x46f300
mulsd xmm0, qword [ebp - 0xa40]
cvttsd2si eax, xmm0
sub edx, eax
mov eax, dword [ebp - 0x7a4]
sub edx, ecx
add edx, dword [ebp - 0x838]
mov dword [ebp - 0x89c], edx
mov ecx, dword [ebp - 0x778]
mov dword [ebp - 0x6b8], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x6b4], edx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movd xmm1, eax
mov eax, dword [ecx + 0xc]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6ac], eax
mov eax, dword [ecx + 0xc]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7a0], edx
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, esi
add eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x6b0], eax
mov al, 1
mov byte [ebp - 0x97c], al
mov edx, dword [ebp - 0x7ac]
test edx, edx
je 0x46f4c0
mov eax, dword [ebp - 0x8e0]
cwde
lea esi, [eax + edi]
movzx ecx, word [edx + 4]
movsx eax, cx
cmp esi, eax
jle 0x46f4c0
mov eax, dword [ebp - 0x77c]
mov edi, dword [ebp - 0x874]
test dword [eax], 0x400c0
jne 0x46f446
test edi, edi
je 0x46f3fc
cmp edx, edi
je 0x46f3f8
cmp dword [edx + 8], edi
jne 0x46f3fc
mov al, 1
jmp 0x46f3fe
xor al, al
push dword [ebp - 0x788]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x8e0]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
jmp 0x46f49c
test edi, edi
je 0x46f457
cmp edx, edi
je 0x46f453
cmp dword [edx + 8], edi
jne 0x46f457
mov al, 1
jmp 0x46f459
xor al, al
push dword [ebp - 0x788]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x8e0]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486e90
mov edx, dword [ebp - 0x7ac]
movsx ecx, word [edx + 4]
movsx eax, word [edx + 6]
add ecx, eax
cmp esi, ecx
jl 0x46f4c0
mov edx, dword [edx]
mov dword [ebp - 0x7ac], edx
test edx, edx
jne 0x46f3c4
mov eax, dword [ebp - 0x8e0]
xor edi, edi
mov ecx, dword [ebp - 0x8e4]
movzx esi, ax
mov eax, dword [ebp - 0x780]
movzx edx, ax
mov dword [ebp - 0x98c], esi
mov dword [ebp - 0x7cc], edx
mov dword [ebp - 0x804], 0
mov dword [ebp - 0x814], edi
test ecx, ecx
je 0x46f7df
nop
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 0xa
jae 0x46f52b
movzx eax, word [ecx + 6]
cmp ax, 0xffff
je 0x46f540
movsx ecx, word [ecx + 4]
cwde
add ecx, eax
mov eax, dword [ebp - 0x8e0]
cwde
cmp eax, ecx
mov ecx, dword [ebp - 0x8e4]
jl 0x46f540
mov ecx, dword [ecx]
mov dword [ebp - 0x8e4], ecx
test ecx, ecx
jne 0x46f500
jmp 0x46f7df
movzx edx, word [ecx + 4]
mov ecx, dword [ebp - 0x7cc]
movsx eax, si
movsx ecx, cx
add ecx, eax
movsx eax, dx
cmp ecx, eax
jle 0x46f7d9
push dword [ebp - 0x97c]
mov ecx, dword [ebp - 0x7c4]
lea eax, [ebp - 0x6a0]
push edi
push dword [ebp - 0x804]
push eax
push dword [ebp - 0x7ec]
lea eax, [ebp - 0x6b8]
push dword [ebp - 0x784]
push eax
push dword [ebp - 0x798]
mov eax, dword [ebp - 0x8e4]
movzx eax, word [eax + 6]
push eax
push edx
push dword [ebp - 0x7cc]
push esi
push 1
call fcn.004ee4c0
movzx edx, ax
mov dword [ebp - 0x8f4], edx
mov byte [ebp - 0x7ad], 0
cmp dx, 2
jl 0x46f5fa
movsx ecx, dx
lea eax, [ecx*8]
sub eax, ecx
cmp byte [ebp + eax*4 - 0x6a8], 0
jne 0x46f605
add ecx, 0xfffffffe
lea eax, [ecx*8]
sub eax, ecx
cmp byte [ebp + eax*4 - 0x68c], 0
je 0x46f605
dec edx
mov byte [ebp - 0x7ad], 1
mov dword [ebp - 0x8f4], edx
xor eax, eax
cmp ax, dx
jge 0x46f737
lea esi, [ebp - 0x69e]
movzx edi, dx
nop
cmp byte [esi + 0x12], 0
je 0x46f65d
mov ecx, dword [ebp - 0x7c4]
lea eax, [esi + 2]
push eax
push dword [ebp - 0x8e4]
call fcn.004eedb0
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x81d]
movzx eax, byte [edx + 0x81c]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x81b]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
movsx eax, word [esi - 2]
mov edx, dword [ebp - 0x804]
movsx ecx, dx
add ecx, eax
mov eax, dword [ebp - 0x784]
lea eax, [eax + ecx*4]
push eax
movsx eax, word [esi]
push eax
mov eax, dword [ebp - 0x7bc]
lea eax, [eax + ecx*2]
push eax
push dword [ebp - 0x7f8]
mov eax, dword [esi + 0x16]
add eax, dword [ebp - 0x814]
add eax, dword [ebp - 0x7a4]
push 4
push dword [ebp - 0x7a0]
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
cmp byte [esi + 0x12], 0
je 0x46f719
mov eax, dword [ebp - 0x8e4]
test byte [eax + 8], 0x10
je 0x46f6e7
push dword [ebp - 0x788]
mov ecx, dword [ebp - 0x7c4]
lea eax, [esi + 2]
push dword [ebp - 0x7ec]
push eax
push 1
push dword [ebp - 0x770]
call fcn.004eea90
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
add esi, 0x1c
sub edi, 1
jne 0x46f610
mov edx, dword [ebp - 0x8f4]
mov esi, dword [ebp - 0x98c]
mov edi, dword [ebp - 0x814]
cmp byte [ebp - 0x7ad], 0
je 0x46f826
movsx eax, dx
mov edx, dword [ebp - 0x7cc]
lea ecx, [eax*8]
sub ecx, eax
movzx eax, word [ebp + ecx*4 - 0x6a0]
add dword [ebp - 0x804], eax
add esi, eax
sub edx, eax
mov dword [ebp - 0x98c], esi
add edi, dword [ebp + ecx*4 - 0x688]
mov ecx, dword [ebp - 0x8e4]
mov dword [ebp - 0x7cc], edx
mov dword [ebp - 0x814], edi
nop word [eax + eax]
movzx eax, word [ecx + 6]
cmp ax, 0xffff
je 0x46f540
movsx ecx, word [ecx + 4]
cwde
add ecx, eax
movsx eax, si
cmp eax, ecx
mov ecx, dword [ebp - 0x8e4]
jl 0x46f540
mov ecx, dword [ecx]
mov dword [ebp - 0x8e4], ecx
test ecx, ecx
je 0x46f7df
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 0xa
jb 0x46f790
mov ecx, dword [ecx]
mov dword [ebp - 0x8e4], ecx
test ecx, ecx
jne 0x46f7c2
jmp 0x46f7df
mov edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x804]
movsx ecx, ax
mov eax, dword [ebp - 0x784]
mov esi, dword [ebp - 0x770]
lea eax, [eax + ecx*4]
push eax
movsx eax, dx
push eax
mov eax, dword [ebp - 0x7bc]
lea eax, [eax + ecx*2]
push eax
push dword [ebp - 0x7f8]
mov eax, dword [ebp - 0x7a4]
push 4
push dword [ebp - 0x7a0]
add eax, edi
push eax
push esi
call dword [ebp - 0x800]
jmp 0x46f82c
mov esi, dword [ebp - 0x770]
mov edi, dword [ebp - 0x788]
cmp byte [edi + 0x2f4], 0
je 0x46fc1e
cmp byte [edi + 0x6fb], 0
mov ecx, dword [ebp - 0x778]
je 0x46faae
test byte [ecx + 8], 0x80
je 0x46faae
mov eax, dword [ebp - 0x790]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push esi
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x778]
mov edx, edi
push dword [ebp - 0x780]
mov ecx, dword [ebp - 0x7bc]
mov si, word [eax + 8]
shr si, 0xb
movzx eax, si
push eax
mov dword [ebp - 0x880], eax
call fcn.0040a350
mov eax, dword [ebp - 0x778]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x7e4]
cmp si, 8
mov esi, dword [ebp - 0x770]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7c0], eax
movsd qword [ebp - 0x8f8], xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x990], xmm0
ja 0x46f9aa
push 8
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x8f8]
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x7c8], eax
mulsd xmm1, qword [edx + 0x708]
mov eax, dword [ebp - 0x7a0]
sub eax, dword [ebp - 0x7e4]
push ecx
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, dword [ecx]
addsd xmm1, qword [ebp - 0x990]
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x868]
subsd xmm1, qword [edx + 0x278]
jmp 0x46fa16
push 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x8f8]
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x7c8], eax
mulsd xmm1, qword [ecx + 0x708]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7a0]
push edx
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
movsd xmm1, qword [ebp - 0x868]
subsd xmm1, qword [ecx + 0x278]
subsd xmm0, qword [ebp - 0x990]
cvttsd2si eax, xmm0
movd xmm0, dword [edx]
cvtdq2pd xmm0, xmm0
push dword [ebp - 0x790]
mulsd xmm1, xmm0
push edi
movd xmm0, dword [ebp - 0x7a4]
push dword [ebp - 0x7f8]
cvtdq2pd xmm0, xmm0
push 4
push eax
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push esi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push edi
call fcn.00560853
add esp, 4
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x778]
mov al, byte [edi + 0x6fc]
test al, al
je 0x46fc1e
movzx eax, word [ecx + 8]
test eax, 0x100
je 0x46fb77
movsd xmm2, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x728]
shr ax, 0xb
movzx edx, ax
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push edi
mov dword [ebp - 0x880], edx
mulsd xmm0, qword [edi + 0x710]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x790]
movzx eax, ax
push eax
mov eax, dword [ecx + 0xc]
cvtdq2pd xmm0, xmm0
mov ecx, dword [ebp - 0x7c4]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a4]
lea eax, [ebp - 0x6e0]
push eax
push edx
push esi
call fcn.004ea430
mov al, byte [edi + 0x6fc]
test al, al
je 0x46fc1e
mov ecx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
jne 0x46fc1e
mov esi, dword [ebp - 0x790]
mov eax, 0x400
test word [ecx + 8], ax
je 0x46fc24
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push edi
mulsd xmm0, qword [edi + 0x710]
mov edi, dword [ebp - 0x770]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, esi
movzx eax, ax
push eax
mov eax, dword [ecx + 0xc]
cvtdq2pd xmm0, xmm0
mov ecx, dword [ebp - 0x7c4]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a4]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push dword [ebp - 0x944]
push edi
call fcn.004eb5c0
jmp 0x46fc2a
mov esi, dword [ebp - 0x790]
mov edi, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x77c]
mov byte [ebp - 0x771], 1
mov eax, dword [ecx]
test al, 0x20
jne 0x46ae20
test eax, 0x400c0
jne 0x46fcdb
cmp byte [ebp - 0x7e6], 0
mov eax, dword [ebp - 0x778]
mov edi, dword [ebp - 0x86c]
mov byte [ebp - 0x771], 1
mov ecx, dword [eax + 0xc]
movd xmm1, dword [ecx + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
je 0x46fca8
mov ecx, dword [ecx + 0xae0]
mov esi, dword [ebp - 0x788]
cvttsd2si eax, xmm1
add ecx, eax
add ecx, dword [ebp - 0x854]
add dword [ebp - 0x798], ecx
mov ecx, dword [ebp - 0x778]
jmp 0x46ae32
sub esi, dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x778]
movd xmm0, esi
mov esi, dword [ebp - 0x788]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
add dword [ebp - 0x798], eax
jmp 0x46ae32
push dword [ebp - 0x9b0]
push edi
call dword [ebp - 0x78c]
push dword [ebp - 0x9dc]
push edi
call dword [ebp - 0x7a8]
mov edi, dword [ebp - 0x818]
test edi, edi
je 0x46fd8a
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x9a4]
mov eax, dword [eax]
test al, 0x40
je 0x46fd1f
cmp cx, 1
je 0x46fd8a
test al, al
jns 0x46fd29
cmp cx, 2
je 0x46fd8a
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x6a8]
movd xmm0, esi
mov esi, dword [ebp - 0x788]
mov eax, dword [eax + 0xc]
cvtdq2pd xmm0, xmm0
mov byte [ebp - 0x771], 1
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si edx, xmm1
lea eax, [edx + ecx]
cmp eax, edi
jle 0x46ae26
sub edx, edi
mov byte [ebp - 0x771], 1
add edx, ecx
add dword [ebp - 0x798], edx
jmp 0x46ae26
mov ecx, dword [ebp - 0x778]
movd xmm0, esi
mov esi, dword [ebp - 0x788]
cvtdq2pd xmm0, xmm0
mov eax, dword [ecx + 0xc]
mov byte [ebp - 0x771], 1
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
add dword [ebp - 0x798], eax
jmp 0x46ae2c
cmp byte [edi + 0x2f4], 0
mov edi, dword [ebp - 0x86c]
je 0x480849
cmp edi, 2
je 0x480849
mov edx, dword [ebp - 0x7bc]
mov eax, 0xff3b
movzx edi, word [edx]
mov dword [ebp - 0x854], edi
cmp di, ax
jne 0x47079c
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x47079c
movzx eax, word [edx + 6]
mov esi, 0xff3d
cmp ax, si
mov esi, dword [ebp - 0x770]
je 0x46fe8c
cmp ax, word [ebp - 0xa8c]
je 0x46fe59
cmp ax, word [ebp - 0xa88]
je 0x46fe59
cmp ax, word [ebp - 0xa84]
je 0x46fe59
cmp ax, word [ebp - 0xabc]
jne 0x47013b
mov ecx, 0xff3d
cmp word [edx + 8], cx
mov ecx, dword [ebp - 0x778]
jne 0x47013b
mov edx, 0x30ec
cmp ax, dx
je 0x46fea0
mov edx, 0x4e00
cmp ax, dx
je 0x46fea0
mov edx, 0x4e8c
cmp ax, dx
je 0x46fea0
mov edx, 0x4e09
mov dword [ebp - 0x7b0], 1
cmp ax, dx
jne 0x46feaa
mov dword [ebp - 0x7b0], 2
mov eax, dword [ecx + 0xc]
movzx edi, word [ebp - 0x7b0]
push dword [eax + 0x1c0]
push esi
call dword [ebp - 0x78c]
lea ecx, [ebp - 0x6a8]
mov dword [ebp - 0x7c0], eax
push ecx
push dword [ebp - 0x7f0]
mov eax, edi
push 0
push 0
push eax
push dword [ebp - 0x91c]
mov dword [ebp - 0x8f4], eax
push esi
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov ecx, dword [ebp - 0x784]
movsd xmm4, qword [ebp - 0x8f0]
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x7f0]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax]
mulsd xmm0, xmm3
cvttsd2si esi, xmm0
add esi, eax
mov dword [ecx], esi
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x46ffd8
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
mov ecx, edx
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov eax, 1
cmp ax, di
jae 0x4700ee
mov edx, dword [ebp - 0x7f0]
lea esi, [ecx + 4]
mov eax, dword [ebp - 0x7b0]
sub edx, ecx
dec eax
mov dword [ebp - 0x854], edx
movzx eax, ax
mov dword [ebp - 0x7d4], eax
nop word [eax + eax]
mov ecx, dword [esi + edx]
sub ecx, dword [esi + edx - 4]
mov eax, dword [ebp - 0x778]
mov dword [esi], ecx
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
add edi, ecx
mov dword [esi], edi
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x4700de
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
mov edx, dword [ebp - 0x854]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [ecx + edi]
cvtdq2pd xmm0, xmm0
mov dword [esi], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
add esi, 4
sub dword [ebp - 0x7d4], 1
jne 0x470010
cmp word [ebp - 0x834], 0x40
jne 0x470616
mov eax, dword [ebp - 0x7e4]
mov esi, dword [ebp - 0x7e0]
cdq
and edx, 3
add eax, edx
mov edx, dword [ebp - 0x7ec]
mov ecx, dword [esi + 8]
sar eax, 2
sub ecx, eax
mov eax, dword [esi + 4]
sub eax, dword [edx + 4]
sub ecx, dword [edx]
sub eax, dword [ebp - 0x848]
sub ecx, dword [ebp - 0x7f4]
add eax, dword [ebp - 0x798]
jmp 0x47063e
lea eax, [edx + 4]
mov esi, 0xff08
cmp word [eax], si
jne 0x47079f
mov eax, dword [ebp - 0x780]
mov ecx, 0xff09
cwde
cmp word [edx + eax*2 - 4], cx
mov ecx, dword [ebp - 0x778]
jne 0x47079c
mov esi, 0xff3d
cmp word [edx + eax*2 - 2], si
jne 0x47079c
xor ecx, ecx
add eax, 0xfffffffc
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edx, dword [ebp - 0x780]
add esp, 4
mov ecx, dword [ebp - 0x898]
mov esi, eax
mov dword [ebp - 0x814], esi
push 1
push esi
lea edx, [edx - 5]
call fcn.0040c7c0
movzx eax, ax
add esp, 8
mov dword [ebp - 0x7b0], eax
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movsx edi, word [ebp - 0x7b0]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
mov dword [ebp - 0x8f4], edi
push 0
push 0
push edi
push esi
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov ecx, dword [ebp - 0x784]
movsd xmm4, qword [ebp - 0x8f0]
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x7f0]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax]
mulsd xmm0, xmm3
cvttsd2si esi, xmm0
add esi, eax
mov dword [ecx], esi
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x4702f3
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
mov ecx, edx
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov eax, 1
cmp ax, word [ebp - 0x7b0]
jge 0x470414
mov edx, dword [ebp - 0x7f0]
lea esi, [ecx + 4]
mov eax, dword [ebp - 0x7b0]
sub edx, ecx
dec eax
mov dword [ebp - 0x854], edx
movzx eax, ax
mov dword [ebp - 0x7d4], eax
nop word [eax + eax]
mov ecx, dword [edx + esi]
sub ecx, dword [edx + esi - 4]
mov eax, dword [ebp - 0x778]
mov dword [esi], ecx
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
add edi, ecx
mov dword [esi], edi
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x4703fe
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
mov edx, dword [ebp - 0x854]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [ecx + edi]
cvtdq2pd xmm0, xmm0
mov dword [esi], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
add esi, 4
sub dword [ebp - 0x7d4], 1
jne 0x470330
mov edi, dword [ebp - 0x8f4]
cmp word [ebp - 0x834], 0x40
jne 0x470456
mov eax, dword [ebp - 0x7e4]
mov esi, dword [ebp - 0x7e0]
cdq
sub eax, edx
mov edx, dword [ebp - 0x7ec]
sar eax, 1
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, dword [esi + 4]
sub eax, dword [edx + 4]
sub ecx, dword [edx]
sub eax, dword [ebp - 0x848]
sub ecx, dword [ebp - 0x838]
add eax, dword [ebp - 0x798]
jmp 0x470496
mov esi, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x7e0]
sub ecx, dword [esi]
sub ecx, dword [ebp - 0x848]
add ecx, dword [eax]
mov eax, 0x55555556
imul dword [ebp - 0x7e4]
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, dword [esi + 4]
mov esi, dword [ebp - 0x7e0]
add eax, dword [esi + 4]
add eax, dword [ebp - 0x838]
push dword [ebp - 0x784]
mov dword [ebp - 0x7a0], eax
push edi
push dword [ebp - 0x814]
mov dword [ebp - 0x7a4], ecx
push dword [ebp - 0x7f8]
push 4
push eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x778]
push dword [ebp - 0x7c0]
movd xmm0, edi
push dword [ebp - 0x770]
mov eax, dword [ecx + 0xc]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si esi, xmm1
add esi, dword [ebp - 0x6a8]
mov dword [ebp - 0x854], esi
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x848]
xor eax, eax
mov ecx, dword [ebp - 0x9d8]
test edi, edi
cmove ecx, eax
cmp esi, edi
jle 0x4705be
mov eax, esi
sub eax, edi
add dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7fc]
sub eax, ecx
xor ecx, ecx
mov dword [ebp - 0x7fc], eax
cmp cx, word [ebp - 0x7b0]
jge 0x4705ac
mov esi, dword [ebp - 0x820]
mov edi, dword [ebp - 0x87c]
mov ecx, dword [ebp - 0x784]
mov edx, dword [ebp - 0x814]
cwde
lea esi, [esi + eax*4]
lea edi, [edi + eax*2]
movzx eax, word [ebp - 0x7b0]
mov dword [ebp - 0x7d4], eax
nop word [eax + eax]
mov ax, word [edx]
lea edx, [edx + 2]
mov word [edi], ax
lea edi, [edi + 2]
mov eax, dword [ecx]
lea esi, [esi + 4]
add ecx, 4
mov dword [esi - 4], eax
sub dword [ebp - 0x7d4], 1
jne 0x470580
mov esi, dword [ebp - 0x854]
mov eax, dword [ebp - 0x7fc]
add eax, dword [ebp - 0x7b0]
mov dword [ebp - 0x7fc], eax
mov dword [ebp - 0x848], esi
movzx eax, word [ebp - 0x7b0]
push dword [ebp - 0x814]
mov dword [ebp - 0x9d8], eax
call fcn.00560853
mov esi, dword [ebp - 0x77c]
add esp, 4
cmp byte [ebp - 0x8e5], 0
mov dword [ebp - 0x818], 0
jne 0x476551
movsd xmm2, qword [ebp - 0x7b8]
mov edx, 1
xor cl, cl
mov dword [ebp - 0x79c], edx
mov byte [ebp - 0x771], cl
jmp 0x4828a7
mov edx, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x7e0]
sub ecx, dword [edx]
sub ecx, dword [ebp - 0x848]
add ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, dword [edx + 4]
add eax, dword [ebp - 0x81c]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x8f4]
mov edi, dword [ebp - 0x770]
push esi
push dword [ebp - 0x91c]
mov dword [ebp - 0x7a0], eax
push dword [ebp - 0x7f8]
mov dword [ebp - 0x7a4], ecx
push 4
push eax
push ecx
push edi
call dword [ebp - 0x800]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x778]
movsd xmm2, qword [ebp - 0x7b8]
mov edx, dword [ebp - 0x9d8]
movd xmm0, esi
xor esi, esi
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x848]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
test ecx, ecx
mov dword [ebp - 0x854], eax
cmove edx, esi
cmp eax, ecx
jle 0x47075d
mov esi, dword [ebp - 0x87c]
sub eax, ecx
add dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7fc]
mov ecx, dword [ebp - 0x784]
sub eax, edx
mov edx, dword [ebp - 0x820]
mov edi, dword [ebp - 0x91c]
mov dword [ebp - 0x7fc], eax
cwde
lea edx, [edx + eax*4]
lea esi, [esi + eax*2]
movzx eax, word [ebp - 0x7b0]
mov dword [ebp - 0x7d4], eax
nop dword [eax + eax]
mov ax, word [edi]
lea edi, [edi + 2]
mov word [esi], ax
lea esi, [esi + 2]
mov eax, dword [ecx]
add ecx, 4
mov dword [edx], eax
add edx, 4
sub dword [ebp - 0x7d4], 1
jne 0x470720
mov eax, dword [ebp - 0x7fc]
add eax, dword [ebp - 0x7b0]
mov dword [ebp - 0x7fc], eax
mov eax, dword [ebp - 0x854]
mov dword [ebp - 0x848], eax
cmp byte [ebp - 0x8e5], 0
movzx eax, word [ebp - 0x7b0]
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x818], 0
jne 0x48289b
mov dl, 1
xor cl, cl
mov dword [ebp - 0x79c], edx
mov byte [ebp - 0x771], cl
jmp 0x4828a7
lea eax, [edx + 4]
cmp byte [ebp - 0x7e5], 0
je 0x4743ba
xor ecx, ecx
mov dword [ebp - 0x7c0], 0
mov esi, 0x300c
mov byte [ebp - 0x791], 0
mov byte [ebp - 0x7ad], 0
mov dword [ebp - 0x854], ecx
cmp word [eax], si
jne 0x470805
lea eax, [edx + 6]
mov esi, 0x203b
cmp word [eax], si
jne 0x470805
mov eax, 0x300d
cmp word [edx + 8], ax
jne 0x470805
mov esi, 0x306f
mov eax, 4
cmp word [edx + 0xa], si
cmove ecx, eax
mov dword [ebp - 0x854], ecx
mov edi, dword [0x59d2a0]
xor esi, esi
mov dword [ebp - 0x790], esi
cmp word [edi], si
je 0x47091a
nop dword [eax]
lea edx, [edx + ecx*2]
mov dword [ebp - 0x7d4], ecx
xor esi, esi
mov dword [ebp - 0x964], 0
xor eax, eax
mov byte [ebp - 0x905], 1
add edx, 4
mov ecx, dword [ebp - 0x964]
movzx eax, word [edi + eax]
inc ecx
mov dword [ebp - 0x964], ecx
movzx ecx, cx
mov dword [ebp - 0x8f4], ecx
movzx ecx, word [edx]
cmp cx, word [ebp - 0xa4c]
cmove ecx, dword [ebp - 0xa50]
cmp ax, word [ebp - 0xa4c]
cmove eax, dword [ebp - 0xa50]
cmp cx, ax
jne 0x4708de
mov ecx, dword [ebp - 0x7d4]
inc esi
movsx eax, si
inc ecx
add eax, eax
mov dword [ebp - 0x7d4], ecx
add edx, 2
cmp word [edi + eax], 0
jne 0x470841
mov edx, dword [ebp - 0x7bc]
mov esi, 0x3001
movzx eax, word [edx + ecx*2 + 4]
mov ecx, dword [ebp - 0x8f4]
movzx edi, cx
mov dword [ebp - 0x964], edi
cmp ax, si
je 0x470914
movzx esi, cx
mov dword [ebp - 0x964], esi
mov esi, 0xff3d
cmp ax, si
je 0x470914
movzx eax, cx
mov dword [ebp - 0x964], eax
jmp 0x4708e4
mov edx, dword [ebp - 0x7bc]
mov esi, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x854]
inc esi
movsx eax, si
mov dword [ebp - 0x790], esi
mov byte [ebp - 0x905], 0
mov edi, dword [eax*4 + 0x59d2a0]
cmp word [edi], 0
jne 0x470820
jmp 0x47091a
mov esi, dword [ebp - 0x790]
xor al, al
xor cl, cl
mov byte [ebp - 0x7e6], cl
mov byte [ebp - 0x7e5], al
cmp byte [ebp - 0x905], al
jne 0x4709a8
mov edi, dword [ebp - 0x7bc]
lea eax, [ebp - 0x768]
mov edx, dword [ebp - 0x780]
mov ecx, edi
push eax
lea eax, [ebp - 0x764]
push eax
lea eax, [ebp - 0x6d0]
push eax
call fcn.0040a9d0
mov cl, al
add esp, 0xc
mov byte [ebp - 0x7e6], cl
test cl, cl
je 0x470978
mov al, byte [ebp - 0x7e5]
mov byte [ebp - 0x905], 1
jmp 0x4709a8
mov edx, dword [ebp - 0x780]
lea eax, [ebp - 0x1c]
push eax
mov ecx, edi
call fcn.0040b2d0
add esp, 4
mov byte [ebp - 0x7e5], al
test al, al
je 0x47391c
mov cl, byte [ebp - 0x7e6]
mov ah, 1
mov byte [ebp - 0x905], ah
mov edx, dword [ebp - 0x834]
mov edi, dword [ebp - 0x77c]
cmp dx, 0x40
jne 0x470b3f
test byte [edi], 0x20
je 0x470b3f
test al, al
je 0x4709fd
xor ecx, ecx
mov byte [ebp - 0x791], 1
cmp word [ebp - 0x1a], cx
setne cl
inc ecx
mov ax, cx
mov dword [ebp - 0x804], ecx
mov ecx, dword [ebp - 0x7d0]
sub ax, word [ecx + 4]
movzx ecx, ax
mov dword [ebp - 0x914], ecx
jmp 0x471daf
mov dword [ebp - 0x804], 0
test cl, cl
je 0x470ade
movsx eax, word [ebp - 0x764]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
cmp word [ebp - 0x6d0], 3
jne 0x470aa6
mov ecx, dword [ecx*4 + 0x5a5888]
movzx edx, word [ecx]
mov dword [ebp - 0x7d4], edx
test dx, dx
je 0x471daf
mov edx, dword [ebp - 0x804]
nop
inc edx
movsx eax, dx
cmp word [ecx + eax*2], 0
jne 0x470a50
mov dword [ebp - 0x804], edx
mov edx, dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x804]
test cx, cx
jle 0x471daf
mov ax, cx
and edx, 0xfc00
mov ecx, dword [ebp - 0x7d0]
sub ax, word [ecx + 4]
cmp edx, 0xd800
movzx ecx, ax
sete al
mov dword [ebp - 0x914], ecx
mov byte [ebp - 0x791], al
jmp 0x471db5
mov ecx, dword [ecx*4 + 0x59ab68]
movzx edx, word [ecx]
mov dword [ebp - 0x7d4], edx
test dx, dx
je 0x471daf
mov edx, dword [ebp - 0x804]
inc edx
movsx eax, dx
cmp word [ecx + eax*2], 0
jne 0x470ac5
mov dword [ebp - 0x804], edx
mov edx, dword [ebp - 0x7d4]
jmp 0x470a67
movsx eax, si
mov ecx, dword [eax*4 + 0x592508]
movzx edx, word [ecx]
mov dword [ebp - 0x7d4], edx
test dx, dx
je 0x470b22
mov edx, dword [ebp - 0x804]
nop dword [eax]
inc edx
movsx eax, dx
cmp word [ecx + eax*2], 0
jne 0x470b00
mov ecx, edx
mov dword [ebp - 0x804], edx
mov edx, dword [ebp - 0x7d4]
test cx, cx
jg 0x470a76
mov ecx, dword [ebp - 0x7d0]
mov eax, 1
sub ax, word [ecx + 4]
movzx eax, ax
mov dword [ebp - 0x914], eax
jmp 0x471daf
test al, al
je 0x470cd2
mov eax, dword [edi]
cmp dx, 0x40
jne 0x470b94
mov ecx, dword [ebp - 0x778]
mov byte [ebp - 0x791], 1
mov ecx, dword [ecx + 0xc]
test eax, 0x400c0
jne 0x470b8c
test eax, 0x200
je 0x470b75
push dword [ecx + 0x1d8]
jmp 0x470bae
test eax, 0x400
je 0x470b84
push dword [ecx + 0x1dc]
jmp 0x470bae
push dword [ecx + 0x1c8]
jmp 0x470bae
push dword [ecx + 0x1d4]
jmp 0x470bae
test al, 0xc0
jne 0x470b9f
test eax, 0x40000
je 0x470bc0
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
mov edi, dword [ebp - 0x7f0]
xor eax, eax
cmp word [ebp - 0x1a], ax
setne al
inc eax
movzx esi, ax
mov dword [ebp - 0x804], eax
lea eax, [ebp - 0x6a8]
push eax
push edi
push 0
push 0
push esi
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x784]
mov eax, dword [edi]
mov dword [edx], eax
mov eax, 1
cmp ax, si
jae 0x470c46
mov eax, dword [ebp - 0x804]
lea ecx, [edx + 4]
mov edx, edi
mov edi, dword [ebp - 0x784]
sub edx, dword [ebp - 0x784]
dec eax
movzx esi, ax
mov eax, dword [ecx + edx]
lea ecx, [ecx + 4]
sub eax, dword [ecx + edx - 8]
mov dword [ecx - 4], eax
add dword [edi], eax
mov dword [ecx - 4], 0
sub esi, 1
jne 0x470c25
mov edx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x7c4]
mov edi, dword [ebp - 0x804]
mov eax, dword [eax + 0x14]
cmp word [eax + 8], 3
jne 0x470cca
mov esi, dword [ebp - 0x778]
movzx ecx, word [esi + 6]
test cx, cx
je 0x470cca
cmp dword [ebp - 0x6c0], 0
je 0x470cca
cmp esi, dword [ebp - 0x76c]
setne al
movzx eax, al
push eax
movsx eax, cx
mov ecx, dword [ebp - 0x7c4]
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
push eax
push edi
push edx
lea eax, [ebp - 0x1c]
push eax
call fcn.004867e0
movsx eax, word [esi + 6]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
mov ax, di
jmp 0x471d4f
test cl, cl
je 0x4715dd
movsx eax, word [ebp - 0x764]
xor edx, edx
mov dword [ebp - 0x804], edx
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
cmp word [ebp - 0x6d0], 3
jne 0x471181
mov eax, dword [ecx*4 + 0x5a5888]
movzx ecx, word [eax]
test cx, cx
je 0x4715d2
nop dword [eax]
movzx edi, dx
inc edx
movsx esi, dx
cmp word [eax + esi*2], 0
jne 0x470d20
mov dword [ebp - 0x804], edx
test dx, dx
jle 0x4715d2
cmp word [ebp - 0x834], 0x40
jne 0x470da2
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x470da2
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x778]
mov byte [ebp - 0x791], 1
mov eax, dword [eax]
mov ecx, dword [ecx + 0xc]
test eax, 0x400c0
jne 0x470d9a
test eax, 0x200
je 0x470d83
push dword [ecx + 0x1d8]
jmp 0x470dc4
test eax, 0x400
je 0x470d92
push dword [ecx + 0x1dc]
jmp 0x470dc4
push dword [ecx + 0x1c8]
jmp 0x470dc4
push dword [ecx + 0x1d4]
jmp 0x470dc4
mov eax, dword [ebp - 0x77c]
mov eax, dword [eax]
test al, 0xc0
jne 0x470db5
test eax, 0x40000
je 0x470dd6
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
movsx eax, word [ebp - 0x764]
push dword [ebp - 0x7f0]
push 0
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
push 0
add ecx, eax
push esi
push dword [ecx*4 + 0x5a5888]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
cmp byte [ebp - 0x791], 0
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
jne 0x471083
mov edx, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add eax, dword [ecx]
mov ecx, dword [ebp - 0x784]
mov dword [ecx], eax
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x470f20
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov ecx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si eax, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
add dword [ecx], eax
add dword [ebp - 0x6a8], eax
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edx, dword [ebp - 0x7f0]
mov esi, dword [ebp - 0x804]
mov eax, 1
cmp ax, si
jge 0x4710dd
mov eax, edx
mov dword [ebp - 0x854], 2
sub eax, ecx
mov dword [ebp - 0x7d4], edi
mov edi, dword [ebp - 0x854]
lea esi, [ecx + 4]
mov dword [ebp - 0x8f4], eax
nop dword [eax]
mov edx, dword [esi + eax]
sub edx, dword [esi + eax - 4]
mov dword [esi], edx
movsx eax, word [ebp - 0x764]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
mov eax, dword [ecx*4 + 0x5a5888]
mov ecx, 0xfc00
and cx, word [eax + edi]
mov eax, 0xd800
cmp cx, ax
je 0x4710a0
mov eax, 0xdc00
cmp cx, ax
je 0x4710a0
cmp byte [ebp - 0x791], 0
jne 0x4710ae
mov ecx, dword [ebp - 0x778]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add eax, edx
mov dword [esi], eax
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x4710ae
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
fstp qword [ebp - 0x810]
cvttsd2si eax, qword [ebp - 0x810]
add dword [esi], eax
add dword [ebp - 0x6a8], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jmp 0x4710ae
mov edx, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x784]
movsd xmm2, qword [ebp - 0x830]
mov eax, dword [edx]
mov dword [ecx], eax
jmp 0x470f26
mov eax, dword [ebp - 0x784]
add dword [eax], edx
mov dword [esi], 0
movsd xmm3, qword [ebp - 0x7b8]
add edi, 2
movsd xmm4, qword [ebp - 0x8f0]
add esi, 4
sub dword [ebp - 0x7d4], 1
mov eax, dword [ebp - 0x8f4]
jne 0x470f60
mov esi, dword [ebp - 0x804]
mov edx, dword [ebp - 0x7c4]
mov eax, dword [edx + 0x14]
cmp word [eax + 8], 3
jne 0x471179
mov edi, dword [ebp - 0x778]
movzx ecx, word [edi + 6]
test cx, cx
je 0x471179
cmp dword [ebp - 0x6c0], 0
je 0x471179
cmp edi, dword [ebp - 0x76c]
setne al
movzx eax, al
push eax
movsx eax, cx
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
push eax
movsx eax, word [ebp - 0x764]
push esi
push dword [ebp - 0x784]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
push dword [ecx*4 + 0x5a5888]
mov ecx, edx
call fcn.004867e0
movsx eax, word [edi + 6]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
mov ax, si
jmp 0x471d4f
mov eax, dword [ecx*4 + 0x59ab68]
movzx ecx, word [eax]
test cx, cx
je 0x4715d2
movzx edi, dx
inc edx
movsx esi, dx
cmp word [eax + esi*2], 0
jne 0x471194
mov dword [ebp - 0x804], edx
test dx, dx
jle 0x4715d2
cmp word [ebp - 0x834], 0x40
jne 0x471216
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x471216
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x778]
mov byte [ebp - 0x791], 1
mov eax, dword [eax]
mov ecx, dword [ecx + 0xc]
test eax, 0x400c0
jne 0x47120e
test eax, 0x200
je 0x4711f7
push dword [ecx + 0x1d8]
jmp 0x471238
test eax, 0x400
je 0x471206
push dword [ecx + 0x1dc]
jmp 0x471238
push dword [ecx + 0x1c8]
jmp 0x471238
push dword [ecx + 0x1d4]
jmp 0x471238
mov eax, dword [ebp - 0x77c]
mov eax, dword [eax]
test al, 0xc0
jne 0x471229
test eax, 0x40000
je 0x47124a
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
movsx eax, word [ebp - 0x764]
push dword [ebp - 0x7f0]
push 0
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
push 0
add ecx, eax
push esi
push dword [ecx*4 + 0x59ab68]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
cmp byte [ebp - 0x791], 0
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
jne 0x4714f4
mov edx, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add eax, dword [ecx]
mov ecx, dword [ebp - 0x784]
mov dword [ecx], eax
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x471394
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov ecx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si eax, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
add dword [ecx], eax
add dword [ebp - 0x6a8], eax
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edx, dword [ebp - 0x7f0]
mov esi, dword [ebp - 0x804]
mov eax, 1
cmp ax, si
jge 0x47154e
mov eax, edx
mov dword [ebp - 0x854], 2
sub eax, ecx
mov dword [ebp - 0x7d4], edi
mov edi, dword [ebp - 0x854]
lea esi, [ecx + 4]
mov dword [ebp - 0x8f4], eax
mov edx, dword [esi + eax]
sub edx, dword [esi + eax - 4]
mov dword [esi], edx
movsx eax, word [ebp - 0x764]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
mov eax, dword [ecx*4 + 0x59ab68]
mov ecx, 0xfc00
and cx, word [eax + edi]
mov eax, 0xd800
cmp cx, ax
je 0x471511
mov eax, 0xdc00
cmp cx, ax
je 0x471511
cmp byte [ebp - 0x791], 0
jne 0x47151f
mov ecx, dword [ebp - 0x778]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add eax, edx
mov dword [esi], eax
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47151f
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
fstp qword [ebp - 0x810]
cvttsd2si eax, qword [ebp - 0x810]
add dword [esi], eax
add dword [ebp - 0x6a8], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jmp 0x47151f
mov edx, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x784]
movsd xmm2, qword [ebp - 0x830]
mov eax, dword [edx]
mov dword [ecx], eax
jmp 0x47139a
mov eax, dword [ebp - 0x784]
add dword [eax], edx
mov dword [esi], 0
movsd xmm3, qword [ebp - 0x7b8]
add edi, 2
movsd xmm4, qword [ebp - 0x8f0]
add esi, 4
sub dword [ebp - 0x7d4], 1
mov eax, dword [ebp - 0x8f4]
jne 0x4713d1
mov esi, dword [ebp - 0x804]
mov edx, dword [ebp - 0x7c4]
mov eax, dword [edx + 0x14]
cmp word [eax + 8], 3
jne 0x471179
mov edi, dword [ebp - 0x778]
movzx ecx, word [edi + 6]
test cx, cx
je 0x471179
cmp dword [ebp - 0x6c0], 0
je 0x471179
cmp edi, dword [ebp - 0x76c]
setne al
movzx eax, al
push eax
movsx eax, cx
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
push eax
movsx eax, word [ebp - 0x764]
push esi
push dword [ebp - 0x784]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
push dword [ecx*4 + 0x59ab68]
jmp 0x471154
mov ecx, dword [ebp - 0x7d0]
jmp 0x471d62
movsx edi, si
shl edi, 2
mov dword [ebp - 0x804], 0
mov dword [ebp - 0x8f4], edi
mov eax, dword [edi + 0x592508]
movzx ecx, word [eax]
test cx, cx
je 0x471b4b
mov ecx, dword [ebp - 0x804]
nop dword [eax + eax]
movzx edx, cx
inc ecx
movsx esi, cx
mov dword [ebp - 0x7d4], edx
cmp word [eax + esi*2], 0
jne 0x471610
mov dword [ebp - 0x804], ecx
test cx, cx
movzx ecx, word [eax]
jle 0x471b4b
cmp word [ebp - 0x834], 0x40
jne 0x471795
cmp word [ebp - 0x804], 2
jne 0x471670
movzx eax, word [eax + 2]
mov edx, 0x3099
cmp ax, dx
je 0x471666
mov edx, 0x309a
cmp ax, dx
jne 0x471670
mov dl, 1
mov byte [ebp - 0x7ad], dl
jmp 0x471676
mov dl, byte [ebp - 0x7ad]
mov eax, 0xab
cmp cx, ax
je 0x471772
mov eax, 0xbb
cmp cx, ax
je 0x471772
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4716da
test dl, dl
jne 0x4716da
mov eax, 0x100
cmp cx, ax
jb 0x4716da
mov eax, 0x216a
cmp cx, ax
je 0x4716da
mov eax, 0x216b
cmp cx, ax
je 0x4716da
mov eax, 0x217a
cmp cx, ax
je 0x4716da
mov eax, 0x217b
cmp cx, ax
jne 0x471795
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x778]
mov byte [ebp - 0x791], 1
mov eax, dword [eax]
mov ecx, dword [ecx + 0xc]
test eax, 0x400c0
jne 0x471758
test eax, 0x200
je 0x47171d
push dword [ecx + 0x1d8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
jmp 0x4717a8
test eax, 0x400
je 0x47173e
push dword [ecx + 0x1dc]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
jmp 0x4717a8
push dword [ecx + 0x1c8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
jmp 0x4717a8
push dword [ecx + 0x1d4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
jmp 0x4717a8
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
jmp 0x4717a8
mov eax, dword [ebp - 0x77c]
mov eax, dword [eax]
test al, 0xc0
jne 0x4717e5
test eax, 0x40000
jne 0x4717e5
cmp byte [ebp - 0x7ad], 0
je 0x471806
mov eax, dword [edi + 0x592508]
mov ecx, 0x3099
cmp word [eax + 2], cx
jne 0x471806
mov esi, dword [ebp - 0x7f0]
lea ecx, [ebp - 0x6a8]
push ecx
push esi
push 0
push 0
push 1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
jmp 0x471830
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
push 0
push 0
push esi
push dword [edi + 0x592508]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov esi, dword [ebp - 0x7f0]
cmp byte [ebp - 0x791], 0
movsd xmm2, qword [ebp - 0x7b8]
mov ecx, dword [ebp - 0x784]
movsd xmm3, qword [ebp - 0x8f0]
jne 0x471938
mov edx, dword [ebp - 0x778]
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
comisd xmm1, xmm3
movsd qword [ebp - 0x830], xmm1
movsd qword [ebp - 0x810], xmm1
jb 0x471944
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm1, qword [ebp - 0x830]
add esp, 8
mov ecx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si eax, qword [ebp - 0x810]
movsd xmm2, qword [ebp - 0x7b8]
add dword [ecx], eax
add dword [ebp - 0x6a8], eax
movsd xmm3, qword [ebp - 0x8f0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [ebp - 0x830], xmm1
movsd qword [ebp - 0x810], xmm1
jmp 0x471944
mov eax, dword [esi]
movsd xmm1, qword [ebp - 0x830]
mov dword [ecx], eax
cmp byte [ebp - 0x7ad], 0
je 0x47196f
mov eax, dword [edi + 0x592508]
mov edx, 0x3099
cmp word [eax + 2], dx
jne 0x47196f
mov eax, dword [ecx]
cdq
sub eax, edx
sar eax, 1
mov dword [ecx + 4], eax
mov dword [ecx], eax
jmp 0x471ac7
mov esi, dword [ebp - 0x804]
mov eax, 1
cmp ax, si
jge 0x471acd
mov edi, dword [edi + 0x592508]
lea esi, [ecx + 4]
mov eax, dword [ebp - 0x7f0]
add edi, 2
sub eax, ecx
mov ecx, dword [ebp - 0x7d4]
movzx edx, cx
mov dword [ebp - 0x854], eax
mov dword [ebp - 0x7d4], edx
nop dword [eax]
mov ecx, dword [esi + eax]
sub ecx, dword [esi + eax - 4]
mov eax, 0xfc00
mov dword [esi], ecx
and ax, word [edi]
cmp ax, word [ebp - 0xa80]
je 0x471a88
cmp ax, word [ebp - 0xa78]
je 0x471a88
cmp byte [ebp - 0x791], 0
jne 0x471a96
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
comisd xmm1, xmm3
jb 0x471a96
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm1, qword [ebp - 0x830]
add esp, 8
fstp qword [ebp - 0x810]
cvttsd2si eax, qword [ebp - 0x810]
mov edx, dword [ebp - 0x7d4]
add dword [esi], eax
add dword [ebp - 0x6a8], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [ebp - 0x830], xmm1
movsd qword [ebp - 0x810], xmm1
jmp 0x471a96
mov eax, dword [ebp - 0x784]
add dword [eax], ecx
mov dword [esi], 0
movsd xmm2, qword [ebp - 0x7b8]
add edi, 2
movsd xmm3, qword [ebp - 0x8f0]
add esi, 4
mov eax, dword [ebp - 0x854]
sub edx, 1
mov dword [ebp - 0x7d4], edx
jne 0x4719b0
mov edi, dword [ebp - 0x8f4]
mov esi, dword [ebp - 0x804]
mov edx, dword [ebp - 0x7c4]
mov eax, dword [edx + 0x14]
cmp word [eax + 8], 3
jne 0x471179
mov eax, dword [ebp - 0x778]
movzx ecx, word [eax + 6]
test cx, cx
je 0x471179
cmp dword [ebp - 0x6c0], 0
je 0x471179
cmp eax, dword [ebp - 0x76c]
setne al
movzx eax, al
push eax
movsx eax, cx
mov ecx, edx
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
push eax
push esi
push dword [ebp - 0x784]
push dword [edi + 0x592508]
call fcn.004867e0
mov ecx, dword [ebp - 0x778]
movsx eax, word [ecx + 6]
jmp 0x47115f
mov ecx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x778]
test dword [ecx], 0x400c0
mov eax, dword [eax + 0xc]
jne 0x471b6a
push dword [eax + 0x1bc]
jmp 0x471b70
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
mov eax, dword [ebp - 0x964]
movsx esi, ax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
mov eax, dword [edi + 0x59d2a0]
add esi, esi
push 0
push 0
add eax, 0xfffffffe
push 1
add eax, esi
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x778]
movsd xmm2, qword [ebp - 0x7b8]
mov edx, dword [ebp - 0x7f0]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, dword [edx]
mov edx, dword [ebp - 0x784]
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm0, xmm1
comisd xmm0, xmmword [ebp - 0x8f0]
movsd qword [ebp - 0x830], xmm0
movsd qword [ebp - 0x810], xmm0
jb 0x471cb4
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm1, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si eax, qword [ebp - 0x810]
mov ecx, dword [ebp - 0x778]
movsd xmm2, qword [ebp - 0x7b8]
add dword [edx], eax
add dword [ebp - 0x6a8], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [ebp - 0x830], xmm1
movsd qword [ebp - 0x810], xmm1
mov eax, dword [ebp - 0x7c4]
mov eax, dword [eax + 0x14]
cmp word [eax + 8], 3
jne 0x471d4a
movzx ecx, word [ecx + 6]
test cx, cx
je 0x471d4a
cmp dword [ebp - 0x6c0], 0
je 0x471d4a
cmp byte [ebp - 0x6c1], 0
jne 0x471d4a
mov eax, dword [ebp - 0x778]
cmp eax, dword [ebp - 0x76c]
setne al
movzx eax, al
push eax
movsx eax, cx
mov ecx, dword [ebp - 0x7c4]
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
push eax
mov eax, dword [edi + 0x59d2a0]
push 1
add eax, 0xfffffffe
push edx
add eax, esi
push eax
call fcn.004867e0
mov ecx, dword [ebp - 0x778]
movsx eax, word [ecx + 6]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
add dword [ebp - 0x6a8], eax
mov eax, 1
mov ecx, dword [ebp - 0x7d0]
sub ax, word [ecx + 4]
movzx eax, ax
mov dword [ebp - 0x914], eax
mov esi, dword [ebp - 0x7ac]
test esi, esi
je 0x471d9b
movsx edx, word [ebp - 0x850]
movsx ecx, word [ecx + 4]
movsx eax, word [esi + 4]
add ecx, edx
cmp ecx, eax
jle 0x471d9b
movsx ecx, word [esi + 6]
movsx eax, word [esi + 4]
add ecx, eax
cmp ecx, edx
jg 0x471d95
mov esi, dword [esi]
test esi, esi
jne 0x471d81
mov dword [ebp - 0x7ac], esi
cmp word [ebp - 0x834], 0x40
jne 0x472df3
mov edi, dword [ebp - 0x77c]
mov al, byte [ebp - 0x791]
mov edx, dword [edi]
test dl, 0x20
jne 0x472562
mov ecx, edx
and ecx, 0x40
test al, al
je 0x4720e7
test ecx, ecx
jne 0x471dee
mov eax, dword [ebp - 0x778]
mov edi, edx
and edi, 0x40000
je 0x471e14
movzx eax, word [eax + 8]
mov esi, eax
test eax, 0x400
jne 0x471e18
mov eax, dword [ebp - 0x7e0]
mov edi, dword [ebp - 0x7ec]
mov esi, dword [eax + 8]
mov edx, dword [edi]
test ecx, ecx
je 0x47201b
sub esi, edx
sub esi, dword [ebp - 0x838]
jmp 0x47205c
movzx esi, word [eax + 8]
movzx eax, si
and edx, 0x80
jne 0x471f49
test edi, edi
je 0x471e36
test eax, 0x400
jne 0x471f49
cmp byte [ebp - 0x7ad], 0
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0x994], ecx
mov esi, dword [eax]
je 0x471e80
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [ebp - 0xad0]
cvttsd2si eax, xmm0
sub ecx, eax
sub ecx, esi
sub ecx, dword [ebp - 0x81c]
mov dword [ebp - 0x7a4], ecx
jmp 0x471eb6
mov eax, dword [ebp - 0x81c]
sub eax, dword [ebp - 0x838]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x6a8]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
neg eax
sub eax, ecx
sub eax, esi
sub eax, dword [ebp - 0x838]
add eax, dword [ebp - 0x994]
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x824]
mov edi, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x7e0]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ecx + 4]
neg eax
add edi, eax
mov edx, ecx
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0x798], edi
mov eax, dword [eax + 4]
sub edx, eax
add edx, edi
sub ecx, eax
mov eax, dword [ebp - 0x6a8]
add ecx, edi
mov dword [ebp - 0x7a0], edx
mov edx, dword [ebp - 0x994]
sub edx, esi
mov dword [ebp - 0x6b4], ecx
sub edx, dword [ebp - 0x7f4]
add eax, edx
mov dword [ebp - 0x6b8], edx
mov dword [ebp - 0x6b0], eax
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x994], edx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
add eax, ecx
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x9d4], eax
jmp 0x472309
mov eax, dword [ebp - 0x7e0]
mov edi, dword [ebp - 0x7ec]
mov esi, dword [eax + 8]
mov ecx, dword [edi]
test edx, edx
jne 0x471f8a
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
cmp dword [ebp - 0x824], edx
je 0x471f7c
mulsd xmm0, qword [ebp - 0xa38]
jmp 0x471f84
mulsd xmm0, qword [ebp - 0xa40]
cvttsd2si eax, xmm0
sub esi, eax
sub esi, ecx
mov ecx, dword [ebp - 0x7e0]
sub esi, dword [ebp - 0x81c]
mov dword [ebp - 0x994], esi
mov dword [ebp - 0x9d4], esi
mov edx, dword [ecx + 4]
sub edx, dword [edi + 4]
sub edx, dword [ebp - 0x818]
mov edi, dword [ebp - 0x778]
add edx, dword [ebp - 0x798]
mov dword [ebp - 0x6b8], esi
mov dword [ebp - 0x6b4], edx
mov eax, dword [edi + 0xc]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xae4]
add eax, edx
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
movd xmm1, eax
mov eax, dword [edi + 0xc]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b0], eax
jmp 0x4722fd
cmp dword [ebp - 0x824], 0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
je 0x47203a
mulsd xmm0, qword [ebp - 0xa28]
jmp 0x472042
mulsd xmm0, qword [ebp - 0xa30]
cvttsd2si eax, xmm0
sub esi, eax
mov eax, dword [ebp - 0x7e0]
sub esi, edx
sub esi, dword [ebp - 0x838]
mov dword [ebp - 0x870], esi
mov edx, dword [eax + 4]
sub edx, dword [edi + 4]
sub edx, dword [ebp - 0x818]
add edx, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x778]
mov dword [ebp - 0x6b4], edx
mov dword [ebp - 0x6b0], esi
mov dword [ebp - 0x7a0], edx
mov eax, dword [ecx + 0xc]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x994], esi
mov eax, dword [eax + 0xae4]
add eax, edx
mov edx, dword [ebp - 0x7e4]
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x840]
add eax, edx
movd xmm0, eax
mov eax, dword [ecx + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x6b8], eax
jmp 0x472303
test ecx, ecx
jne 0x472108
mov eax, dword [ebp - 0x778]
mov edi, edx
and edi, 0x40000
je 0x47212e
movzx eax, word [eax + 8]
mov esi, eax
test eax, 0x400
jne 0x472132
mov eax, dword [ebp - 0x7e0]
mov edi, dword [ebp - 0x7ec]
mov esi, dword [eax + 8]
mov edx, dword [edi]
test ecx, ecx
je 0x47224d
sub esi, dword [ebp - 0x838]
sub esi, edx
jmp 0x47228e
movzx esi, word [eax + 8]
movzx eax, si
and edx, 0x80
jne 0x47218a
test edi, edi
je 0x472148
test eax, 0x400
jne 0x47218a
mov ecx, dword [ebp - 0x7e0]
mov edi, dword [ebp - 0x7ec]
movups xmm0, xmmword [ebp - 0x6e0]
mov eax, dword [ecx + 8]
sub eax, dword [edi]
sub eax, dword [ebp - 0x7f4]
mov dword [ebp - 0x7a4], eax
mov eax, dword [ecx + 4]
sub eax, dword [edi + 4]
add eax, dword [ebp - 0x798]
mov dword [ebp - 0x7a0], eax
movups xmmword [ebp - 0x6b8], xmm0
jmp 0x472309
mov eax, dword [ebp - 0x7e0]
mov edi, dword [ebp - 0x7ec]
mov esi, dword [eax + 8]
mov ecx, dword [edi]
test edx, edx
jne 0x4721cb
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
cmp dword [ebp - 0x824], edx
je 0x4721bd
mulsd xmm0, qword [ebp - 0xa38]
jmp 0x4721c5
mulsd xmm0, qword [ebp - 0xa40]
cvttsd2si eax, xmm0
sub esi, eax
mov eax, dword [ebp - 0x6a8]
sub esi, ecx
mov ecx, dword [ebp - 0x7e0]
sub esi, dword [ebp - 0x81c]
mov edx, dword [ecx + 4]
sub edx, dword [edi + 4]
sub edx, dword [ebp - 0x818]
add edx, dword [ebp - 0x798]
add eax, edx
mov dword [ebp - 0x6b8], esi
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x6b4], edx
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movd xmm1, eax
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm1, xmm1
mov eax, dword [eax + 0xc]
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b0], eax
jmp 0x4722fd
cmp dword [ebp - 0x824], 0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
je 0x47226c
mulsd xmm0, qword [ebp - 0xa28]
jmp 0x472274
mulsd xmm0, qword [ebp - 0xa30]
cvttsd2si eax, xmm0
sub esi, eax
mov eax, dword [ebp - 0x7e0]
sub esi, edx
sub esi, dword [ebp - 0x838]
mov dword [ebp - 0x870], esi
mov edx, dword [eax + 4]
sub edx, dword [edi + 4]
sub edx, dword [ebp - 0x818]
add edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x6a8]
add eax, edx
mov dword [ebp - 0x6b0], esi
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x6b4], edx
movd xmm1, esi
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xc]
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 0x7a0], edx
mov dword [ebp - 0x7a4], esi
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x47255c
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx eax, word [eax + 4]
nop dword [eax + eax]
movzx esi, word [ecx + 4]
movzx edx, ax
movsx ecx, dx
add ecx, edi
movsx eax, si
cmp ecx, eax
jle 0x47255c
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x7ac]
test dword [eax], 0x400c0
mov eax, dword [ebp - 0x874]
jne 0x472446
cmp byte [ebp - 0x791], 0
je 0x4723da
test eax, eax
je 0x47237f
cmp ecx, eax
je 0x47237b
cmp dword [ecx + 8], eax
jne 0x47237f
mov al, 1
jmp 0x472381
xor al, al
push dword [ebp - 0x788]
movzx esi, word [ecx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
mov ax, word [ecx + 6]
add ax, word [ebp - 0x914]
mov ecx, dword [ebp - 0x7c4]
movzx eax, ax
push eax
mov eax, dword [ebp - 0x914]
push esi
add eax, edx
push eax
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
jmp 0x47251f
test eax, eax
je 0x4723eb
cmp ecx, eax
je 0x4723e7
cmp dword [ecx + 8], eax
jne 0x4723eb
mov al, 1
jmp 0x4723ed
xor al, al
push dword [ebp - 0x788]
movzx esi, word [ecx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
mov ax, word [ecx + 6]
add ax, word [ebp - 0x914]
mov ecx, dword [ebp - 0x7c4]
movzx eax, ax
push eax
mov eax, dword [ebp - 0x914]
push esi
add eax, edx
push eax
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00487220
jmp 0x47251f
cmp byte [ebp - 0x791], 0
je 0x4724b8
test eax, eax
je 0x472460
cmp ecx, eax
je 0x47245c
cmp dword [ecx + 8], eax
jne 0x472460
mov al, 1
jmp 0x472462
xor al, al
push dword [ebp - 0x788]
movzx esi, word [ecx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
mov ax, word [ecx + 6]
add ax, word [ebp - 0x914]
mov ecx, dword [ebp - 0x7c4]
movzx eax, ax
push eax
mov eax, dword [ebp - 0x914]
push esi
add eax, edx
push eax
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x9d4]
push dword [ebp - 0x770]
call fcn.00486e90
jmp 0x47251f
test eax, eax
je 0x4724c9
cmp ecx, eax
je 0x4724c5
cmp dword [ecx + 8], eax
jne 0x4724c9
mov al, 1
jmp 0x4724cb
xor al, al
push dword [ebp - 0x788]
movzx esi, word [ecx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
mov ax, word [ecx + 6]
add ax, word [ebp - 0x914]
mov ecx, dword [ebp - 0x7c4]
movzx eax, ax
push eax
mov eax, dword [ebp - 0x914]
push esi
add eax, edx
push eax
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.004872d0
mov eax, dword [ebp - 0x7d0]
movzx ecx, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
mov esi, ecx
movsx edx, word [eax + 4]
movsx eax, word [eax + 6]
add edx, eax
movsx eax, cx
add eax, edi
cmp eax, edx
jl 0x47255c
mov ecx, dword [ebp - 0x7ac]
mov eax, esi
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x472330
mov edi, dword [ebp - 0x77c]
mov al, byte [ebp - 0x7e5]
mov ecx, dword [edi]
test al, al
je 0x472769
test cl, 0x20
je 0x472630
mov esi, dword [ebp - 0x804]
xor ecx, ecx
cmp cx, si
jge 0x4725c0
mov edi, dword [ebp - 0x8fc]
lea edx, [ebp - 0x1c]
movzx esi, si
cmp di, 0x14
jge 0x4725a6
mov ax, word [edx]
movsx ecx, di
inc edi
mov word [ebp + ecx*2 - 0x44], ax
add edx, 2
sub esi, 1
jne 0x472594
mov dword [ebp - 0x8fc], edi
mov esi, dword [ebp - 0x804]
mov al, byte [ebp - 0x7e5]
mov edi, dword [ebp - 0x790]
mov dl, byte [ebp - 0x7e6]
cmp byte [ebp - 0x79c], 0
je 0x4735c8
mov ecx, dword [ebp - 0x7a0]
xor dh, dh
mov dword [ebp - 0x89c], ecx
mov ecx, dword [ebp - 0x994]
mov dword [ebp - 0x870], ecx
mov cl, byte [ebp - 0x791]
mov esi, dword [ebp - 0x870]
test cl, cl
mov dword [ebp - 0x7fc], 0
cmove esi, dword [ebp - 0x7a4]
mov dword [ebp - 0x870], esi
mov esi, dword [ebp - 0x804]
mov byte [ebp - 0x79c], 0
mov byte [ebp - 0x771], dh
jmp 0x4735ce
mov eax, ecx
and eax, 0x40
cmp byte [ebp - 0x791], 0
je 0x472698
test eax, eax
jne 0x47265f
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x472677
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
jne 0x47267b
push 2
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x4726f1
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x4726f1
test eax, eax
jne 0x472680
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x4726bb
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
je 0x472680
jmp 0x4726bf
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x4726d3
test edx, edx
je 0x4726eb
test eax, 0x400
je 0x4726eb
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x4726f1
mov edi, dword [ebp - 0x7c8]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x804]
movsx eax, si
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call dword [ebp - 0x800]
cmp byte [ebp - 0x791], 0
jne 0x472745
mov eax, dword [ebp - 0x77c]
mov eax, dword [eax]
test al, 0xc0
jne 0x472745
test eax, 0x40000
je 0x4725ba
push edi
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
jmp 0x4725ba
mov dl, byte [ebp - 0x7e6]
mov eax, ecx
and eax, 0x20
test dl, dl
je 0x472a34
cmp word [ebp - 0x6d0], 3
jne 0x4728df
test eax, eax
je 0x4727f3
mov esi, dword [ebp - 0x804]
xor eax, eax
cmp ax, si
jge 0x4735b7
movsx eax, word [ebp - 0x764]
mov ecx, dword [ebp - 0x8fc]
movzx esi, si
lea edi, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl edi, 5
add edi, eax
xor edx, edx
cmp cx, 0x14
jge 0x4727e6
mov eax, dword [edi*4 + 0x5a5888]
movsx ecx, cx
mov ax, word [edx + eax]
mov word [ebp + ecx*2 - 0x44], ax
mov ecx, dword [ebp - 0x8fc]
inc ecx
mov dword [ebp - 0x8fc], ecx
add edx, 2
sub esi, 1
jne 0x4727c0
jmp 0x4725b4
mov eax, ecx
and eax, 0x40
cmp byte [ebp - 0x791], 0
je 0x472854
test eax, eax
jne 0x47283c
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x472824
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
je 0x47283c
jmp 0x472828
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x47288f
test edx, edx
je 0x47283c
test eax, 0x400
jne 0x47288f
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x4728ad
test eax, eax
jne 0x47283c
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x472877
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
je 0x47283c
jmp 0x47287b
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x47288f
test edx, edx
je 0x4728a7
test eax, 0x400
je 0x4728a7
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x4728ad
mov edi, dword [ebp - 0x7c8]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x804]
movsx eax, si
push eax
movsx eax, word [ebp - 0x764]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
push dword [ecx*4 + 0x5a5888]
jmp 0x472705
test eax, eax
je 0x472948
mov esi, dword [ebp - 0x804]
xor eax, eax
cmp ax, si
jge 0x4735b7
movsx eax, word [ebp - 0x764]
mov ecx, dword [ebp - 0x8fc]
movzx esi, si
lea edi, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl edi, 5
add edi, eax
xor edx, edx
cmp cx, 0x14
jge 0x47293b
mov eax, dword [edi*4 + 0x59ab68]
movsx ecx, cx
mov ax, word [edx + eax]
mov word [ebp + ecx*2 - 0x44], ax
mov ecx, dword [ebp - 0x8fc]
inc ecx
mov dword [ebp - 0x8fc], ecx
add edx, 2
sub esi, 1
jne 0x472915
jmp 0x4725b4
mov eax, ecx
and eax, 0x40
cmp byte [ebp - 0x791], 0
je 0x4729a9
test eax, eax
jne 0x472991
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x472979
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
je 0x472991
jmp 0x47297d
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x4729e4
test edx, edx
je 0x472991
test eax, 0x400
jne 0x4729e4
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x472a02
test eax, eax
jne 0x472991
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x4729cc
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
je 0x472991
jmp 0x4729d0
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x4729e4
test edx, edx
je 0x4729fc
test eax, 0x400
je 0x4729fc
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x472a02
mov edi, dword [ebp - 0x7c8]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x804]
movsx eax, si
push eax
movsx eax, word [ebp - 0x764]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
push dword [ecx*4 + 0x59ab68]
jmp 0x472705
mov esi, dword [ebp - 0x804]
test si, si
jle 0x472c88
test eax, eax
je 0x472a9c
mov edx, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x8fc]
movsx edi, dx
xor edx, edx
movzx esi, si
nop dword [eax + eax]
cmp cx, 0x14
jge 0x472a86
mov eax, dword [edi*4 + 0x592508]
movsx ecx, cx
mov ax, word [edx + eax]
mov word [ebp + ecx*2 - 0x44], ax
mov ecx, dword [ebp - 0x8fc]
inc ecx
mov dword [ebp - 0x8fc], ecx
add edx, 2
movzx eax, cx
sub esi, 1
jne 0x472a60
mov dword [ebp - 0x8fc], eax
jmp 0x4725b4
mov eax, ecx
and eax, 0x40
cmp byte [ebp - 0x791], 0
je 0x472afc
test eax, eax
jne 0x472ae5
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x472acd
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
je 0x472ae5
jmp 0x472ad1
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x472b37
test edx, edx
je 0x472ae5
test eax, 0x400
jne 0x472b37
mov edi, dword [ebp - 0x770]
push 0
push edi
call dword [ebp - 0x7a8]
mov dword [ebp - 0x7c8], eax
jmp 0x472b54
test eax, eax
jne 0x472ae5
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x472b1f
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
je 0x472ae5
jmp 0x472b23
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x472b37
test edx, edx
je 0x472b4e
test eax, 0x400
je 0x472b4e
mov edi, dword [ebp - 0x770]
push 8
push edi
call dword [ebp - 0x7a8]
mov dword [ebp - 0x7c8], eax
jmp 0x472b54
mov edi, dword [ebp - 0x770]
cmp byte [ebp - 0x7ad], 0
mov edx, dword [ebp - 0x790]
movsx ecx, si
je 0x472b81
movsx eax, dx
mov esi, 0x3099
mov eax, dword [eax*4 + 0x592508]
cmp word [eax + 2], si
mov eax, 1
cmove ecx, eax
push dword [ebp - 0x784]
movsx esi, dx
push ecx
push dword [esi*4 + 0x592508]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push edi
mov edi, dword [ebp - 0x800]
call edi
cmp byte [ebp - 0x7ad], 0
je 0x472c43
mov ecx, dword [esi*4 + 0x592508]
mov eax, 0x3099
cmp word [ecx + 2], ax
jne 0x472c43
movzx ecx, word [ecx]
mov edx, 0x3095
xor eax, eax
cmp cx, dx
je 0x472bf1
mov edx, 0x30f5
cmp cx, dx
je 0x472bf1
mov edx, 0x3063
cmp cx, dx
jne 0x472c03
mov eax, 0x2aaaaaab
imul dword [ebp - 0x7e4]
mov eax, edx
shr eax, 0x1f
add eax, edx
push dword [ebp - 0x784]
add eax, dword [ebp - 0x7a0]
push 1
mov esi, dword [ebp - 0x770]
push 0x5b2c18
push dword [ebp - 0x7f8]
push 4
push eax
mov eax, dword [ebp - 0x7e4]
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, dword [ebp - 0x7a4]
push eax
push esi
call edi
jmp 0x472c49
mov esi, dword [ebp - 0x770]
cmp byte [ebp - 0x791], 0
jne 0x472c60
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x400c0
je 0x472c6d
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x7c0]
test eax, eax
je 0x4725b4
push eax
push esi
call dword [ebp - 0x78c]
jmp 0x4725b4
test eax, eax
je 0x472ce0
mov edi, dword [ebp - 0x8fc]
cmp di, 0x14
jge 0x472752
mov edx, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x964]
push dword [ebp - 0x7c0]
movsx eax, dx
push dword [ebp - 0x770]
movsx edx, cx
movsx ecx, di
inc edi
mov eax, dword [eax*4 + 0x59d2a0]
mov dword [ebp - 0x8fc], edi
mov ax, word [eax + edx*2 - 2]
mov word [ebp + ecx*2 - 0x44], ax
call dword [ebp - 0x78c]
jmp 0x4725ba
test cl, 0x40
jne 0x472d02
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x472d1a
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
jne 0x472d1e
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x472d50
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x472d32
test edx, edx
je 0x472d4a
test eax, 0x400
je 0x472d4a
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x472d50
mov edi, dword [ebp - 0x7c8]
movd xmm1, dword [ebp - 0x7e4]
movd xmm0, dword [ebp - 0x7a4]
mov edx, dword [ebp - 0x790]
push dword [ebp - 0x784]
mov ecx, dword [ebp - 0x964]
cvtdq2pd xmm1, xmm1
movsx eax, dx
movsx ecx, cx
push 1
mov eax, dword [eax*4 + 0x59d2a0]
cvtdq2pd xmm0, xmm0
lea eax, [eax + ecx*2]
add eax, 0xfffffffe
push eax
mulsd xmm1, qword [ebp - 0xad8]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x9e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x77c]
mov eax, dword [ecx]
test al, 0xc0
jne 0x472745
test eax, 0x40000
je 0x472752
jmp 0x472745
mov eax, dword [ebp - 0x77c]
mov esi, dword [eax]
mov edx, esi
and edx, 0x40
jne 0x472e1f
mov eax, dword [ebp - 0x778]
mov edi, esi
and edi, 0x40000
je 0x472e5e
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
jne 0x472e62
mov eax, dword [ebp - 0x7ec]
mov edi, dword [ebp - 0x798]
mov esi, dword [ebp - 0x7e0]
sub edi, dword [eax]
sub edi, dword [ebp - 0x818]
add edi, dword [esi]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 4]
mov dword [ebp - 0x7a4], edi
test edx, edx
je 0x472f84
mov esi, dword [ebp - 0x838]
sub esi, ecx
add esi, eax
jmp 0x472fc1
movzx ecx, word [eax + 8]
movzx eax, cx
and esi, 0x80
jne 0x472eb9
test edi, edi
je 0x472e78
test eax, 0x400
jne 0x472eb9
mov edx, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x798]
movups xmm0, xmmword [ebp - 0x6e0]
sub eax, dword [edx]
add eax, dword [ecx]
mov dword [ebp - 0x7a4], eax
mov eax, dword [ecx + 4]
sub eax, dword [edx + 4]
add eax, dword [ebp - 0x7f4]
mov dword [ebp - 0x7a0], eax
movups xmmword [ebp - 0x6b8], xmm0
jmp 0x473024
mov eax, dword [ebp - 0x7ec]
mov edi, dword [ebp - 0x798]
mov edx, dword [ebp - 0x7e0]
sub edi, dword [eax]
sub edi, dword [ebp - 0x818]
add edi, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x7a4], edi
mov dword [ebp - 0x7a0], eax
test esi, esi
je 0x472ef7
mov esi, eax
sub esi, ecx
add esi, dword [ebp - 0x81c]
jmp 0x472f30
cmp dword [ebp - 0x824], 0
mov edx, eax
movd xmm0, dword [ebp - 0x7e4]
mov esi, dword [ebp - 0x81c]
cvtdq2pd xmm0, xmm0
je 0x472f1e
mulsd xmm0, qword [ebp - 0xa28]
jmp 0x472f26
mulsd xmm0, qword [ebp - 0xa30]
cvttsd2si eax, xmm0
sub esi, eax
sub esi, ecx
add esi, edx
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x6b8], edi
mov dword [ebp - 0x6ac], esi
movd xmm1, esi
movd xmm0, eax
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xc]
cvtdq2pd xmm1, xmm1
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b4], eax
jmp 0x473010
cmp dword [ebp - 0x824], 0
mov esi, eax
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
je 0x472fa5
mulsd xmm0, qword [ebp - 0xa38]
jmp 0x472fad
mulsd xmm0, qword [ebp - 0xa40]
cvttsd2si eax, xmm0
sub esi, eax
sub esi, ecx
add esi, dword [ebp - 0x838]
mov dword [ebp - 0x89c], esi
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x6b8], edi
mov dword [ebp - 0x6b4], esi
movd xmm0, esi
movd xmm1, eax
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm1, xmm1
mov eax, dword [eax + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x6a8]
add eax, edi
mov dword [ebp - 0x7a0], esi
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x473181
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx eax, word [eax + 4]
movzx esi, word [ecx + 4]
movzx edx, ax
movsx ecx, dx
add ecx, edi
movsx eax, si
cmp ecx, eax
jle 0x473181
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x7ac]
test dword [eax], 0x400c0
mov eax, dword [ebp - 0x874]
jne 0x4730dd
test eax, eax
je 0x473085
cmp ecx, eax
je 0x473081
cmp dword [ecx + 8], eax
jne 0x473085
mov al, 1
jmp 0x473087
xor al, al
push dword [ebp - 0x788]
movzx esi, word [ecx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
mov ax, word [ecx + 6]
add ax, word [ebp - 0x914]
mov ecx, dword [ebp - 0x7c4]
movzx eax, ax
push eax
mov eax, dword [ebp - 0x914]
push esi
add eax, edx
push eax
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
jmp 0x473144
test eax, eax
je 0x4730ee
cmp ecx, eax
je 0x4730ea
cmp dword [ecx + 8], eax
jne 0x4730ee
mov al, 1
jmp 0x4730f0
xor al, al
push dword [ebp - 0x788]
movzx esi, word [ecx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
mov ax, word [ecx + 6]
add ax, word [ebp - 0x914]
mov ecx, dword [ebp - 0x7c4]
movzx eax, ax
push eax
mov eax, dword [ebp - 0x914]
push esi
add eax, edx
push eax
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486e90
mov eax, dword [ebp - 0x7d0]
movzx ecx, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
mov esi, ecx
movsx edx, word [eax + 4]
movsx eax, word [eax + 6]
add edx, eax
movsx eax, cx
add eax, edi
cmp eax, edx
jl 0x473181
mov ecx, dword [ebp - 0x7ac]
mov eax, esi
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x473043
cmp byte [ebp - 0x7e5], 0
mov edi, dword [ebp - 0x77c]
mov ecx, dword [edi]
je 0x47324b
test cl, 0x40
jne 0x4731b8
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x4731d0
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
jne 0x4731d4
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x473206
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x4731e8
test edx, edx
je 0x473200
test eax, 0x400
je 0x473200
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x473206
mov edi, dword [ebp - 0x7c8]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x804]
movsx eax, si
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x400c0
jmp 0x47273f
mov eax, ecx
and eax, 0x40
cmp byte [ebp - 0x7e6], 0
je 0x473405
cmp word [ebp - 0x6d0], 3
jne 0x473338
test eax, eax
jne 0x47328c
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x4732a4
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
jne 0x4732a8
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x4732da
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x4732bc
test edx, edx
je 0x4732d4
test eax, 0x400
je 0x4732d4
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x4732da
mov edi, dword [ebp - 0x7c8]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x804]
movsx eax, si
push eax
movsx eax, word [ebp - 0x764]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
push dword [ecx*4 + 0x5a5888]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x400c0
jmp 0x47273f
test eax, eax
jne 0x473359
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x473371
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
jne 0x473375
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x4733a7
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x473389
test edx, edx
je 0x4733a1
test eax, 0x400
je 0x4733a1
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x4733a7
mov edi, dword [ebp - 0x7c8]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x804]
movsx eax, si
push eax
movsx eax, word [ebp - 0x764]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
push dword [ecx*4 + 0x59ab68]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x400c0
jmp 0x47273f
mov esi, dword [ebp - 0x804]
test si, si
jle 0x4734ce
test eax, eax
jne 0x473435
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x47344d
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
jne 0x473451
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x473483
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x473465
test edx, edx
je 0x47347d
test eax, 0x400
je 0x47347d
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edi, eax
mov dword [ebp - 0x7c8], edi
jmp 0x473483
mov edi, dword [ebp - 0x7c8]
push dword [ebp - 0x784]
mov edx, dword [ebp - 0x790]
movsx eax, si
push eax
movsx eax, dx
push dword [eax*4 + 0x592508]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x400c0
jmp 0x47273f
test eax, eax
jne 0x4734f7
mov eax, dword [ebp - 0x778]
mov edx, ecx
and edx, 0x40000
je 0x473590
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
jne 0x473594
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov dword [ebp - 0x7c8], eax
mov edi, dword [ebp - 0x790]
push dword [ebp - 0x784]
mov ecx, dword [ebp - 0x964]
movsx eax, di
movsx ecx, cx
push 1
mov eax, dword [eax*4 + 0x59d2a0]
lea eax, [eax + ecx*2]
add eax, 0xfffffffe
push eax
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x400c0
je 0x473573
push dword [ebp - 0x7c8]
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov al, byte [ebp - 0x7e5]
jmp 0x4725c6
movzx ecx, word [eax + 8]
movzx eax, cx
mov ecx, dword [edi]
test cl, cl
js 0x4735b0
test edx, edx
je 0x47350b
test eax, 0x400
je 0x47350b
push 8
jmp 0x4734f9
mov al, byte [ebp - 0x7e5]
mov edi, dword [ebp - 0x790]
jmp 0x4725cc
mov cl, byte [ebp - 0x791]
test al, al
je 0x473770
cmp word [ebp - 0x834], 0x40
mov edi, dword [ebp - 0x77c]
jne 0x4735ef
test byte [edi], 0x20
jne 0x473922
mov edx, dword [edi]
test edx, 0x400c0
je 0x47362b
test cl, cl
jne 0x473610
mov eax, dword [ebp - 0x818]
cmp eax, dword [ebp - 0x6a8]
jl 0x47362b
jmp 0x473922
mov edi, dword [ebp - 0x778]
mov esi, dword [ebp - 0x818]
mov eax, dword [edi + 0xc]
cmp esi, dword [eax + 0xae4]
jge 0x47391c
mov edi, dword [ebp - 0x804]
xor eax, eax
xor esi, esi
cmp ax, di
jge 0x4736d9
mov eax, dword [ebp - 0x7fc]
movsx edi, ax
mov dword [ebp - 0x7d4], edi
nop dword [eax]
movsx edx, si
mov ax, word [ebp + edx*2 - 0x1c]
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x87c]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x820]
mov eax, dword [eax + edx*4]
mov dword [edi + ecx*4], eax
mov edi, dword [ebp - 0x7d4]
test si, si
jne 0x47369c
mov eax, dword [ebp - 0x77c]
test byte [eax], 0xc0
je 0x47369c
mov ecx, dword [ebp - 0x820]
mov eax, dword [ebp - 0x818]
sub dword [ecx + edi*4], eax
mov cl, byte [ebp - 0x791]
test cl, cl
jne 0x4736c1
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x798]
add edi, dword [eax + edx*4]
mov dword [ebp - 0x798], edi
mov edi, dword [ebp - 0x7d4]
inc esi
cmp si, word [ebp - 0x804]
jl 0x473650
mov eax, dword [ebp - 0x77c]
mov edi, dword [ebp - 0x804]
mov edx, dword [eax]
mov eax, dword [ebp - 0x778]
test cl, cl
je 0x473732
mov ecx, dword [eax + 0xc]
test edx, 0x400c0
jne 0x47371a
movd xmm0, dword [ecx + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
add eax, dword [ecx + 0xae0]
add dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x778]
jmp 0x47372c
mov esi, dword [ebp - 0x798]
add esi, dword [ecx + 0xae4]
mov dword [ebp - 0x798], esi
mov cl, byte [ebp - 0x791]
add dword [ebp - 0x7fc], edi
test dl, 0xc0
je 0x47391c
mov edi, dword [ebp - 0x77c]
test cl, cl
je 0x47375f
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0xae4]
mov dword [ebp - 0x818], ecx
jmp 0x473922
mov ecx, dword [ebp - 0x6a8]
mov dword [ebp - 0x818], ecx
jmp 0x473922
test dl, dl
je 0x473c55
cmp word [ebp - 0x6d0], 3
mov edi, dword [ebp - 0x77c]
jne 0x473ace
cmp word [ebp - 0x834], 0x40
jne 0x47379f
test byte [edi], 0x20
jne 0x473922
mov ecx, dword [edi]
mov dl, byte [ebp - 0x791]
test ecx, 0x400c0
je 0x4737e1
test dl, dl
jne 0x4737c6
mov eax, dword [ebp - 0x818]
cmp eax, dword [ebp - 0x6a8]
jl 0x4737e1
jmp 0x473922
mov eax, dword [ebp - 0x778]
mov edi, dword [ebp - 0x818]
mov eax, dword [eax + 0xc]
cmp edi, dword [eax + 0xae4]
jge 0x47391c
xor eax, eax
xor edi, edi
cmp ax, si
jge 0x4738b3
mov eax, dword [ebp - 0x7fc]
cwde
mov dword [ebp - 0x844], eax
nop dword [eax + eax]
movsx esi, di
lea edx, [eax + esi]
movsx eax, word [ebp - 0x764]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
mov eax, dword [ecx*4 + 0x5a5888]
mov ecx, dword [ebp - 0x87c]
mov ax, word [eax + esi*2]
mov word [ecx + edx*2], ax
mov ecx, dword [ebp - 0x784]
mov eax, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x820]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x784]
test di, di
jne 0x473876
mov eax, dword [ebp - 0x77c]
test byte [eax], 0xc0
mov eax, dword [ebp - 0x844]
je 0x47387c
mov ecx, dword [ebp - 0x820]
mov edx, dword [ebp - 0x818]
sub dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0x784]
jmp 0x47387c
mov eax, dword [ebp - 0x844]
mov dl, byte [ebp - 0x791]
test dl, dl
jne 0x47389b
mov eax, dword [ebp - 0x798]
add eax, dword [ecx + esi*4]
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x844]
mov esi, dword [ebp - 0x804]
inc edi
cmp di, si
jl 0x473800
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
mov edi, dword [ebp - 0x778]
test dl, dl
je 0x4738fa
mov eax, dword [edi + 0xc]
test ecx, 0x400c0
jne 0x4738e2
mov esi, dword [ebp - 0x798]
add esi, dword [eax + 0xae0]
mov dword [ebp - 0x798], esi
mov esi, dword [ebp - 0x804]
jmp 0x4738fa
mov edi, dword [ebp - 0x798]
add edi, dword [eax + 0xae4]
mov dword [ebp - 0x798], edi
mov edi, dword [ebp - 0x778]
add dword [ebp - 0x7fc], esi
test cl, 0xc0
je 0x47391c
test dl, dl
je 0x473ac3
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0xae4]
mov dword [ebp - 0x818], ecx
mov edi, dword [ebp - 0x77c]
cmp word [ebp - 0x834], 0x40
mov esi, dword [ebp - 0x788]
mov byte [ebp - 0x7e5], 0
mov al, byte [esi + 0x6fb]
jne 0x4740ac
test al, al
mov eax, dword [ebp - 0x7d0]
je 0x473fe2
test byte [eax + 8], 0x80
je 0x473fe2
test byte [edi], 0x20
jne 0x473fe2
push 2
call fcn.00560858
movzx edx, byte [esi + 0x7f0]
add esp, 4
movzx ecx, byte [esi + 0x7ef]
mov edi, eax
shl edx, 8
or edx, ecx
movzx ecx, byte [esi + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x7d0]
mov edx, edi
push 1
mov ecx, str.DUMMY
mov si, word [eax + 8]
shr si, 0xb
movzx eax, si
push eax
mov dword [ebp - 0x880], eax
call fcn.0040a350
mov eax, dword [ebp - 0x7d0]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x7e4]
cmp si, 8
mov esi, dword [ebp - 0x770]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7c0], eax
movsd qword [ebp - 0x890], xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x7d8], xmm0
ja 0x473ee6
push 8
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push 1
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x890]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
add eax, dword [ebp - 0x7e4]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
subsd xmm0, qword [ebp - 0x7d8]
jmp 0x473f7e
mov ecx, dword [ebp - 0x6a8]
jmp 0x473916
cmp word [ebp - 0x834], 0x40
jne 0x473ae1
test byte [edi], 0x20
jne 0x473922
mov eax, dword [edi]
mov dword [ebp - 0x814], eax
test eax, 0x400c0
je 0x473b22
mov edx, dword [ebp - 0x818]
test cl, cl
jne 0x473b07
cmp edx, dword [ebp - 0x6a8]
jl 0x473b22
jmp 0x473922
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
cmp edx, dword [eax + 0xae4]
jge 0x473922
mov eax, dword [ebp - 0x814]
xor edx, edx
xor edi, edi
cmp dx, si
jge 0x473bf3
mov eax, dword [ebp - 0x7fc]
cwde
mov dword [ebp - 0x844], eax
nop dword [eax]
movsx esi, di
lea edx, [eax + esi]
movsx eax, word [ebp - 0x764]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x768]
shl ecx, 5
add ecx, eax
mov eax, dword [ecx*4 + 0x59ab68]
mov ecx, dword [ebp - 0x87c]
mov ax, word [eax + esi*2]
mov word [ecx + edx*2], ax
mov eax, dword [ebp - 0x784]
mov ecx, dword [ebp - 0x820]
mov eax, dword [eax + esi*4]
mov dword [ecx + edx*4], eax
test di, di
jne 0x473baa
mov eax, dword [ebp - 0x77c]
test byte [eax], 0xc0
mov eax, dword [ebp - 0x844]
je 0x473bb0
mov edx, dword [ebp - 0x820]
mov ecx, dword [ebp - 0x818]
sub dword [edx + eax*4], ecx
jmp 0x473bb0
mov eax, dword [ebp - 0x844]
mov cl, byte [ebp - 0x791]
test cl, cl
jne 0x473bd5
mov edx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x798]
add eax, dword [edx + esi*4]
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x844]
mov esi, dword [ebp - 0x804]
inc edi
cmp di, si
jl 0x473b40
mov eax, dword [ebp - 0x77c]
mov eax, dword [eax]
mov dword [ebp - 0x814], eax
mov edi, dword [ebp - 0x778]
test cl, cl
je 0x473c40
mov ecx, dword [edi + 0xc]
test eax, 0x400c0
jne 0x473c28
mov eax, dword [ebp - 0x824]
mov ecx, dword [ecx + 0xae0]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x814]
add dword [ebp - 0x798], ecx
jmp 0x473c3a
mov edx, dword [ebp - 0x798]
add edx, dword [ecx + 0xae4]
mov dword [ebp - 0x798], edx
mov cl, byte [ebp - 0x791]
add dword [ebp - 0x7fc], esi
test al, 0xc0
je 0x47391c
test cl, cl
jmp 0x473907
mov eax, dword [ebp - 0x77c]
test si, si
jle 0x473e2a
cmp word [ebp - 0x834], 0x40
jne 0x473c77
test byte [eax], 0x20
jne 0x473edf
test dword [eax], 0x400c0
je 0x473cab
test cl, cl
mov ecx, dword [ebp - 0x818]
jne 0x473c96
cmp ecx, dword [ebp - 0x6a8]
jl 0x473cab
jmp 0x47391c
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
cmp ecx, dword [eax + 0xae4]
jge 0x47391c
mov ecx, dword [ebp - 0x7fc]
xor esi, esi
movsx eax, di
movsx edi, cx
mov dword [ebp - 0x814], edi
mov eax, dword [eax*4 + 0x592508]
mov dword [ebp - 0x7d4], eax
jmp 0x473cd6
mov eax, dword [ebp - 0x7d4]
cmp byte [ebp - 0x7ad], 0
movsx edx, si
mov dword [ebp - 0x854], edx
mov ax, word [eax + edx*2]
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x87c]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x820]
mov eax, dword [eax + edx*4]
mov dword [edi + ecx*4], eax
mov edi, dword [ebp - 0x814]
mov al, byte [ebp - 0x791]
je 0x473d73
test al, al
je 0x473d73
mov eax, dword [ebp - 0x804]
cwde
dec eax
cmp edx, eax
jge 0x473d36
mov eax, dword [ebp - 0x820]
mov dword [eax + ecx*4], 0
jmp 0x473d6d
mov ecx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x778]
test dword [ecx], 0x400c0
lea ecx, [edi + edx]
mov eax, dword [eax + 0xc]
mov edi, dword [ebp - 0x820]
jne 0x473d5e
mov eax, dword [eax + 0xae0]
jmp 0x473d64
mov eax, dword [eax + 0xae4]
mov dword [edi + ecx*4], eax
mov edi, dword [ebp - 0x814]
mov al, byte [ebp - 0x791]
mov ecx, dword [ebp - 0x77c]
test si, si
jne 0x473d9e
test byte [ecx], 0xc0
je 0x473d9e
mov edx, dword [ebp - 0x820]
mov ecx, dword [ebp - 0x818]
sub dword [edx + edi*4], ecx
mov edx, dword [ebp - 0x854]
mov ecx, dword [ebp - 0x77c]
test al, al
jne 0x473dbd
mov eax, dword [ebp - 0x784]
mov ecx, dword [ebp - 0x798]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x798], ecx
mov ecx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x798]
inc esi
cmp si, word [ebp - 0x804]
jl 0x473cd0
mov edx, dword [ecx]
mov cl, byte [ebp - 0x791]
mov edi, dword [ebp - 0x778]
mov dword [ebp - 0x798], eax
test cl, cl
je 0x473e10
mov ecx, dword [edi + 0xc]
test edx, 0x400c0
jne 0x473dfc
mov esi, dword [ecx + 0xae0]
jmp 0x473e02
mov esi, dword [ecx + 0xae4]
mov cl, byte [ebp - 0x791]
add esi, eax
mov dword [ebp - 0x798], esi
mov eax, dword [ebp - 0x7fc]
add eax, dword [ebp - 0x804]
test dl, 0xc0
mov dword [ebp - 0x7fc], eax
jmp 0x473c48
cmp word [ebp - 0x834], 0x40
jne 0x473e3d
test byte [eax], 0x20
jne 0x473edf
test dword [eax], 0x400c0
mov esi, dword [ebp - 0x818]
je 0x473e57
cmp esi, dword [ebp - 0x6a8]
jge 0x47391c
mov eax, dword [ebp - 0x798]
add eax, dword [ebp - 0x6a8]
mov ecx, dword [ebp - 0x964]
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7fc]
movsx edx, ax
movsx eax, di
mov edi, dword [ebp - 0x77c]
movsx ecx, cx
mov eax, dword [eax*4 + 0x59d2a0]
mov ax, word [eax + ecx*2 - 2]
mov ecx, dword [ebp - 0x87c]
mov word [ecx + edx*2], ax
mov eax, dword [ebp - 0x784]
mov ecx, dword [ebp - 0x820]
mov eax, dword [eax]
mov dword [ecx + edx*4], eax
mov ecx, dword [edi]
test cl, 0xc0
je 0x473ebf
mov ecx, dword [ebp - 0x820]
sub eax, esi
mov dword [ecx + edx*4], eax
mov ecx, dword [edi]
inc dword [ebp - 0x7fc]
test cl, 0xc0
je 0x473922
mov eax, dword [ebp - 0x6a8]
mov dword [ebp - 0x818], eax
jmp 0x473922
mov edi, eax
jmp 0x473922
push 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push 1
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x890]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
sub eax, dword [ebp - 0x840]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x7d8]
cvttsd2si eax, xmm0
push eax
push esi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push edi
call fcn.00560853
add esp, 4
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x7d0]
jmp 0x473fe8
mov esi, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x788]
cmp byte [ecx + 0x6fc], 0
je 0x48288d
movzx eax, word [eax + 8]
test eax, 0x100
je 0x48288d
mov edx, dword [ebp - 0x77c]
test byte [edx], 0x20
jne 0x48288d
movsd xmm1, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
shr ax, 0xb
movzx edx, ax
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push ecx
mov dword [ebp - 0x880], edx
mulsd xmm0, qword [ecx + 0x710]
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movzx eax, ax
push eax
mov eax, dword [ebp - 0x7d0]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push edx
push esi
call fcn.004ead10
jmp 0x48288d
mov edx, dword [ebp - 0x7d0]
test al, al
je 0x474305
test byte [edx + 8], 0x80
je 0x474305
push 2
call fcn.00560858
movzx edx, byte [esi + 0x7f0]
add esp, 4
movzx ecx, byte [esi + 0x7ef]
mov edi, eax
shl edx, 8
or edx, ecx
movzx ecx, byte [esi + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x7d0]
mov edx, edi
push 1
mov ecx, str.DUMMY
mov si, word [eax + 8]
shr si, 0xb
movzx eax, si
push eax
mov dword [ebp - 0x880], eax
call fcn.0040a350
mov eax, dword [ebp - 0x7d0]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x7e4]
cmp si, 8
mov esi, dword [ebp - 0x770]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7c0], eax
movsd qword [ebp - 0x890], xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x7d8], xmm0
ja 0x474203
push 8
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x890]
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x7c8], eax
mulsd xmm1, qword [edx + 0x708]
mov eax, dword [ebp - 0x7a0]
sub eax, dword [ebp - 0x7e4]
push ecx
push 1
divsd xmm1, qword [ebp - 0x868]
push edi
push dword [ebp - 0x7f8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push 4
addsd xmm1, xmm0
movd xmm0, dword [ecx]
addsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x868]
subsd xmm1, qword [edx + 0x278]
push eax
jmp 0x474281
push 0
push esi
call dword [ebp - 0x7a8]
movsd xmm1, qword [ebp - 0x890]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x788]
mov edx, dword [ebp - 0x784]
push edx
push 1
mulsd xmm1, qword [eax + 0x708]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7a0]
push edi
push dword [ebp - 0x7f8]
divsd xmm1, qword [ebp - 0x868]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, dword [edx]
subsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x868]
push eax
mov eax, dword [ebp - 0x788]
subsd xmm1, qword [eax + 0x278]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [ebp - 0x7a4]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push esi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push edi
call fcn.00560853
add esp, 4
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
mov edx, dword [ebp - 0x7d0]
jmp 0x47430b
mov esi, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x788]
cmp byte [ecx + 0x6fc], 0
je 0x48288d
movzx eax, word [edx + 8]
test eax, 0x100
je 0x48288d
movsd xmm1, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x728]
shr ax, 0xb
movzx edi, ax
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push ecx
mov dword [ebp - 0x880], edi
mulsd xmm0, qword [ecx + 0x710]
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movzx eax, ax
push eax
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a4]
lea eax, [ebp - 0x6e0]
push eax
push edi
push esi
call fcn.004ea430
jmp 0x48288d
mov eax, 0xff5c
cmp di, ax
jne 0x474432
cmp word [ebp - 0x780], 1
jne 0x475477
mov esi, dword [ebp - 0x7d0]
xor cl, cl
mov byte [ebp - 0x8e5], 1
mov dl, 1
mov dword [ebp - 0x79c], edx
mov byte [ebp - 0x771], cl
test esi, esi
je 0x474415
mov al, byte [esi + 8]
and al, 0x14
cmp al, 4
jne 0x474415
movsd xmm2, qword [ebp - 0x7b8]
mov dword [ebp - 0x9fc], esi
mov esi, dword [ebp - 0x77c]
jmp 0x4828a7
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x9fc], 0
jmp 0x4828a7
mov eax, 0x300a
cmp di, ax
jne 0x475477
mov esi, dword [ebp - 0x780]
xor ecx, ecx
movsx eax, si
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov ecx, dword [ebp - 0x7bc]
lea edx, [esi - 2]
add esp, 4
mov dword [ebp - 0x7f4], eax
lea ecx, [ecx + 2]
push 1
push eax
call fcn.0040c7c0
add esp, 8
movzx edi, ax
cmp word [ebp - 0x894], 0
mov dword [ebp - 0x81c], edi
jne 0x4744d3
mov ecx, dword [ebp - 0x7d0]
test ecx, ecx
je 0x4744e0
mov al, byte [ecx + 8]
and al, 0x14
cmp al, 4
jne 0x4744e0
cmp byte [ebp - 0x839], 0
je 0x4744e0
cmp dword [ebp - 0x92c], 0
jne 0x47544f
mov eax, ecx
mov ecx, dword [ebp - 0x9fc]
test ecx, ecx
cmovne eax, ecx
mov dword [ebp - 0x92c], eax
jmp 0x47544f
cmp byte [ebp - 0x7d9], 0
je 0x47544f
mov al, byte [ebp - 0x8e5]
test al, al
je 0x4744f1
xor esi, esi
jmp 0x47469a
mov eax, dword [ebp - 0x7fc]
xor ecx, ecx
movsx esi, ax
mov edi, 2
mov eax, esi
mov dword [ebp - 0x7cc], esi
mul edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov dword [ebp - 0x844], eax
xor ecx, ecx
add esp, 4
mov eax, esi
mul edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
add esp, 4
mov dword [ebp - 0x790], eax
xor dl, dl
xor edi, edi
test esi, esi
jle 0x4745d1
mov esi, dword [ebp - 0x87c]
add esi, 4
movzx ecx, word [esi - 4]
mov eax, ecx
mov dword [ebp - 0x814], eax
cmp cx, word [ebp - 0xa74]
jne 0x474596
lea eax, [edi + 2]
cmp eax, dword [ebp - 0x7cc]
jge 0x474590
mov eax, 0xff3b
cmp word [esi - 2], ax
jne 0x474590
mov eax, 0xff03
cmp word [esi], ax
jne 0x474590
mov dl, 1
mov eax, 0x5c71
jmp 0x4745b7
mov eax, dword [ebp - 0x814]
test dl, dl
je 0x4745b4
mov eax, 0xff3d
movzx edx, dl
cmp cx, ax
mov eax, 0
cmove edx, eax
mov eax, 0x5c71
jmp 0x4745b7
movzx eax, ax
mov ecx, dword [ebp - 0x790]
add esi, 2
mov word [ecx + edi*2], ax
inc edi
mov eax, dword [ebp - 0x7cc]
cmp edi, eax
jl 0x474552
jmp 0x4745d3
mov eax, esi
push dword [ebp - 0x844]
mov edi, dword [ebp - 0x790]
xor esi, esi
push eax
push edi
push 4
push esi
mov dword [ebp - 0x70c], 0
call dword [ebp - 0xaac]
test eax, eax
je 0x474677
mov ecx, dword [ebp - 0x7fc]
mov edx, dword [ebp - 0x844]
mov dword [ebp - 0x734], esi
lea eax, [ecx - 1]
movzx esi, ax
lea eax, [ebp - 0x734]
push eax
push esi
push ecx
mov ecx, edi
call fcn.0040a450
movzx eax, ax
add esp, 0xc
mov dword [ebp - 0x70c], eax
test ax, ax
jle 0x474677
dec esi
test si, si
js 0x474676
nop dword [eax]
mov edx, dword [ebp - 0x844]
lea eax, [ebp - 0x70c]
push eax
push esi
push dword [ebp - 0x7fc]
mov ecx, edi
call fcn.0040a450
movzx eax, ax
add esp, 0xc
mov dword [ebp - 0x734], eax
cmp word [ebp - 0x70c], ax
jne 0x474676
dec esi
test si, si
jns 0x474640
inc esi
push edi
call fcn.00560853
add esp, 4
push dword [ebp - 0x844]
call fcn.00560853
mov edi, dword [ebp - 0x81c]
add esp, 4
mov al, byte [ebp - 0x8e5]
cmp dword [ebp - 0x7d0], 0
je 0x47544f
test al, al
jne 0x4746b9
cmp word [ebp - 0x70c], 0
jle 0x47544f
xor edx, edx
xor eax, eax
mov dword [ebp - 0x790], edx
mov dword [ebp - 0x7cc], edx
cmp ax, si
jge 0x4746e7
mov eax, dword [ebp - 0x820]
movzx ecx, si
add edx, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x4746d7
mov dword [ebp - 0x790], edx
mov edx, dword [ebp - 0x7fc]
cmp si, dx
jge 0x47471c
mov ecx, dword [ebp - 0x820]
movsx eax, si
lea ecx, [ecx + eax*4]
mov eax, edx
sub eax, esi
mov esi, dword [ebp - 0x7cc]
movzx eax, ax
nop dword [eax + eax]
add esi, dword [ecx]
lea ecx, [ecx + 4]
sub eax, 1
jne 0x474710
jmp 0x474722
mov esi, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x7d0]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
sub esi, eax
cmp word [ebp - 0x834], 0x40
mov dword [ebp - 0x7cc], esi
jne 0x474906
cmp byte [ebp - 0x805], 0
je 0x474906
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
mov esi, 1
xor eax, eax
mov dword [ebp - 0x7b0], 0
cmp ax, di
jge 0x4748e5
mov eax, dword [ebp - 0x784]
mov edx, dword [ebp - 0x81c]
mov edi, dword [ebp - 0x7f4]
mov dword [ebp - 0x7d4], eax
movzx eax, dx
mov dword [ebp - 0x854], eax
mov ax, word [ebp - 0x7b0]
mov word [ebp - 0x8e6], ax
movzx eax, word [edi]
mov ecx, 0x3033
cmp ax, cx
je 0x474831
mov ecx, 0x3035
cmp ax, cx
je 0x474831
mov ecx, 0x3034
cmp ax, cx
je 0x474831
mov ecx, 0x200b
cmp ax, cx
je 0x474831
movsx eax, si
sub eax, 1
je 0x47482a
sub eax, 1
je 0x474865
mov eax, dword [ebp - 0x778]
mov esi, 1
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
jmp 0x474865
mov esi, 2
jmp 0x474865
movsx eax, si
sub eax, 0xb
je 0x474860
sub eax, 1
je 0x474865
mov eax, dword [ebp - 0x778]
mov esi, 0xb
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
jmp 0x474865
mov esi, 0xc
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
push 0
push 0
push 1
push edi
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x7f0]
add edi, 2
mov dx, word [ebp - 0x8e6]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x7d4]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [ebp - 0x7f0]
mov dword [ebp - 0x7d4], ecx
add dx, word [eax]
sub dword [ebp - 0x854], 1
mov word [ebp - 0x8e6], dx
jne 0x4747d0
mov edi, dword [ebp - 0x81c]
mov esi, dword [ebp - 0x7cc]
movsx ecx, dx
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x6a8], ecx
jmp 0x47499a
mov dx, word [ebp - 0x7b0]
mov esi, dword [ebp - 0x7cc]
movsx ecx, dx
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x6a8], ecx
jmp 0x47499a
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
movsx eax, di
push 0
push 0
push eax
push dword [ebp - 0x7f4]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ebp - 0x784]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, 1
cmp ax, di
jge 0x474994
mov eax, ecx
mov esi, edx
sub esi, eax
lea ecx, [eax + 4]
lea eax, [edi - 1]
movzx edx, ax
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [esi + ecx - 4], eax
sub edx, 1
jne 0x474977
mov esi, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x784]
mov ecx, dword [ebp - 0x6a8]
movsx edi, di
mov dword [ebp - 0x854], edi
mov eax, dword [edx + edi*4 - 4]
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x788]
mov al, byte [eax + 0x6fd]
cmp al, 2
jge 0x474a67
cmp esi, ecx
jle 0x474a4f
cmp byte [ebp - 0x805], 0
jne 0x474a4f
mov eax, dword [ebp - 0x81c]
test ax, ax
jle 0x474a07
push 1
push 0
sub esi, ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push eax
push edx
push dword [ebp - 0x7f4]
call fcn.004867e0
mov eax, dword [ebp - 0x81c]
mov edx, dword [ebp - 0x784]
cmp ax, 2
jg 0x474a22
mov eax, 0x99999999
imul dword [edx]
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
jmp 0x474b0c
push 8
push dword [ebp - 0x770]
xor esi, esi
mov dword [ebp - 0x838], esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x81c]
mov dword [ebp - 0x7c8], eax
mov dword [ebp - 0x804], esi
jmp 0x474b3d
cmp al, 1
jne 0x474b0a
sub ecx, esi
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x474b0c
cmp esi, ecx
jle 0x474b03
cmp byte [ebp - 0x805], 0
jne 0x474b03
mov edx, dword [ebp - 0x81c]
test dx, dx
jle 0x474ac0
push 1
push 0
mov eax, esi
sub eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
push edx
push dword [ebp - 0x784]
push dword [ebp - 0x7f4]
call fcn.004867e0
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x81c]
mov al, byte [ecx + 0x6fd]
mov ecx, dword [ebp - 0x6a8]
cmp al, 3
jne 0x474b0a
test dx, dx
jle 0x474b0a
sub esi, ecx
mov eax, esi
cdq
idiv edi
push 8
push dword [ebp - 0x770]
cdq
sub eax, edx
sar eax, 1
neg eax
mov dword [ebp - 0x838], eax
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x81c]
mov dword [ebp - 0x7c8], eax
mov dword [ebp - 0x804], 0
jmp 0x474b3d
cmp al, 3
jmp 0x474a51
xor esi, esi
push 8
push dword [ebp - 0x770]
mov dword [ebp - 0x838], esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x81c]
mov dword [ebp - 0x7c8], eax
xor eax, eax
mov dword [ebp - 0x804], 0
cmp ax, dx
jge 0x474b79
mov ecx, dword [ebp - 0x784]
dec edi
mov esi, dword [ebp - 0x804]
xor eax, eax
movzx edx, dx
nop
cmp eax, edi
jne 0x474b5c
add esi, dword [ebp - 0x7d4]
jmp 0x474b5e
add esi, dword [ecx]
inc eax
add ecx, 4
sub edx, 1
jne 0x474b50
mov edi, dword [ebp - 0x854]
mov dword [ebp - 0x804], esi
mov esi, dword [ebp - 0x838]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ed]
movzx eax, byte [edx + 0x7ec]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7eb]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x77c]
mov edx, dword [eax]
mov ecx, edx
and ecx, 0x40000
cmp word [ebp - 0x834], 0x40
jne 0x47519f
mov eax, dword [ebp - 0x790]
sub eax, esi
add eax, dword [ebp - 0x89c]
mov dword [ebp - 0x790], eax
test ecx, ecx
je 0x474bf8
cmp byte [ebp - 0x882], 0
je 0x474bf8
mov ecx, dword [ebp - 0x90c]
cmp eax, ecx
jge 0x474c0b
mov eax, ecx
jmp 0x474c05
cmp eax, dword [ebp - 0x950]
cmovl eax, dword [ebp - 0x950]
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x788]
cmp byte [ecx + 0x6fa], 0
je 0x474f39
cmp byte [ebp - 0x805], 0
je 0x474f77
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov esi, dword [ebp - 0x81c]
xor eax, eax
mov dword [ebp - 0x7b0], 0
mov edi, 1
cmp ax, si
jge 0x474f33
mov eax, dword [ebp - 0x7e4]
mov ecx, dword [ebp - 0x8cc]
movd xmm2, dword [ebp - 0x824]
movsx ecx, cx
imul ecx, eax
movd xmm0, eax
mov eax, 0x88888889
cvtdq2pd xmm0, xmm0
imul ecx
cvtdq2pd xmm2, xmm2
add edx, ecx
mov ecx, dword [ebp - 0x7f4]
movsd qword [ebp - 0x890], xmm0
sar edx, 3
mov eax, edx
movsd qword [ebp - 0x858], xmm2
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x81c], edx
movd xmm3, eax
cvtdq2pd xmm3, xmm3
movzx eax, si
mov dword [ebp - 0x7d4], eax
mov ax, word [ebp - 0x7b0]
mov word [ebp - 0x8e6], ax
movsd qword [ebp - 0x8f8], xmm3
nop
movzx esi, ax
movzx eax, word [ecx]
cmp ax, word [ebp - 0xa7c]
je 0x474d48
cmp ax, word [ebp - 0xaa4]
je 0x474d48
cmp ax, word [ebp - 0xaa8]
je 0x474d48
cmp ax, word [ebp - 0xa6c]
je 0x474d48
movsx eax, di
sub eax, 1
je 0x474d41
sub eax, 1
je 0x474da0
mov eax, dword [ebp - 0x778]
mov edi, 1
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
jmp 0x474d69
mov edi, 2
jmp 0x474da0
movsx eax, di
sub eax, 0xb
je 0x474d9b
sub eax, 1
je 0x474da0
mov eax, dword [ebp - 0x778]
mov edi, 0xb
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movsd xmm0, qword [ebp - 0x890]
movsd xmm2, qword [ebp - 0x858]
movsd xmm3, qword [ebp - 0x8f8]
mov ecx, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x81c]
jmp 0x474da0
mov edi, 0xc
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40040
jne 0x474df1
cmp byte [ebp - 0x7d9], 0
je 0x474dc1
cmp word [ebp - 0x894], 0x1f
je 0x474df1
mov ax, word [ebp - 0x8e6]
push edx
push 1
push ecx
push dword [ebp - 0x7f8]
cwde
add eax, dword [ebp - 0x790]
push 4
push eax
mov eax, dword [ebp - 0x7e4]
add eax, dword [ebp - 0x870]
movd xmm1, eax
jmp 0x474e9d
movsx esi, si
add esi, dword [ebp - 0x790]
cmp byte [ebp - 0x882], 0
je 0x474e88
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x890]
push dword [ebp - 0x81c]
mulsd xmm1, qword [eax + 0x700]
mov eax, dword [ebp - 0x870]
sub eax, dword [ebp - 0x840]
push 1
push dword [ebp - 0x7cc]
divsd xmm1, qword [ebp - 0x868]
push dword [ebp - 0x7f8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push 4
push esi
addsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ebp - 0xa98]
addsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x858]
subsd xmm1, qword [ebp - 0x8f8]
jmp 0x474ece
movd xmm1, dword [ebp - 0x870]
push edx
push 1
push ecx
push dword [ebp - 0x7f8]
push 4
push esi
mov eax, dword [ebp - 0x788]
cvtdq2pd xmm1, xmm1
mulsd xmm0, qword [eax + 0x700]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [ebp - 0x938]
subsd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov edx, dword [ebp - 0x81c]
mov ax, word [ebp - 0x8e6]
mov ecx, dword [ebp - 0x7cc]
movsd xmm0, qword [ebp - 0x890]
add ecx, 2
add ax, word [edx]
add edx, 4
sub dword [ebp - 0x7d4], 1
movsd xmm2, qword [ebp - 0x858]
movsd xmm3, qword [ebp - 0x8f8]
mov word [ebp - 0x8e6], ax
mov dword [ebp - 0x7cc], ecx
mov dword [ebp - 0x81c], edx
jne 0x474cf0
mov ecx, dword [ebp - 0x788]
mov esi, dword [ebp - 0x790]
mov edi, dword [ebp - 0x770]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
je 0x4753fa
cmp byte [ebp - 0x882], 0
je 0x4753fa
mov eax, dword [ebp - 0x804]
add eax, esi
mov dword [ebp - 0x90c], eax
jmp 0x475408
test edx, 0x40040
jne 0x47502a
cmp byte [ebp - 0x7d9], 0
je 0x474f9a
cmp word [ebp - 0x894], 0x1f
je 0x47502a
mov edx, dword [ebp - 0x7e4]
push dword [ebp - 0x784]
push edi
movd xmm0, edx
cvtdq2pd xmm0, xmm0
push dword [ebp - 0x7f4]
mulsd xmm0, qword [ecx + 0x700]
mov ecx, dword [ebp - 0x8cc]
push dword [ebp - 0x7f8]
movsx ecx, cx
push 4
divsd xmm0, qword [ebp - 0x868]
push eax
mov eax, dword [ebp - 0x870]
add eax, edx
imul ecx, edx
movd xmm1, eax
mov eax, 0x88888889
cvtdq2pd xmm1, xmm1
imul ecx
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
add edx, ecx
sar edx, 3
mov eax, edx
mulsd xmm0, qword [ebp - 0x938]
shr eax, 0x1f
add eax, edx
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
jmp 0x47510d
mov ecx, dword [ebp - 0x8cc]
mov edx, dword [ebp - 0x7e4]
movd xmm2, dword [ebp - 0x824]
movzx eax, cx
movsx ecx, ax
mov eax, 0x88888889
imul ecx, edx
movd xmm1, edx
cvtdq2pd xmm1, xmm1
imul ecx
cvtdq2pd xmm2, xmm2
add edx, ecx
movsd qword [ebp - 0x890], xmm1
sar edx, 3
mov esi, edx
movsd qword [ebp - 0x7d8], xmm2
shr esi, 0x1f
add esi, edx
cmp byte [ebp - 0x882], 0
movd xmm3, esi
cvtdq2pd xmm3, xmm3
je 0x475130
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x788]
movsd xmm2, qword [ebp - 0x890]
movaps xmm1, xmm2
mulsd xmm2, qword [ebp - 0xa98]
mulsd xmm1, qword [eax + 0x700]
mov eax, dword [ebp - 0x870]
sub eax, dword [ebp - 0x840]
push dword [ebp - 0x784]
divsd xmm1, qword [ebp - 0x868]
push edi
push dword [ebp - 0x7f4]
movd xmm0, eax
push dword [ebp - 0x7f8]
cvtdq2pd xmm0, xmm0
push 4
push dword [ebp - 0x790]
addsd xmm1, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm2
addsd xmm1, qword [ebp - 0x7d8]
subsd xmm1, xmm0
mov edi, dword [ebp - 0x770]
cvttsd2si eax, xmm1
push eax
push edi
call dword [ebp - 0x800]
mov esi, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x788]
jmp 0x474f45
mov eax, dword [ebp - 0x788]
movd xmm0, dword [ebp - 0x870]
mulsd xmm2, qword [ebp - 0x938]
mov esi, dword [ebp - 0x790]
mulsd xmm1, qword [eax + 0x700]
push dword [ebp - 0x784]
cvtdq2pd xmm0, xmm0
push edi
mov edi, dword [ebp - 0x770]
divsd xmm1, qword [ebp - 0x868]
push dword [ebp - 0x7f4]
subsd xmm0, xmm1
push dword [ebp - 0x7f8]
push 4
push esi
subsd xmm0, xmm2
addsd xmm0, xmm3
cvttsd2si eax, xmm0
push eax
push edi
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x788]
jmp 0x474f45
mov eax, dword [ebp - 0x870]
sub eax, esi
mov esi, dword [ebp - 0x790]
add esi, eax
mov dword [ebp - 0x790], esi
test ecx, ecx
je 0x4751d0
cmp byte [ebp - 0x882], 0
je 0x4751d0
mov eax, dword [ebp - 0x90c]
cmp esi, eax
jge 0x4751e3
mov esi, eax
jmp 0x4751dd
cmp esi, dword [ebp - 0x950]
cmovl esi, dword [ebp - 0x950]
mov dword [ebp - 0x790], esi
mov ecx, dword [ebp - 0x788]
cmp byte [ecx + 0x6fa], 0
je 0x474f3f
test edx, 0x40040
jne 0x4752c1
cmp byte [ebp - 0x7d9], 0
je 0x475219
cmp word [ebp - 0x894], 0x1f
je 0x4752c1
mov edx, dword [ebp - 0x7e4]
mov eax, dword [ebp - 0x89c]
sub eax, edx
push dword [ebp - 0x784]
movd xmm1, edx
cvtdq2pd xmm1, xmm1
push edi
mov edi, dword [ebp - 0x770]
movd xmm0, eax
mov eax, 0x88888889
mulsd xmm1, qword [ecx + 0x700]
mov ecx, dword [ebp - 0x8cc]
cvtdq2pd xmm0, xmm0
movsx ecx, cx
divsd xmm1, qword [ebp - 0x868]
imul ecx, edx
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
push dword [ebp - 0x7f4]
cvtdq2pd xmm0, xmm0
imul ecx
mulsd xmm0, qword [ebp - 0x938]
push dword [ebp - 0x7f8]
add edx, ecx
addsd xmm1, xmm0
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push esi
push edi
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x788]
jmp 0x474f45
mov ecx, dword [ebp - 0x8cc]
mov edx, dword [ebp - 0x7e4]
movd xmm2, dword [ebp - 0x824]
movzx eax, cx
movsx ecx, ax
mov eax, 0x88888889
imul ecx, edx
movd xmm1, edx
cvtdq2pd xmm2, xmm2
imul ecx
mulsd xmm2, qword [ebp - 0x938]
cvtdq2pd xmm1, xmm1
add edx, ecx
sar edx, 3
mov esi, edx
movsd qword [ebp - 0x7d8], xmm2
shr esi, 0x1f
add esi, edx
movsd qword [ebp - 0x890], xmm1
cmp byte [ebp - 0x882], 0
movd xmm3, esi
cvtdq2pd xmm3, xmm3
je 0x4753ca
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x89c]
movsd xmm2, qword [ebp - 0x890]
movaps xmm0, xmm2
mulsd xmm2, qword [ebp - 0xac8]
movd xmm1, eax
mov eax, dword [ebp - 0x788]
cvtdq2pd xmm1, xmm1
mulsd xmm0, qword [eax + 0x700]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm2
subsd xmm1, qword [ebp - 0x7d8]
addsd xmm1, xmm0
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x790]
push edi
push dword [ebp - 0x7f4]
mov edi, dword [ebp - 0x770]
push dword [ebp - 0x7f8]
cvttsd2si eax, xmm1
push 4
push eax
push esi
push edi
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x788]
jmp 0x474f45
mov eax, dword [ebp - 0x788]
movd xmm0, dword [ebp - 0x89c]
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [eax + 0x700]
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
addsd xmm1, xmm2
subsd xmm1, xmm3
jmp 0x475391
mov eax, dword [ebp - 0x804]
add eax, esi
mov dword [ebp - 0x950], eax
mov edx, dword [ebp - 0x788]
movzx ecx, byte [ecx + 0x7ea]
shl ecx, 8
movzx eax, byte [edx + 0x7e9]
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push edi
call dword [ebp - 0x85c]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7f4]
mov byte [ebp - 0x8e5], 0
mov byte [ebp - 0x771], 0
mov byte [ebp - 0x79c], 1
call fcn.00560853
add esp, 4
jmp 0x48288d
mov eax, dword [ebp - 0x7d0]
test eax, eax
je 0x47549e
movzx eax, word [eax + 8]
test al, al
js 0x475490
test eax, 0x100
je 0x47549e
mov byte [ebp - 0x79c], 1
mov byte [ebp - 0x771], 0
mov eax, dword [ebp - 0x780]
cmp ax, 9
jl 0x475d26
mov ecx, 0xff3b
cmp di, cx
jne 0x475d26
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x475d26
mov esi, 0x300c
cmp word [edx + 4], si
jne 0x475d26
cwde
mov edi, 0x300d
cmp word [edx + eax*2 - 0xa], di
movzx edi, word [edx]
jne 0x475d20
mov ecx, 0x306f
cmp word [edx + eax*2 - 8], cx
jne 0x475d20
mov esi, 0x30de
cmp word [edx + eax*2 - 6], si
jne 0x475d20
mov edi, esi
cmp word [edx + eax*2 - 4], di
movzx edi, word [edx]
jne 0x475d20
mov ecx, 0xff3d
cmp word [edx + eax*2 - 2], cx
mov eax, dword [ebp - 0x780]
jne 0x475d26
add eax, 0xfffffff8
xor ecx, ecx
movzx esi, ax
mov edx, 2
movsx eax, si
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov ecx, dword [ebp - 0x898]
add esp, 4
mov edx, esi
mov dword [ebp - 0x814], eax
push 1
push eax
call fcn.0040c7c0
dec ax
add esp, 8
movzx edx, ax
mov eax, dword [ebp - 0x7fc]
dec eax
movzx edi, ax
mov si, di
mov dword [ebp - 0x7b0], edi
test si, si
js 0x475d0d
mov edi, dword [ebp - 0x87c]
movsx eax, si
mov dword [ebp - 0x7d4], eax
movsx ecx, dx
mov ax, word [edi + eax*2]
mov edi, dword [ebp - 0x814]
cmp ax, word [edi + ecx*2]
mov edi, dword [ebp - 0x7b0]
jne 0x4756c6
dec edx
test dx, dx
js 0x475602
dec edi
mov si, di
mov dword [ebp - 0x7b0], edi
test si, si
js 0x4756c6
mov edi, dword [ebp - 0x87c]
movsx eax, si
movsx ecx, dx
mov ax, word [edi + eax*2]
mov edi, dword [ebp - 0x814]
cmp ax, word [edi + ecx*2]
mov edi, dword [ebp - 0x7b0]
jne 0x4756c6
dec edx
test dx, dx
jns 0x4755c3
xor edx, edx
xor eax, eax
xor edi, edi
mov dword [ebp - 0x790], edx
cmp ax, si
jge 0x475630
mov eax, dword [ebp - 0x820]
movzx ecx, si
nop dword [eax]
add edx, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x475620
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x7d4]
inc eax
movzx ecx, si
mov dword [ebp - 0x7d4], eax
movsx eax, si
mov esi, dword [ebp - 0x7d4]
mov edx, esi
sub edx, eax
cmp eax, esi
jge 0x4756ec
cmp edx, 8
jb 0x4756ec
and edx, reloc.OLEAUT32.dll_VariantInit
jns 0x47566b
dec edx
or edx, 0xfffffff8
inc edx
sub esi, edx
xorps xmm1, xmm1
mov edx, dword [ebp - 0x820]
xorps xmm2, xmm2
nop dword [eax]
movups xmm0, xmmword [edx + eax*4]
movsx eax, cx
add ecx, 8
paddd xmm1, xmm0
movups xmm0, xmmword [edx + eax*4 + 0x10]
movsx eax, cx
paddd xmm2, xmm0
cmp eax, esi
jl 0x475680
mov esi, dword [ebp - 0x7d4]
paddd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edi, xmm1
jmp 0x4756f2
dec edi
mov si, di
mov dword [ebp - 0x7b0], edi
test si, si
jns 0x475591
push dword [ebp - 0x814]
call fcn.00560853
add esp, 4
jmp 0x48288d
mov edx, dword [ebp - 0x820]
movsx eax, cx
cmp eax, esi
jge 0x47570b
nop dword [eax]
add edi, dword [edx + eax*4]
inc ecx
movsx eax, cx
cmp eax, esi
jl 0x475700
mov eax, dword [ebp - 0x778]
mov esi, dword [ebp - 0x770]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
push 0
push 0
push 2
push 0x5b2c28
push esi
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x784]
mov eax, dword [edx]
mov dword [ecx], eax
mov esi, dword [edx + 4]
sub esi, dword [edx]
mov eax, dword [ebp - 0x788]
mov dword [ecx + 4], esi
mov dword [ebp - 0x854], esi
mov dl, byte [eax + 0x6fd]
cmp dl, 2
jge 0x4757ce
mov eax, dword [ebp - 0x6a8]
cmp edi, eax
jle 0x4757ba
push 1
push 0
sub edi, eax
push edi
push 2
push ecx
mov ecx, dword [ebp - 0x7c4]
push 0x5b2c28
call fcn.004867e0
mov ecx, dword [ebp - 0x784]
mov eax, 0x99999999
imul dword [ecx]
sar edx, 1
mov edi, edx
shr edi, 0x1f
add edi, edx
jmp 0x475832
cmp dl, 1
jne 0x475830
sub eax, edi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
jmp 0x475832
mov ecx, dword [ebp - 0x6a8]
cmp edi, ecx
jle 0x47581e
push 1
push 0
mov eax, edi
sub eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
push 2
push dword [ebp - 0x784]
push 0x5b2c28
call fcn.004867e0
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x6fd], 3
jne 0x475830
sub edi, dword [ebp - 0x6a8]
mov eax, edi
cdq
and edx, 3
lea edi, [edx + eax]
sar edi, 2
neg edi
jmp 0x475832
cmp dl, 3
jne 0x475830
sub ecx, edi
mov eax, ecx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
jmp 0x475832
xor edi, edi
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
xor edx, edx
mov dword [ebp - 0x7c8], eax
xor ecx, ecx
nop word [eax + eax]
movzx eax, cx
cmp eax, 1
je 0x475876
mov esi, dword [ebp - 0x784]
inc ecx
add edx, dword [esi + eax*4]
mov esi, dword [ebp - 0x854]
mov dword [ebp - 0x7d4], edx
cmp cx, 2
jl 0x475850
jmp 0x47587e
add edx, esi
mov dword [ebp - 0x7d4], edx
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ed]
movzx eax, byte [edx + 0x7ec]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7eb]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov esi, dword [ebp - 0x790]
sub esi, edi
cmp word [ebp - 0x834], 0x40
jne 0x475add
add esi, dword [ebp - 0x89c]
cmp esi, dword [ebp - 0x950]
mov ecx, dword [ebp - 0x788]
cmovl esi, dword [ebp - 0x950]
mov dword [ebp - 0x790], esi
cmp byte [ecx + 0x6fa], 0
je 0x475ca2
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40040
jne 0x475981
cmp byte [ebp - 0x7d9], 0
je 0x475917
cmp word [ebp - 0x894], 0x1f
je 0x475981
mov edx, dword [ebp - 0x7e4]
mov eax, dword [ebp - 0x870]
push dword [ebp - 0x784]
add eax, edx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
push 2
push 0x5b2c28
movd xmm1, eax
mulsd xmm0, qword [ecx + 0x700]
push dword [ebp - 0x7f8]
cvtdq2pd xmm1, xmm1
push 4
push esi
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
jmp 0x475c96
mov ecx, dword [ebp - 0x8cc]
mov edx, dword [ebp - 0x7e4]
movd xmm2, dword [ebp - 0x824]
movzx eax, cx
movsx ecx, ax
mov eax, 0x88888889
imul ecx, edx
movd xmm1, edx
cvtdq2pd xmm1, xmm1
imul ecx
cvtdq2pd xmm2, xmm2
add edx, ecx
movsd qword [ebp - 0x890], xmm1
sar edx, 3
mov esi, edx
movsd qword [ebp - 0x858], xmm2
shr esi, 0x1f
add esi, edx
cmp byte [ebp - 0x882], 0
movd xmm3, esi
cvtdq2pd xmm3, xmm3
je 0x475a81
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
movsd xmm2, qword [ebp - 0x890]
mov eax, dword [ebp - 0x788]
movaps xmm1, xmm2
mulsd xmm2, qword [ebp - 0xa98]
mov edx, dword [ebp - 0x790]
push dword [ebp - 0x784]
mulsd xmm1, qword [eax + 0x700]
mov eax, dword [ebp - 0x870]
sub eax, dword [ebp - 0x840]
push 2
push 0x5b2c28
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push dword [ebp - 0x7f8]
addsd xmm1, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
push 4
push edx
addsd xmm1, xmm2
addsd xmm1, qword [ebp - 0x858]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov esi, dword [ebp - 0x790]
jmp 0x475ca2
mov eax, dword [ebp - 0x788]
movd xmm0, dword [ebp - 0x870]
mulsd xmm2, qword [ebp - 0x938]
mov esi, dword [ebp - 0x790]
mulsd xmm1, qword [eax + 0x700]
push dword [ebp - 0x784]
cvtdq2pd xmm0, xmm0
push 2
push 0x5b2c28
divsd xmm1, qword [ebp - 0x868]
push dword [ebp - 0x7f8]
subsd xmm0, xmm1
push 4
push esi
subsd xmm0, xmm2
addsd xmm0, xmm3
cvttsd2si eax, xmm0
push eax
jmp 0x475c96
add esi, dword [ebp - 0x870]
cmp esi, dword [ebp - 0x950]
mov eax, dword [ebp - 0x788]
cmovl esi, dword [ebp - 0x950]
mov dword [ebp - 0x790], esi
cmp byte [eax + 0x6fa], 0
je 0x475ca2
mov ecx, dword [ebp - 0x77c]
test dword [ecx], 0x40040
jne 0x475b79
cmp byte [ebp - 0x7d9], 0
je 0x475b2a
cmp word [ebp - 0x894], 0x1f
je 0x475b79
mov ecx, dword [ebp - 0x7e4]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [eax + 0x700]
mov eax, dword [ebp - 0x89c]
sub eax, ecx
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
addsd xmm1, xmm0
jmp 0x475c7b
mov ecx, dword [ebp - 0x8cc]
mov edx, dword [ebp - 0x7e4]
movd xmm2, dword [ebp - 0x824]
movzx eax, cx
movsx ecx, ax
mov eax, 0x88888889
imul ecx, edx
movd xmm1, edx
cvtdq2pd xmm2, xmm2
imul ecx
mulsd xmm2, qword [ebp - 0x938]
cvtdq2pd xmm1, xmm1
add edx, ecx
sar edx, 3
mov esi, edx
movsd qword [ebp - 0x858], xmm2
shr esi, 0x1f
add esi, edx
movsd qword [ebp - 0x890], xmm1
cmp byte [ebp - 0x882], 0
movd xmm3, esi
cvtdq2pd xmm3, xmm3
je 0x475c47
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x89c]
movsd xmm2, qword [ebp - 0x890]
movaps xmm0, xmm2
mulsd xmm2, qword [ebp - 0xac8]
movd xmm1, eax
mov eax, dword [ebp - 0x788]
cvtdq2pd xmm1, xmm1
mulsd xmm0, qword [eax + 0x700]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm2
subsd xmm1, qword [ebp - 0x858]
addsd xmm1, xmm0
jmp 0x475c75
mov eax, dword [ebp - 0x788]
movd xmm0, dword [ebp - 0x89c]
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [eax + 0x700]
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
addsd xmm1, xmm2
subsd xmm1, xmm3
mov esi, dword [ebp - 0x790]
push dword [ebp - 0x784]
cvttsd2si eax, xmm1
push 2
push 0x5b2c28
push dword [ebp - 0x7f8]
push 4
push eax
push esi
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x7d4]
add eax, esi
mov esi, dword [ebp - 0x788]
add eax, edi
mov dword [ebp - 0x950], eax
movzx ecx, byte [esi + 0x7ea]
movzx eax, byte [esi + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x7e8]
mov esi, dword [ebp - 0x770]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov byte [ebp - 0x79c], 1
mov byte [ebp - 0x771], 0
push dword [ebp - 0x814]
call fcn.00560853
add esp, 4
jmp 0x48288d
mov eax, dword [ebp - 0x780]
cmp ax, 0xb
jl 0x4762f2
mov ecx, 0xff3b
cmp di, cx
jne 0x4762f2
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x4762f2
mov esi, 0x300c
cmp word [edx + 4], si
jne 0x4762f2
cwde
mov edi, 0x300d
cmp word [edx + eax*2 - 0xe], di
movzx edi, word [edx]
jne 0x4762ec
mov edi, 0x306e
cmp word [edx + eax*2 - 0xc], di
movzx edi, word [edx]
jne 0x4762ec
mov esi, 0x5de6
cmp word [edx + eax*2 - 0xa], si
jne 0x4762ec
mov ecx, 0x306b
cmp word [edx + eax*2 - 8], cx
jne 0x4762ec
mov edi, 0x30de
cmp word [edx + eax*2 - 6], di
movzx edi, word [edx]
jne 0x4762ec
mov esi, 0x30de
cmp word [edx + eax*2 - 4], si
jne 0x4762ec
mov ecx, 0xff3d
cmp word [edx + eax*2 - 2], cx
mov eax, dword [ebp - 0x780]
jne 0x4762f2
add eax, 0xfffffff6
xor ecx, ecx
movzx esi, ax
mov edx, 2
movsx eax, si
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov ecx, dword [ebp - 0x898]
add esp, 4
mov edx, esi
mov dword [ebp - 0x814], eax
push 1
push eax
call fcn.0040c7c0
dec ax
add esp, 8
movzx edx, ax
mov eax, dword [ebp - 0x7fc]
dec eax
movzx edi, ax
mov si, di
mov dword [ebp - 0x7b0], edi
test si, si
js 0x475d0d
nop dword [eax]
mov edi, dword [ebp - 0x87c]
movsx eax, si
mov dword [ebp - 0x7d4], eax
movsx ecx, dx
mov ax, word [edi + eax*2]
mov edi, dword [ebp - 0x814]
cmp ax, word [edi + ecx*2]
mov edi, dword [ebp - 0x7b0]
jne 0x475f76
dec edx
test dx, dx
js 0x475eb1
dec edi
mov si, di
mov dword [ebp - 0x7b0], edi
test si, si
js 0x475f76
mov edi, dword [ebp - 0x87c]
movsx eax, si
movsx ecx, dx
mov ax, word [edi + eax*2]
mov edi, dword [ebp - 0x814]
cmp ax, word [edi + ecx*2]
mov edi, dword [ebp - 0x7b0]
jne 0x475f76
dec edx
test dx, dx
jns 0x475e72
xor edx, edx
xor eax, eax
xor edi, edi
mov dword [ebp - 0x790], edx
cmp ax, si
jge 0x475ee0
mov eax, dword [ebp - 0x820]
movzx ecx, si
nop dword [eax + eax]
add edx, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x475ed0
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x7d4]
inc eax
movzx ecx, si
mov dword [ebp - 0x7d4], eax
movsx eax, si
mov esi, dword [ebp - 0x7d4]
mov edx, esi
sub edx, eax
cmp eax, esi
jge 0x475f9c
cmp edx, 8
jb 0x475f9c
and edx, reloc.OLEAUT32.dll_VariantInit
jns 0x475f1b
dec edx
or edx, 0xfffffff8
inc edx
sub esi, edx
xorps xmm1, xmm1
mov edx, dword [ebp - 0x820]
xorps xmm2, xmm2
nop dword [eax]
movups xmm0, xmmword [edx + eax*4]
movsx eax, cx
add ecx, 8
paddd xmm1, xmm0
movups xmm0, xmmword [edx + eax*4 + 0x10]
movsx eax, cx
paddd xmm2, xmm0
cmp eax, esi
jl 0x475f30
mov esi, dword [ebp - 0x7d4]
paddd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edi, xmm1
jmp 0x475fa2
dec edi
mov si, di
mov dword [ebp - 0x7b0], edi
test si, si
jns 0x475e40
push dword [ebp - 0x814]
call fcn.00560853
add esp, 4
jmp 0x48288d
mov edx, dword [ebp - 0x820]
movsx eax, cx
cmp eax, esi
jge 0x475fbb
nop dword [eax]
add edi, dword [edx + eax*4]
inc ecx
movsx eax, cx
cmp eax, esi
jl 0x475fb0
mov eax, dword [ebp - 0x778]
mov esi, dword [ebp - 0x770]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
push 0
push 0
push 2
push 0x5b2c28
push esi
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x7f0]
mov esi, dword [ebp - 0x784]
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
mov dword [esi + 4], eax
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x788]
mov dl, byte [eax + 0x6fd]
cmp dl, 2
jge 0x476071
mov eax, dword [ebp - 0x6a8]
cmp edi, eax
jle 0x476061
mov ecx, dword [ebp - 0x7c4]
sub edi, eax
push 1
push 0
push edi
push 2
push esi
push 0x5b2c28
call fcn.004867e0
mov eax, 0x99999999
imul dword [esi]
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
jmp 0x4760d0
cmp dl, 1
jne 0x4760ce
sub eax, edi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x4760d0
mov ecx, dword [ebp - 0x6a8]
cmp edi, ecx
jle 0x4760bc
push 1
push 0
mov eax, edi
sub eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
push 2
push esi
push 0x5b2c28
call fcn.004867e0
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x6fd], 3
jne 0x4760ce
sub edi, dword [ebp - 0x6a8]
mov eax, edi
cdq
and edx, 3
lea esi, [edx + eax]
sar esi, 2
neg esi
jmp 0x4760d0
cmp dl, 3
jne 0x4760ce
sub ecx, edi
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x4760d0
xor esi, esi
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x784]
xor edi, edi
mov dword [ebp - 0x7c8], eax
xor ecx, ecx
nop
movzx eax, cx
cmp eax, 1
je 0x476104
add edi, dword [edx + eax*4]
inc ecx
cmp cx, 2
jl 0x4760f0
jmp 0x47610a
add edi, dword [ebp - 0x7d4]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ed]
movzx eax, byte [edx + 0x7ec]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7eb]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov ecx, dword [ebp - 0x790]
mov edx, dword [ebp - 0x788]
sub ecx, esi
cmp word [ebp - 0x834], 0x40
jne 0x4761ea
add ecx, dword [ebp - 0x89c]
cmp ecx, dword [ebp - 0x90c]
cmovl ecx, dword [ebp - 0x90c]
cmp byte [edx + 0x6fa], 0
mov dword [ebp - 0x790], ecx
je 0x47628f
movd xmm1, dword [ebp - 0x7e4]
cvtdq2pd xmm1, xmm1
mov eax, dword [ebp - 0x870]
sub eax, dword [ebp - 0x840]
push dword [ebp - 0x784]
mulsd xmm1, qword [edx + 0x700]
push 2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push 0x5b2c28
divsd xmm1, qword [ebp - 0x868]
push dword [ebp - 0x7f8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
push ecx
mulsd xmm0, qword [ebp - 0x9f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
jmp 0x476277
add ecx, dword [ebp - 0x870]
cmp ecx, dword [ebp - 0x90c]
cmovl ecx, dword [ebp - 0x90c]
cmp byte [edx + 0x6fa], 0
mov dword [ebp - 0x790], ecx
je 0x47628f
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x89c]
push dword [ebp - 0x784]
mulsd xmm0, qword [edx + 0x700]
push 2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
push 0x5b2c28
divsd xmm0, qword [ebp - 0x868]
push dword [ebp - 0x7f8]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
mulsd xmm0, qword [ebp - 0x938]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov edx, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x790]
lea eax, [ecx + edi]
movzx ecx, byte [edx + 0x7ea]
add eax, esi
shl ecx, 8
mov esi, dword [ebp - 0x770]
mov dword [ebp - 0x90c], eax
movzx eax, byte [edx + 0x7e9]
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
push dword [ebp - 0x814]
jmp 0x47545c
mov eax, dword [ebp - 0x780]
cmp ax, 0xf
jl 0x476dcc
mov ecx, 0xff3b
cmp di, cx
jne 0x476dcc
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x476dcc
mov esi, 0x300c
cmp word [edx + 4], si
jne 0x476dcc
cwde
mov edi, 0x300d
cmp word [edx + eax*2 - 0xa], di
movzx edi, word [edx]
jne 0x476dc6
mov ecx, 0x306e
cmp word [edx + eax*2 - 8], cx
jne 0x476dc6
mov edi, 0x30eb
cmp word [edx + eax*2 - 6], di
movzx edi, word [edx]
jne 0x476dc6
mov esi, 0x30d3
cmp word [edx + eax*2 - 4], si
jne 0x476dc6
mov ecx, 0xff3d
cmp word [edx + eax*2 - 2], cx
jne 0x476dc6
mov eax, dword [ebp - 0x898]
mov ecx, 0x300d
mov esi, dword [ebp - 0x7bc]
xor edx, edx
cmp word [eax], cx
je 0x4763a2
inc edx
movsx eax, dx
cmp word [esi + eax*2 + 6], cx
jne 0x476397
mov eax, dword [ebp - 0x780]
mov edi, 0x300c
add eax, 0xfffffffa
movzx ecx, ax
movsx eax, cx
cmp word [esi + eax*2], di
mov edi, dword [ebp - 0x780]
je 0x4763d7
mov edi, 0x300c
dec ecx
movsx eax, cx
cmp word [esi + eax*2], di
jne 0x4763c7
mov edi, dword [ebp - 0x780]
sub edi, ecx
dec edx
sub edi, 6
inc ecx
movzx eax, di
mov dword [ebp - 0x790], eax
mov eax, dword [ebp - 0x7fc]
dec eax
mov dword [ebp - 0x81c], ecx
movzx edi, ax
mov si, di
mov dword [ebp - 0x7b0], edi
test si, si
js 0x47654b
nop dword [eax]
mov edi, dword [ebp - 0x87c]
movsx eax, si
mov dword [ebp - 0x7d4], eax
movsx ecx, dx
mov ax, word [edi + eax*2]
mov edi, dword [ebp - 0x7bc]
cmp ax, word [edi + ecx*2 + 6]
mov edi, dword [ebp - 0x7b0]
jne 0x476538
dec edx
test dx, dx
js 0x476483
dec edi
mov si, di
mov dword [ebp - 0x7b0], edi
test si, si
js 0x476538
mov edi, dword [ebp - 0x87c]
movsx eax, si
movsx ecx, dx
mov ax, word [edi + eax*2]
mov edi, dword [ebp - 0x7bc]
cmp ax, word [edi + ecx*2 + 6]
mov edi, dword [ebp - 0x7b0]
jne 0x476538
dec edx
test dx, dx
jns 0x476443
xor edi, edi
xor edx, edx
xor eax, eax
mov dword [ebp - 0x838], edi
mov dword [ebp - 0x7f4], edx
cmp ax, si
jge 0x4764b3
mov eax, dword [ebp - 0x820]
movzx ecx, si
add edi, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x4764a3
mov dword [ebp - 0x838], edi
mov edi, dword [ebp - 0x7d4]
inc edi
movsx eax, si
mov edx, edi
movzx ecx, si
sub edx, eax
cmp eax, edi
jge 0x47655e
cmp edx, 8
jb 0x47655e
and edx, reloc.OLEAUT32.dll_VariantInit
jns 0x4764e2
dec edx
or edx, 0xfffffff8
inc edx
mov esi, edi
xorps xmm1, xmm1
sub esi, edx
xorps xmm2, xmm2
mov edx, dword [ebp - 0x820]
movups xmm0, xmmword [edx + eax*4]
movsx eax, cx
add ecx, 8
paddd xmm1, xmm0
movups xmm0, xmmword [edx + eax*4 + 0x10]
movsx eax, cx
paddd xmm2, xmm0
cmp eax, esi
jl 0x4764f2
paddd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edx, xmm1
mov dword [ebp - 0x7f4], edx
jmp 0x476564
dec edi
mov si, di
mov dword [ebp - 0x7b0], edi
test si, si
jns 0x476410
mov esi, dword [ebp - 0x77c]
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov edx, dword [ebp - 0x7f4]
movsx eax, cx
cmp eax, edi
jge 0x476582
mov esi, dword [ebp - 0x820]
add edx, dword [esi + eax*4]
inc ecx
movsx eax, cx
cmp eax, edi
jl 0x476571
mov dword [ebp - 0x7f4], edx
cmp word [ebp - 0x834], 0x40
jne 0x47674a
cmp byte [ebp - 0x805], 0
je 0x47674a
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x790]
mov esi, 1
mov dword [ebp - 0x7c0], eax
xor eax, eax
mov dword [ebp - 0x7b0], 0
cmp ax, di
jge 0x476735
mov eax, dword [ebp - 0x784]
mov ecx, dword [ebp - 0x7bc]
mov edi, ecx
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x81c]
cwde
lea eax, [ecx + eax*2]
mov dword [ebp - 0x814], eax
mov eax, dword [ebp - 0x790]
movzx eax, ax
mov dword [ebp - 0x854], eax
mov ax, word [ebp - 0x7b0]
mov word [ebp - 0x7ae], ax
nop
movzx eax, word [edi]
mov ecx, 0x3033
cmp ax, cx
je 0x476681
mov ecx, 0x3035
cmp ax, cx
je 0x476681
mov ecx, 0x3034
cmp ax, cx
je 0x476681
mov ecx, 0x200b
cmp ax, cx
je 0x476681
movsx eax, si
sub eax, 1
je 0x47667a
sub eax, 1
je 0x4766b5
mov eax, dword [ebp - 0x778]
mov esi, 1
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
jmp 0x4766b5
mov esi, 2
jmp 0x4766b5
movsx eax, si
sub eax, 0xb
je 0x4766b0
sub eax, 1
je 0x4766b5
mov eax, dword [ebp - 0x778]
mov esi, 0xb
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
jmp 0x4766b5
mov esi, 0xc
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
push 0
push 0
push 1
push dword [ebp - 0x814]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x7f0]
add edi, 2
mov dx, word [ebp - 0x7ae]
add dword [ebp - 0x814], 2
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x7d4]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [ebp - 0x7f0]
mov dword [ebp - 0x7d4], ecx
add dx, word [eax]
sub dword [ebp - 0x854], 1
mov word [ebp - 0x7ae], dx
jne 0x476620
mov edi, dword [ebp - 0x790]
movsx ecx, dx
mov dword [ebp - 0x6a8], ecx
jmp 0x4767db
mov dx, word [ebp - 0x7b0]
movsx ecx, dx
mov dword [ebp - 0x6a8], ecx
jmp 0x4767db
mov eax, dword [ebp - 0x778]
mov esi, dword [ebp - 0x770]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push esi
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x7bc]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
movsx eax, di
push 0
push 0
push eax
mov eax, dword [ebp - 0x81c]
cwde
lea eax, [ecx + eax*2]
push eax
push esi
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x7f0]
mov esi, dword [ebp - 0x784]
mov eax, dword [edx]
mov dword [esi], eax
mov eax, 1
cmp ax, di
jge 0x4767d5
lea eax, [edi - 1]
sub esi, edx
lea ecx, [edx + 4]
movzx edx, ax
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [ecx + esi - 4], eax
sub edx, 1
jne 0x4767c4
mov ecx, dword [ebp - 0x6a8]
mov eax, dword [ebp - 0x784]
mov edx, dword [ebp - 0x7f4]
movsx esi, di
mov dword [ebp - 0x854], esi
mov edi, dword [eax + esi*4 - 4]
mov eax, dword [ebp - 0x788]
mov al, byte [eax + 0x6fd]
cmp al, 2
jge 0x47687b
cmp edx, ecx
jle 0x476874
cmp byte [ebp - 0x805], 0
jne 0x476874
mov eax, dword [ebp - 0x790]
sub edx, ecx
mov ecx, dword [ebp - 0x7bc]
push 1
push 0
push edx
push eax
mov eax, dword [ebp - 0x81c]
push dword [ebp - 0x784]
cwde
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 0x7c4]
push eax
call fcn.004867e0
cmp word [ebp - 0x790], 2
jg 0x476907
mov ecx, dword [ebp - 0x784]
mov eax, 0x99999999
imul dword [ecx]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x7f4], eax
jmp 0x476911
cmp al, 1
jmp 0x4768f4
cmp edx, ecx
jle 0x4768f2
cmp byte [ebp - 0x805], 0
jne 0x4768f2
mov eax, dword [ebp - 0x81c]
sub edx, ecx
mov ecx, dword [ebp - 0x7bc]
push 1
push 0
push edx
push dword [ebp - 0x790]
cwde
push dword [ebp - 0x784]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 0x7c4]
push eax
call fcn.004867e0
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x6fd], 3
jne 0x476907
cmp word [ebp - 0x790], 0
jle 0x476907
mov eax, dword [ebp - 0x7f4]
sub eax, dword [ebp - 0x6a8]
cdq
idiv esi
cdq
sub eax, edx
sar eax, 1
neg eax
mov dword [ebp - 0x7f4], eax
jmp 0x476911
cmp al, 3
jne 0x476907
sub ecx, edx
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x7f4], eax
jmp 0x476911
mov dword [ebp - 0x7f4], 0
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x790]
mov dword [ebp - 0x7c8], eax
xor eax, eax
mov dword [ebp - 0x804], 0
cmp ax, dx
jge 0x47697f
mov ecx, dword [ebp - 0x784]
dec esi
mov dword [ebp - 0x7d4], esi
movzx edx, dx
nop dword [eax]
cmp eax, esi
jne 0x47695c
add dword [ebp - 0x804], edi
jmp 0x47696a
mov esi, dword [ebp - 0x804]
add esi, dword [ecx]
mov dword [ebp - 0x804], esi
mov esi, dword [ebp - 0x7d4]
inc eax
add ecx, 4
sub edx, 1
jne 0x476950
mov esi, dword [ebp - 0x854]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ed]
movzx eax, byte [edx + 0x7ec]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7eb]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
cmp word [ebp - 0x834], 0x40
mov edx, dword [ebp - 0x788]
jne 0x476d17
mov edi, dword [ebp - 0x838]
sub edi, dword [ebp - 0x7f4]
add edi, dword [ebp - 0x89c]
cmp edi, dword [ebp - 0x90c]
cmovl edi, dword [ebp - 0x90c]
cmp byte [edx + 0x6fa], 0
mov dword [ebp - 0x838], edi
je 0x476c0d
cmp byte [ebp - 0x805], 0
je 0x476c94
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov edx, dword [ebp - 0x790]
xor eax, eax
mov dword [ebp - 0x7b0], 0
mov edi, 1
cmp ax, dx
jge 0x476c07
mov eax, dword [ebp - 0x784]
movd xmm0, dword [ebp - 0x824]
mov ecx, dword [ebp - 0x7bc]
mov edx, ecx
mov esi, dword [ebp - 0x870]
sub esi, dword [ebp - 0x840]
mov dword [ebp - 0x814], eax
mov eax, dword [ebp - 0x81c]
cwde
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7d4], ecx
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x790]
mov dword [ebp - 0x7cc], eax
movzx eax, dx
mov edx, dword [ebp - 0x7cc]
mulsd xmm0, qword [ebp - 0x9f0]
mov dword [ebp - 0x854], eax
mov ax, word [ebp - 0x7b0]
mov word [ebp - 0x7ae], ax
movsd qword [ebp - 0x890], xmm0
movzx eax, word [ecx]
mov ecx, 0x3033
cmp ax, cx
je 0x476b1b
mov ecx, 0x3035
cmp ax, cx
je 0x476b1b
mov ecx, 0x3034
cmp ax, cx
je 0x476b1b
mov ecx, 0x200b
cmp ax, cx
je 0x476b1b
movsx eax, di
sub eax, 1
je 0x476b14
sub eax, 1
je 0x476b55
mov eax, dword [ebp - 0x778]
mov edi, 1
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov edx, dword [ebp - 0x7cc]
jmp 0x476b55
mov edi, 2
jmp 0x476b55
movsx eax, di
sub eax, 0xb
je 0x476b50
sub eax, 1
je 0x476b55
mov eax, dword [ebp - 0x778]
mov edi, 0xb
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov edx, dword [ebp - 0x7cc]
jmp 0x476b55
mov edi, 0xc
push dword [ebp - 0x814]
mov ax, word [ebp - 0x7ae]
movd xmm0, dword [ebp - 0x7e4]
push 1
push edx
push dword [ebp - 0x7f8]
cwde
add eax, dword [ebp - 0x838]
cvtdq2pd xmm0, xmm0
push 4
push eax
mov eax, dword [ebp - 0x788]
movd xmm1, esi
mulsd xmm0, qword [eax + 0x700]
cvtdq2pd xmm1, xmm1
divsd xmm0, qword [ebp - 0x868]
addsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x890]
cvttsd2si eax, xmm0
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x814]
mov cx, word [ebp - 0x7ae]
mov edx, dword [ebp - 0x7cc]
add edx, 2
add cx, word [eax]
add eax, 4
mov word [ebp - 0x7ae], cx
mov ecx, dword [ebp - 0x7d4]
add ecx, 2
mov dword [ebp - 0x7cc], edx
sub dword [ebp - 0x854], 1
mov dword [ebp - 0x7d4], ecx
mov dword [ebp - 0x814], eax
jne 0x476ab4
mov edi, dword [ebp - 0x838]
mov eax, dword [ebp - 0x804]
add eax, edi
mov edi, dword [ebp - 0x788]
add eax, dword [ebp - 0x7f4]
mov dword [ebp - 0x90c], eax
movzx ecx, byte [edi + 0x7ea]
movzx eax, byte [edi + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 0x7e8]
mov edi, dword [ebp - 0x770]
shl ecx, 8
or ecx, eax
push ecx
push edi
call dword [ebp - 0x85c]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
xor cl, cl
mov byte [ebp - 0x771], cl
movsd xmm2, qword [ebp - 0x7b8]
mov edx, 1
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x79c], edx
jmp 0x4828ad
movd xmm1, dword [ebp - 0x7e4]
cvtdq2pd xmm1, xmm1
mov eax, dword [ebp - 0x81c]
mov ecx, dword [ebp - 0x7bc]
cwde
push dword [ebp - 0x784]
mulsd xmm1, qword [edx + 0x700]
lea eax, [ecx + eax*2]
push esi
push eax
mov eax, dword [ebp - 0x870]
sub eax, dword [ebp - 0x840]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push dword [ebp - 0x7f8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
push edi
mulsd xmm0, qword [ebp - 0x9f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
jmp 0x476c0d
mov edi, dword [ebp - 0x870]
sub edi, dword [ebp - 0x7f4]
add edi, dword [ebp - 0x838]
cmp edi, dword [ebp - 0x90c]
cmovl edi, dword [ebp - 0x90c]
cmp byte [edx + 0x6fa], 0
je 0x476c0d
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0x81c]
mov ecx, dword [ebp - 0x7bc]
cwde
push dword [ebp - 0x784]
mulsd xmm0, qword [edx + 0x700]
lea eax, [ecx + eax*2]
push esi
push eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x89c]
divsd xmm0, qword [ebp - 0x868]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
push dword [ebp - 0x7f8]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
mulsd xmm0, qword [ebp - 0x938]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push edi
push dword [ebp - 0x770]
call dword [ebp - 0x800]
jmp 0x476c0d
mov eax, dword [ebp - 0x780]
cmp ax, 0xc
jl 0x47763a
mov ecx, 0xff3b
cmp di, cx
jne 0x47763a
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x47763a
mov esi, 0x300c
cmp word [edx + 4], si
jne 0x47763a
mov edx, dword [ebp - 0x780]
mov edi, 0x300d
mov eax, dword [ebp - 0x7bc]
movsx edx, dx
mov dword [ebp - 0x7d4], edx
cmp word [eax + edx*2 - 0xa], di
movzx edi, word [eax]
jne 0x477632
mov esi, 0x306e
cmp word [eax + edx*2 - 8], si
jne 0x477632
mov ecx, 0x6ce8
cmp word [eax + edx*2 - 6], cx
jne 0x477632
mov edi, 0x8a18
cmp word [eax + edx*2 - 4], di
movzx edi, word [eax]
jne 0x477632
mov ecx, 0xff3d
cmp word [eax + edx*2 - 2], cx
jne 0x477632
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x854], esi
mov edi, eax
cmp edx, 3
jle 0x476ed4
nop
movsx eax, si
test cx, cx
jne 0x476e9a
mov edx, 0x300d
cmp word [edi + eax*2 + 6], dx
mov edx, dword [ebp - 0x7d4]
je 0x476ece
movzx eax, word [edi + eax*2 + 6]
mov edi, 0x300c
cmp ax, di
jne 0x476eac
inc ecx
jmp 0x476ebd
mov edx, 0x300d
cmp ax, dx
mov edx, dword [ebp - 0x7d4]
jne 0x476ebd
dec ecx
mov edi, dword [ebp - 0x7bc]
inc esi
movsx eax, si
add eax, 3
cmp eax, edx
jl 0x476e80
mov dword [ebp - 0x854], esi
movsx eax, si
xor ecx, ecx
movzx eax, word [edi + eax*2 + 8]
mov dword [ebp - 0x814], eax
mov eax, dword [ebp - 0x780]
add eax, 0xfffffffa
movzx edx, ax
test dx, dx
jle 0x476f40
mov esi, 0x300d
nop word [eax + eax]
movsx eax, dx
test cx, cx
jne 0x476f18
mov esi, 0x300c
cmp word [edi + eax*2], si
mov esi, 0x300d
je 0x476f3a
movzx eax, word [edi + eax*2]
cmp ax, si
jne 0x476f24
inc ecx
jmp 0x476f34
mov esi, 0x300c
cmp ax, si
mov esi, 0x300d
jne 0x476f34
dec ecx
dec edx
test dx, dx
jg 0x476f00
mov esi, dword [ebp - 0x854]
mov eax, dword [ebp - 0x780]
dec esi
sub eax, edx
inc edx
movzx ecx, ax
add eax, 0xfffffffa
movzx eax, ax
mov dword [ebp - 0x81c], eax
mov eax, dword [ebp - 0x7fc]
dec eax
mov dword [ebp - 0x8f4], edx
movzx edi, ax
mov dx, di
mov dword [ebp - 0x854], ecx
mov dword [ebp - 0x7b0], edi
test dx, dx
js 0x47654b
mov edi, dword [ebp - 0x87c]
movsx eax, dx
mov dword [ebp - 0x7d4], eax
movsx ecx, si
mov ax, word [edi + eax*2]
mov edi, dword [ebp - 0x7bc]
cmp ax, word [edi + ecx*2 + 6]
mov edi, dword [ebp - 0x7b0]
jne 0x4770a6
dec esi
test si, si
js 0x476ffd
test dx, dx
je 0x4770cc
dec edi
mov dx, di
mov dword [ebp - 0x7b0], edi
test dx, dx
js 0x4770a6
mov edi, dword [ebp - 0x87c]
movsx eax, dx
movsx ecx, si
mov ax, word [edi + eax*2]
mov edi, dword [ebp - 0x7bc]
cmp ax, word [edi + ecx*2 + 6]
mov edi, dword [ebp - 0x7b0]
jne 0x4770a6
dec esi
test si, si
jns 0x476fb4
xor esi, esi
xor eax, eax
mov dword [ebp - 0x790], esi
cmp ax, dx
jge 0x477025
mov eax, dword [ebp - 0x820]
movzx ecx, dx
add esi, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x477015
mov dword [ebp - 0x790], esi
mov edi, dword [ebp - 0x7d4]
xor esi, esi
inc edi
movsx eax, dx
movzx ecx, dx
mov edx, edi
sub edx, eax
cmp eax, edi
jge 0x4770d9
cmp edx, 8
jb 0x4770d9
and edx, reloc.OLEAUT32.dll_VariantInit
jns 0x477056
dec edx
or edx, 0xfffffff8
inc edx
mov esi, edi
xorps xmm2, xmm2
sub esi, edx
xorps xmm1, xmm1
mov edx, dword [ebp - 0x820]
movups xmm0, xmmword [edx + eax*4]
movsx eax, cx
add ecx, 8
paddd xmm2, xmm0
movups xmm0, xmmword [edx + eax*4 + 0x10]
movsx eax, cx
paddd xmm1, xmm0
cmp eax, esi
jl 0x477066
paddd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
jmp 0x4770df
dec edi
mov dx, di
mov dword [ebp - 0x7b0], edi
test dx, dx
jns 0x476f81
mov esi, dword [ebp - 0x77c]
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
xor eax, eax
mov dword [ebp - 0x790], eax
jmp 0x477025
mov edx, dword [ebp - 0x820]
movsx eax, cx
cmp eax, edi
jge 0x4770f1
add esi, dword [edx + eax*4]
inc ecx
movsx eax, cx
cmp eax, edi
jl 0x4770e6
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x7bc]
mov dword [ebp - 0x7c0], eax
mov eax, dword [ebp - 0x854]
movsx edi, ax
mov eax, dword [ebp - 0x8f4]
sub edi, 6
cwde
mov dword [ebp - 0x7cc], edi
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x6a8]
mov dword [ebp - 0x7f4], eax
push ecx
push dword [ebp - 0x7f0]
push 0
push 0
push edi
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x784]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [ebp - 0x81c]
cmp word [ebp - 0xab0], ax
jge 0x4771a4
mov edi, dword [ebp - 0x784]
lea ecx, [edx + 4]
sub edi, edx
dec eax
movzx edx, ax
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [edi + ecx - 4], eax
sub edx, 1
jne 0x477187
mov edi, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x784]
mov eax, dword [ecx + edi*4 - 4]
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x788]
mov dl, byte [eax + 0x6fd]
cmp dl, 2
jge 0x477232
mov eax, dword [ebp - 0x6a8]
cmp esi, eax
jle 0x47721b
cmp byte [ebp - 0x805], 0
jne 0x47721b
push 1
push 0
sub esi, eax
push esi
mov esi, dword [ebp - 0x81c]
push esi
push ecx
push dword [ebp - 0x7f4]
mov ecx, dword [ebp - 0x7c4]
call fcn.004867e0
cmp si, 2
jg 0x4772ac
mov ecx, dword [ebp - 0x784]
mov eax, 0x99999999
imul dword [ecx]
sar edx, 1
mov edi, edx
shr edi, 0x1f
add edi, edx
jmp 0x4772ae
cmp dl, 1
jne 0x4772ac
sub eax, esi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
jmp 0x4772ae
mov ecx, dword [ebp - 0x6a8]
cmp esi, ecx
jle 0x47729a
cmp byte [ebp - 0x805], 0
jne 0x47729a
push 1
push 0
mov eax, esi
sub eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
push dword [ebp - 0x81c]
push dword [ebp - 0x784]
push dword [ebp - 0x7f4]
call fcn.004867e0
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x6fd], 3
jne 0x4772ac
cmp word [ebp - 0x81c], 0
jle 0x4772ac
sub esi, dword [ebp - 0x6a8]
mov eax, esi
cdq
idiv edi
cdq
sub eax, edx
sar eax, 1
mov edi, eax
neg edi
jmp 0x4772ae
cmp dl, 3
jne 0x4772ac
sub ecx, esi
mov eax, ecx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
jmp 0x4772ae
xor edi, edi
mov eax, 0x306b
cmp word [ebp - 0x814], ax
je 0x4772c0
push 0
jmp 0x4772c2
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x81c]
xor esi, esi
mov dword [ebp - 0x7c8], eax
xor eax, eax
cmp ax, dx
jge 0x47731b
mov eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x784]
dec eax
mov dword [ebp - 0x7d4], eax
xor eax, eax
movzx edx, dx
nop dword [eax + eax]
cmp eax, dword [ebp - 0x7d4]
jne 0x477310
add esi, dword [ebp - 0x854]
jmp 0x477312
add esi, dword [ecx]
inc eax
add ecx, 4
sub edx, 1
jne 0x477300
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ed]
movzx eax, byte [edx + 0x7ec]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7eb]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
cmp word [ebp - 0x834], 0x40
mov edx, dword [ebp - 0x814]
jne 0x4774ff
mov eax, dword [ebp - 0x790]
mov ecx, 0x306b
sub eax, edi
add eax, dword [ebp - 0x89c]
mov dword [ebp - 0x790], eax
cmp dx, cx
je 0x47738d
mov ecx, dword [ebp - 0x90c]
cmp eax, ecx
jge 0x4773a0
mov eax, ecx
jmp 0x47739a
cmp eax, dword [ebp - 0x950]
cmovl eax, dword [ebp - 0x950]
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x788]
cmp byte [ecx + 0x6fa], 0
je 0x47760f
push dword [ebp - 0x784]
movd xmm2, dword [ebp - 0x7e4]
push dword [ebp - 0x7cc]
movd xmm1, dword [ebp - 0x824]
push dword [ebp - 0x7f4]
cvtdq2pd xmm2, xmm2
push dword [ebp - 0x7f8]
mulsd xmm2, qword [ecx + 0x700]
mov ecx, 0x306b
push 4
cvtdq2pd xmm1, xmm1
push eax
divsd xmm2, qword [ebp - 0x868]
cmp dx, cx
je 0x477447
mov eax, dword [ebp - 0x870]
sub eax, dword [ebp - 0x840]
mulsd xmm1, qword [ebp - 0x9f0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si eax, xmm0
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x790]
add eax, esi
add eax, edi
mov dword [ebp - 0x90c], eax
jmp 0x47748c
mov eax, dword [ebp - 0x7e4]
add eax, dword [ebp - 0x870]
mulsd xmm1, qword [ebp - 0x938]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm2
subsd xmm0, xmm1
cvttsd2si eax, xmm0
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x790]
add eax, esi
add eax, edi
mov dword [ebp - 0x950], eax
mov edx, dword [ebp - 0x788]
mov edi, dword [ebp - 0x770]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push edi
call dword [ebp - 0x85c]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
movsd xmm2, qword [ebp - 0x7b8]
mov edx, 1
mov esi, dword [ebp - 0x77c]
xor cl, cl
mov dword [ebp - 0x79c], edx
mov byte [ebp - 0x771], cl
jmp 0x4828ad
mov ecx, dword [ebp - 0x790]
mov eax, 0x306b
sub ecx, edi
add ecx, dword [ebp - 0x870]
mov dword [ebp - 0x790], ecx
cmp dx, ax
je 0x47752b
mov eax, dword [ebp - 0x90c]
cmp ecx, eax
jge 0x47753e
mov ecx, eax
jmp 0x477538
cmp ecx, dword [ebp - 0x950]
cmovl ecx, dword [ebp - 0x950]
mov dword [ebp - 0x790], ecx
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x6fa], 0
je 0x47760f
movd xmm1, dword [ebp - 0x7e4]
push dword [ebp - 0x784]
movd xmm2, dword [ebp - 0x824]
push dword [ebp - 0x7cc]
cvtdq2pd xmm1, xmm1
push dword [ebp - 0x7f4]
mulsd xmm1, qword [eax + 0x700]
mov eax, 0x306b
push dword [ebp - 0x7f8]
cvtdq2pd xmm2, xmm2
push 4
divsd xmm1, qword [ebp - 0x868]
mulsd xmm2, qword [ebp - 0x938]
cmp dx, ax
je 0x4775e8
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x89c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
subsd xmm0, xmm2
cvttsd2si eax, xmm0
push eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x790]
add eax, esi
add eax, edi
mov dword [ebp - 0x90c], eax
jmp 0x47748c
mov eax, dword [ebp - 0x89c]
sub eax, dword [ebp - 0x7e4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
push eax
push ecx
jmp 0x477470
mov eax, 0x306b
cmp dx, ax
je 0x47747c
mov eax, dword [ebp - 0x790]
add eax, esi
add eax, edi
mov dword [ebp - 0x90c], eax
jmp 0x47748c
mov edx, eax
mov eax, dword [ebp - 0x780]
cmp ax, 9
jl 0x4776f4
mov eax, 0xff3b
cmp di, ax
mov eax, dword [ebp - 0x780]
jne 0x4776f4
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x4776f4
mov ecx, 0x5de6
cmp word [edx + 4], cx
jne 0x4776f4
mov edi, 0x306b
cmp word [edx + 6], di
movzx edi, word [edx]
jne 0x4776f4
mov eax, 0x30eb
cmp word [edx + 8], ax
mov eax, dword [ebp - 0x780]
jne 0x4776f4
mov esi, 0x30d3
cmp word [edx + 0xa], si
jne 0x4776f4
mov eax, 0x4ed8
cmp word [edx + 0xc], ax
mov eax, dword [ebp - 0x780]
jne 0x4776f4
mov ecx, 0x304d
cmp word [edx + 0xe], cx
jne 0x4776f4
mov ecx, 0xff3d
cmp word [edx + 0x10], cx
mov ecx, dword [ebp - 0x778]
jne 0x4776f4
movsd xmm2, qword [ebp - 0x7b8]
mov dl, 1
mov esi, dword [ebp - 0x77c]
xor cl, cl
mov dword [ebp - 0x79c], edx
mov byte [ebp - 0x771], cl
jmp 0x4828a7
cmp ax, 0x10
jl 0x477fb3
mov ecx, 0xff3b
cmp di, cx
jne 0x477fb3
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x477fb3
mov eax, 0x5de6
cmp word [edx + 4], ax
mov eax, dword [ebp - 0x780]
jne 0x477fb3
mov esi, 0x306b
cmp word [edx + 6], si
jne 0x477fb3
mov edi, 0x300c
cmp word [edx + 8], di
movzx edi, word [edx]
jne 0x477fb3
cwde
mov ecx, 0x300d
cmp word [edx + eax*2 - 0x14], cx
jne 0x477fb3
mov edi, 0x306e
cmp word [edx + eax*2 - 0x12], di
movzx edi, word [edx]
jne 0x477fb3
mov ecx, 0x30eb
cmp word [edx + eax*2 - 0x10], cx
jne 0x477fb3
mov esi, 0x30d3
cmp word [edx + eax*2 - 0xe], si
jne 0x477fb3
mov esi, 0x4ed8
cmp word [edx + eax*2 - 0xc], si
jne 0x477fb3
mov esi, 0x304d
cmp word [edx + eax*2 - 0xa], si
jne 0x477fb3
mov ecx, 0x7d42
cmp word [edx + eax*2 - 8], cx
mov ecx, dword [ebp - 0x778]
jne 0x477fb3
mov edi, 0x308f
cmp word [edx + eax*2 - 6], di
movzx edi, word [edx]
jne 0x477fb3
mov esi, 0x308a
cmp word [edx + eax*2 - 4], si
jne 0x477fb3
mov esi, 0xff3d
cmp word [edx + eax*2 - 2], si
mov esi, dword [ebp - 0x770]
jne 0x477fb3
mov edx, dword [ebp - 0x780]
movzx eax, dx
xor edx, edx
add eax, 0xfffffff1
mov dword [ebp - 0x844], edx
movzx edi, ax
xor eax, eax
mov dword [ebp - 0x7f4], edi
cmp ax, word [ebp - 0x7fc]
jge 0x477856
mov ecx, dword [ebp - 0x7fc]
mov eax, dword [ebp - 0x820]
movzx ecx, cx
nop dword [eax + eax]
add edx, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x477840
mov ecx, dword [ebp - 0x778]
mov dword [ebp - 0x844], edx
cmp word [ebp - 0x834], 0x40
jne 0x4779f5
cmp byte [ebp - 0x805], 0
je 0x4779f5
mov eax, dword [ecx + 0xc]
push dword [eax + 0x1b8]
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
mov esi, 1
xor eax, eax
mov dword [ebp - 0x7b0], 0
cmp ax, di
jge 0x4779e0
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7bc]
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x7f4]
movzx eax, ax
mov dword [ebp - 0x854], eax
mov ax, word [ebp - 0x7b0]
mov word [ebp - 0x7ae], ax
movzx eax, word [edi]
mov ecx, 0x3033
cmp ax, cx
je 0x477935
mov ecx, 0x3035
cmp ax, cx
je 0x477935
mov ecx, 0x3034
cmp ax, cx
je 0x477935
mov ecx, 0x200b
cmp ax, cx
je 0x477935
movsx eax, si
sub eax, 1
je 0x47792e
sub eax, 1
je 0x477969
mov eax, dword [ebp - 0x778]
mov esi, 1
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
jmp 0x477969
mov esi, 2
jmp 0x477969
movsx eax, si
sub eax, 0xb
je 0x477964
sub eax, 1
je 0x477969
mov eax, dword [ebp - 0x778]
mov esi, 0xb
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
jmp 0x477969
mov esi, 0xc
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
lea eax, [edi + 0xa]
push 0
push 0
push 1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x7f0]
add edi, 2
mov dx, word [ebp - 0x7ae]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x7d4]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [ebp - 0x7f0]
mov dword [ebp - 0x7d4], ecx
add dx, word [eax]
sub dword [ebp - 0x854], 1
mov word [ebp - 0x7ae], dx
jne 0x4778d0
mov edi, dword [ebp - 0x7f4]
movsx ecx, dx
mov dword [ebp - 0x6a8], ecx
jmp 0x477a69
mov dx, word [ebp - 0x7b0]
movsx ecx, dx
mov dword [ebp - 0x6a8], ecx
jmp 0x477a69
mov eax, dword [ecx + 0xc]
push dword [eax + 0x1b8]
push esi
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
movsx eax, di
push 0
push 0
push eax
push dword [ebp - 0x978]
push esi
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x7f0]
mov esi, dword [ebp - 0x784]
mov eax, dword [edx]
mov dword [esi], eax
mov eax, 1
cmp ax, di
jge 0x477a63
lea eax, [edi - 1]
sub esi, edx
lea ecx, [edx + 4]
movzx edx, ax
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [esi + ecx - 4], eax
sub edx, 1
jne 0x477a52
mov ecx, dword [ebp - 0x6a8]
mov eax, dword [ebp - 0x784]
mov edx, dword [ebp - 0x844]
movsx esi, di
mov dword [ebp - 0x8f4], esi
mov edi, dword [eax + esi*4 - 4]
mov eax, dword [ebp - 0x788]
mov al, byte [eax + 0x6fd]
cmp al, 2
jge 0x477afe
cmp edx, ecx
jle 0x477af7
cmp byte [ebp - 0x805], 0
jne 0x477af7
mov eax, dword [ebp - 0x7f4]
sub edx, ecx
mov ecx, dword [ebp - 0x7c4]
push 1
push 0
push edx
push eax
push dword [ebp - 0x784]
push dword [ebp - 0x978]
call fcn.004867e0
cmp word [ebp - 0x7f4], 2
jg 0x477b7f
mov ecx, dword [ebp - 0x784]
mov eax, 0x99999999
imul dword [ecx]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x790], eax
jmp 0x477b89
cmp al, 1
jmp 0x477b6c
cmp edx, ecx
jle 0x477b6a
cmp byte [ebp - 0x805], 0
jne 0x477b6a
push 1
push 0
sub edx, ecx
mov ecx, dword [ebp - 0x7c4]
push edx
push dword [ebp - 0x7f4]
push dword [ebp - 0x784]
push dword [ebp - 0x978]
call fcn.004867e0
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x6fd], 3
jne 0x477b7f
cmp word [ebp - 0x7f4], 0
jle 0x477b7f
mov eax, dword [ebp - 0x844]
sub eax, dword [ebp - 0x6a8]
cdq
idiv esi
cdq
sub eax, edx
sar eax, 1
neg eax
mov dword [ebp - 0x790], eax
jmp 0x477b89
cmp al, 3
jne 0x477b7f
sub ecx, edx
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x790], eax
jmp 0x477b89
mov dword [ebp - 0x790], 0
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x7f4]
mov dword [ebp - 0x7c8], eax
xor eax, eax
mov dword [ebp - 0x7cc], 0
cmp ax, dx
jge 0x477bed
mov ecx, dword [ebp - 0x784]
dec esi
mov dword [ebp - 0x7d4], esi
movzx edx, dx
cmp eax, esi
jne 0x477bd0
add dword [ebp - 0x7cc], edi
jmp 0x477bde
mov esi, dword [ebp - 0x7cc]
add esi, dword [ecx]
mov dword [ebp - 0x7cc], esi
mov esi, dword [ebp - 0x7d4]
inc eax
add ecx, 4
sub edx, 1
jne 0x477bc4
mov edx, dword [ebp - 0x788]
mov edi, dword [ebp - 0x770]
movzx ecx, byte [edx + 0x7ed]
movzx eax, byte [edx + 0x7ec]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7eb]
shl ecx, 8
or ecx, eax
push ecx
push edi
call dword [ebp - 0x85c]
cmp word [ebp - 0x834], 0x40
jne 0x477f0f
mov esi, dword [ebp - 0x89c]
sub esi, dword [ebp - 0x790]
cmp esi, dword [ebp - 0x90c]
mov eax, dword [ebp - 0x788]
cmovl esi, dword [ebp - 0x90c]
mov dword [ebp - 0x854], esi
cmp byte [eax + 0x6fa], 0
je 0x477e58
cmp byte [ebp - 0x805], 0
je 0x477e97
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push edi
call dword [ebp - 0x78c]
mov edx, dword [ebp - 0x7f4]
xor eax, eax
mov dword [ebp - 0x7b0], 0
mov edi, 1
cmp ax, dx
jge 0x477e52
movd xmm0, dword [ebp - 0x824]
mov esi, dword [ebp - 0x870]
mov ecx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x7bc]
sub esi, dword [ebp - 0x840]
cvtdq2pd xmm0, xmm0
movzx edx, dx
mov dword [ebp - 0x7d4], edx
mov dx, word [ebp - 0x7b0]
mov dword [ebp - 0x844], ecx
mov dword [ebp - 0x814], eax
mov word [ebp - 0x7ae], dx
mulsd xmm0, qword [ebp - 0x9f0]
movsd qword [ebp - 0x890], xmm0
nop word [eax + eax]
movzx eax, word [eax]
mov edx, 0x3033
cmp ax, dx
je 0x477d6b
mov edx, 0x3035
cmp ax, dx
je 0x477d6b
mov edx, 0x3034
cmp ax, dx
je 0x477d6b
mov edx, 0x200b
cmp ax, dx
je 0x477d6b
movsx eax, di
sub eax, 1
je 0x477d64
sub eax, 1
je 0x477da5
mov eax, dword [ebp - 0x778]
mov edi, 1
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x844]
jmp 0x477da5
mov edi, 2
jmp 0x477da5
movsx eax, di
sub eax, 0xb
je 0x477da0
sub eax, 1
je 0x477da5
mov eax, dword [ebp - 0x778]
mov edi, 0xb
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x844]
jmp 0x477da5
mov edi, 0xc
mov eax, dword [ebp - 0x814]
movd xmm0, dword [ebp - 0x7e4]
add eax, 0xa
push ecx
push 1
push eax
push dword [ebp - 0x7f8]
mov ax, word [ebp - 0x7ae]
cwde
add eax, dword [ebp - 0x854]
cvtdq2pd xmm0, xmm0
push 4
push eax
mov eax, dword [ebp - 0x788]
movd xmm1, esi
mulsd xmm0, qword [eax + 0x700]
cvtdq2pd xmm1, xmm1
divsd xmm0, qword [ebp - 0x868]
addsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x890]
cvttsd2si eax, xmm0
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x844]
mov ax, word [ebp - 0x7ae]
add ax, word [ecx]
add ecx, 4
mov word [ebp - 0x7ae], ax
mov eax, dword [ebp - 0x814]
add eax, 2
mov dword [ebp - 0x844], ecx
sub dword [ebp - 0x7d4], 1
mov dword [ebp - 0x814], eax
jne 0x477d00
mov esi, dword [ebp - 0x854]
mov edi, dword [ebp - 0x770]
mov eax, dword [ebp - 0x7cc]
add eax, esi
add eax, dword [ebp - 0x790]
mov dword [ebp - 0x90c], eax
mov eax, dword [ebp - 0x788]
movzx ecx, byte [eax + 0x7ea]
movzx eax, byte [eax + 0x7e9]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x788]
movzx eax, byte [eax + 0x7e8]
jmp 0x476c47
movd xmm1, dword [ebp - 0x7e4]
cvtdq2pd xmm1, xmm1
push dword [ebp - 0x784]
mulsd xmm1, qword [eax + 0x700]
mov eax, dword [ebp - 0x870]
sub eax, dword [ebp - 0x840]
push dword [ebp - 0x8f4]
divsd xmm1, qword [ebp - 0x868]
push dword [ebp - 0x978]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push dword [ebp - 0x7f8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
push esi
mulsd xmm0, qword [ebp - 0x9f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push edi
call dword [ebp - 0x800]
jmp 0x477e58
mov esi, dword [ebp - 0x870]
sub esi, dword [ebp - 0x790]
cmp esi, dword [ebp - 0x90c]
mov ecx, dword [ebp - 0x788]
cmovl esi, dword [ebp - 0x90c]
cmp byte [ecx + 0x6fa], 0
je 0x477e58
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x89c]
push dword [ebp - 0x784]
mulsd xmm0, qword [ecx + 0x700]
push dword [ebp - 0x8f4]
movd xmm1, eax
push dword [ebp - 0x978]
divsd xmm0, qword [ebp - 0x868]
cvtdq2pd xmm1, xmm1
push dword [ebp - 0x7f8]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
mulsd xmm0, qword [ebp - 0x938]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push esi
push edi
call dword [ebp - 0x800]
jmp 0x477e58
mov esi, dword [ebp - 0x780]
cmp si, 7
jl 0x478024
mov eax, 0xff3b
cmp di, ax
jne 0x478024
mov eax, 0xff03
cmp word [edx + 2], ax
lea eax, [edx + 4]
jne 0x478027
mov esi, 0x6ce8
cmp word [eax], si
mov esi, dword [ebp - 0x780]
jne 0x478027
mov edi, 0x8a18
cmp word [edx + 6], di
movzx edi, word [edx]
jne 0x478024
mov eax, 0x4ed8
cmp word [edx + 8], ax
jne 0x478024
mov ecx, 0x304d
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x778]
jne 0x478024
mov eax, 0xff3d
cmp word [edx + 0xc], ax
je 0x4776d1
lea eax, [edx + 4]
cmp si, 0xe
jl 0x478635
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x780]
jne 0x478635
mov ecx, 0xff03
cmp word [edx + 2], cx
jne 0x478635
mov edi, 0x300c
cmp word [eax], di
movzx edi, word [edx]
jne 0x478635
movsx eax, si
mov ecx, 0x300d
cmp word [edx + eax*2 - 0x14], cx
jne 0x478635
mov ecx, 0x306e
cmp word [edx + eax*2 - 0x12], cx
jne 0x478635
mov edi, 0x6ce8
cmp word [edx + eax*2 - 0x10], di
movzx edi, word [edx]
jne 0x478635
mov ecx, 0x8a18
cmp word [edx + eax*2 - 0xe], cx
jne 0x478635
mov esi, 0x4ed8
cmp word [edx + eax*2 - 0xc], si
mov esi, dword [ebp - 0x780]
jne 0x478635
mov edi, 0x304d
cmp word [edx + eax*2 - 0xa], di
movzx edi, word [edx]
jne 0x478635
mov ecx, 0x7d42
cmp word [edx + eax*2 - 8], cx
jne 0x478635
mov esi, 0x308f
cmp word [edx + eax*2 - 6], si
mov esi, dword [ebp - 0x780]
jne 0x478635
mov esi, 0x308a
cmp word [edx + eax*2 - 4], si
mov esi, dword [ebp - 0x780]
jne 0x478635
mov edi, 0xff3d
cmp word [edx + eax*2 - 2], di
movzx edi, word [edx]
jne 0x478635
lea eax, [esi - 0xb]
xor ecx, ecx
movzx esi, ax
test si, si
js 0x47816f
mov edi, 0x300d
movsx eax, si
test cx, cx
jne 0x47814d
mov edi, 0x300c
cmp word [edx + eax*2], di
mov edi, 0x300d
je 0x47816f
movzx eax, word [edx + eax*2]
cmp ax, di
jne 0x478159
inc ecx
jmp 0x478169
mov edi, 0x300c
cmp ax, di
mov edi, 0x300d
jne 0x478169
dec ecx
dec esi
test si, si
jns 0x478135
mov ecx, dword [ebp - 0x780]
mov edx, 2
sub ecx, esi
lea eax, [ecx - 0xb]
movzx edi, ax
movsx eax, cx
xor ecx, ecx
sub eax, 0xa
mov dword [ebp - 0x7d4], edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
add esp, 4
mov dword [ebp - 0x7cc], eax
movsx ecx, si
mov edx, edi
push 1
push eax
mov eax, dword [ebp - 0x7bc]
add eax, 2
lea ecx, [eax + ecx*2]
call fcn.0040c7c0
mov ecx, dword [ebp - 0x7fc]
add esp, 8
movzx edi, ax
xor esi, esi
xor eax, eax
mov dword [ebp - 0x7b0], edi
cmp ax, cx
jge 0x4781ef
mov eax, dword [ebp - 0x820]
movzx ecx, cx
add esi, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x4781e5
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
lea ecx, [ebp - 0x6a8]
mov dword [ebp - 0x7c0], eax
movsx eax, word [ebp - 0x7b0]
push ecx
push dword [ebp - 0x7f0]
mov dword [ebp - 0x7f4], eax
push 0
push 0
push eax
push dword [ebp - 0x7cc]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x784]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, 1
cmp ax, word [ebp - 0x7b0]
jge 0x478291
mov edi, dword [ebp - 0x784]
lea ecx, [edx + 4]
mov eax, dword [ebp - 0x7b0]
sub edi, edx
dec eax
movzx edx, ax
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [ecx + edi - 4], eax
sub edx, 1
jne 0x478274
mov edi, dword [ebp - 0x7b0]
mov ecx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x7f4]
mov eax, dword [ecx + eax*4 - 4]
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x788]
mov dl, byte [eax + 0x6fd]
cmp dl, 2
jge 0x478323
mov eax, dword [ebp - 0x6a8]
cmp esi, eax
jle 0x47830c
cmp byte [ebp - 0x805], 0
jne 0x47830c
push 1
push 0
sub esi, eax
push esi
push edi
push ecx
push dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x7c4]
call fcn.004867e0
cmp word [ebp - 0x7d4], 2
jg 0x4783c4
mov ecx, dword [ebp - 0x784]
mov eax, 0x99999999
imul dword [ecx]
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
jmp 0x4783c6
cmp dl, 1
jne 0x4783c4
sub eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x4783c6
mov ecx, dword [ebp - 0x6a8]
cmp esi, ecx
jle 0x4783b2
cmp byte [ebp - 0x805], 0
jne 0x4783b2
push 1
push 0
mov eax, esi
sub eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
push edi
push dword [ebp - 0x784]
push dword [ebp - 0x7cc]
call fcn.004867e0
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x6fd], 3
jne 0x4783c4
cmp word [ebp - 0x7b0], 0
jle 0x4783c4
sub esi, dword [ebp - 0x6a8]
mov eax, esi
cdq
idiv dword [ebp - 0x7f4]
push 8
push dword [ebp - 0x770]
cdq
sub eax, edx
sar eax, 1
neg eax
mov dword [ebp - 0x790], eax
mov dword [ebp - 0x7d4], eax
call dword [ebp - 0x7a8]
mov dword [ebp - 0x7c8], eax
xor edi, edi
jmp 0x4783f3
cmp dl, 3
jne 0x4783c4
sub ecx, esi
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x4783c6
xor esi, esi
push 8
push dword [ebp - 0x770]
mov dword [ebp - 0x790], esi
mov dword [ebp - 0x7d4], esi
call dword [ebp - 0x7a8]
mov dword [ebp - 0x7c8], eax
xor edi, edi
xor eax, eax
cmp ax, word [ebp - 0x7b0]
jge 0x478427
mov esi, dword [ebp - 0x7f4]
mov ecx, dword [ebp - 0x784]
dec esi
movzx edx, word [ebp - 0x7b0]
xor eax, eax
nop dword [eax]
cmp eax, esi
jne 0x47841c
add edi, dword [ebp - 0x854]
jmp 0x47841e
add edi, dword [ecx]
inc eax
add ecx, 4
sub edx, 1
jne 0x478410
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ed]
movzx eax, byte [edx + 0x7ec]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7eb]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
cmp word [ebp - 0x834], 0x40
mov edx, dword [ebp - 0x788]
jne 0x478502
mov esi, dword [ebp - 0x89c]
sub esi, dword [ebp - 0x7d4]
cmp esi, dword [ebp - 0x950]
cmovl esi, dword [ebp - 0x950]
cmp byte [edx + 0x6fa], 0
je 0x4785a4
mov ecx, dword [ebp - 0x7e4]
mov eax, dword [ebp - 0x870]
push dword [ebp - 0x784]
add eax, ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
push dword [ebp - 0x7f4]
mulsd xmm0, qword [edx + 0x700]
push dword [ebp - 0x7cc]
movd xmm1, eax
push dword [ebp - 0x7f8]
divsd xmm0, qword [ebp - 0x868]
push 4
push esi
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
jmp 0x478592
mov esi, dword [ebp - 0x870]
sub esi, dword [ebp - 0x790]
cmp esi, dword [ebp - 0x950]
cmovl esi, dword [ebp - 0x950]
cmp byte [edx + 0x6fa], 0
je 0x4785a4
mov ecx, dword [ebp - 0x7e4]
mov eax, dword [ebp - 0x89c]
push dword [ebp - 0x784]
sub eax, ecx
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
push dword [ebp - 0x7f4]
mulsd xmm1, qword [edx + 0x700]
push dword [ebp - 0x7cc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x868]
push dword [ebp - 0x7f8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
mulsd xmm0, qword [ebp - 0x938]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push esi
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov edx, dword [ebp - 0x788]
lea eax, [esi + edi]
add eax, dword [ebp - 0x790]
mov dword [ebp - 0x950], eax
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
mov edi, dword [ebp - 0x770]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push edi
call dword [ebp - 0x85c]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7cc]
mov byte [ebp - 0x79c], 1
mov byte [ebp - 0x771], 0
call fcn.00560853
mov cl, byte [ebp - 0x771]
add esp, 4
mov edx, dword [ebp - 0x79c]
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x77c]
jmp 0x4828ad
cmp si, 9
jl 0x4786c8
mov eax, 0xff3b
cmp di, ax
jne 0x4786c8
mov eax, 0xff03
cmp word [edx + 2], ax
lea eax, [edx + 6]
jne 0x4786cb
mov esi, 0x5de6
cmp word [edx + 4], si
mov esi, dword [ebp - 0x780]
jne 0x4786cb
mov edi, 0x306b
cmp word [eax], di
movzx edi, word [edx]
jne 0x4786cb
mov ecx, 0x6ce8
cmp word [edx + 8], cx
jne 0x4786cb
mov eax, 0x8a18
cmp word [edx + 0xa], ax
lea eax, [edx + 6]
jne 0x4786cb
mov ecx, 0x4ed8
cmp word [edx + 0xc], cx
jne 0x4786cb
mov esi, 0x304d
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x780]
jne 0x4786cb
mov ecx, 0xff3d
cmp word [edx + 0x10], cx
mov ecx, dword [ebp - 0x778]
jne 0x4786cb
jmp 0x4776d1
lea eax, [edx + 6]
cmp si, 0x10
jl 0x478c81
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x780]
jne 0x478c81
mov ecx, 0xff03
cmp word [edx + 2], cx
jne 0x478c81
mov esi, 0x5de6
cmp word [edx + 4], si
mov esi, dword [ebp - 0x780]
jne 0x478c81
mov edi, 0x306b
cmp word [eax], di
movzx edi, word [edx]
jne 0x478c81
mov eax, 0x300c
cmp word [edx + 8], ax
jne 0x478c81
movsx eax, si
mov ecx, 0x300d
cmp word [edx + eax*2 - 0x14], cx
jne 0x478c81
mov esi, 0x306e
cmp word [edx + eax*2 - 0x12], si
mov esi, dword [ebp - 0x780]
jne 0x478c81
mov ecx, 0x6ce8
cmp word [edx + eax*2 - 0x10], cx
jne 0x478c81
mov edi, 0x8a18
cmp word [edx + eax*2 - 0xe], di
movzx edi, word [edx]
jne 0x478c81
mov edi, 0x4ed8
cmp word [edx + eax*2 - 0xc], di
movzx edi, word [edx]
jne 0x478c81
mov edi, 0x304d
cmp word [edx + eax*2 - 0xa], di
movzx edi, word [edx]
jne 0x478c81
mov esi, 0x7d42
cmp word [edx + eax*2 - 8], si
mov esi, dword [ebp - 0x780]
jne 0x478c81
mov ecx, 0x308f
cmp word [edx + eax*2 - 6], cx
jne 0x478c81
mov edi, 0x308a
cmp word [edx + eax*2 - 4], di
movzx edi, word [edx]
jne 0x478c81
mov edi, 0xff3d
cmp word [edx + eax*2 - 2], di
movzx edi, word [edx]
jne 0x478c81
lea eax, [esi - 0xb]
xor ecx, ecx
movzx esi, ax
test si, si
js 0x47883a
mov edi, 0x300d
nop dword [eax]
movsx eax, si
test cx, cx
jne 0x478818
mov edi, 0x300c
cmp word [edx + eax*2], di
mov edi, 0x300d
je 0x47883a
movzx eax, word [edx + eax*2]
cmp ax, di
jne 0x478824
inc ecx
jmp 0x478834
mov edi, 0x300c
cmp ax, di
mov edi, 0x300d
jne 0x478834
dec ecx
dec esi
test si, si
jns 0x478800
mov ecx, dword [ebp - 0x780]
mov edx, 2
sub ecx, esi
lea eax, [ecx - 0xb]
movzx edi, ax
movsx eax, cx
xor ecx, ecx
sub eax, 0xa
mov dword [ebp - 0x7d4], edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
add esp, 4
mov dword [ebp - 0x7cc], eax
movsx ecx, si
mov edx, edi
push 1
push eax
mov eax, dword [ebp - 0x7bc]
add eax, 2
lea ecx, [eax + ecx*2]
call fcn.0040c7c0
mov ecx, dword [ebp - 0x7fc]
add esp, 8
movzx edi, ax
xor esi, esi
xor eax, eax
mov dword [ebp - 0x7b0], edi
cmp ax, cx
jge 0x4788ba
mov eax, dword [ebp - 0x820]
movzx ecx, cx
add esi, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x4788b0
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
lea ecx, [ebp - 0x6a8]
mov dword [ebp - 0x7c0], eax
movsx eax, word [ebp - 0x7b0]
push ecx
push dword [ebp - 0x7f0]
mov dword [ebp - 0x7f4], eax
push 0
push 0
push eax
push dword [ebp - 0x7cc]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x784]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, 1
cmp ax, word [ebp - 0x7b0]
jge 0x47895d
mov edi, dword [ebp - 0x784]
lea ecx, [edx + 4]
mov eax, dword [ebp - 0x7b0]
sub edi, edx
dec eax
movzx edx, ax
nop
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [ecx + edi - 4], eax
sub edx, 1
jne 0x478940
mov edi, dword [ebp - 0x7b0]
mov ecx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x7f4]
mov eax, dword [ecx + eax*4 - 4]
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x788]
mov dl, byte [eax + 0x6fd]
cmp dl, 2
jge 0x4789ef
mov eax, dword [ebp - 0x6a8]
cmp esi, eax
jle 0x4789d8
cmp byte [ebp - 0x805], 0
jne 0x4789d8
push 1
push 0
sub esi, eax
push esi
push edi
push ecx
push dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x7c4]
call fcn.004867e0
cmp word [ebp - 0x7d4], 2
jg 0x478a90
mov ecx, dword [ebp - 0x784]
mov eax, 0x99999999
imul dword [ecx]
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
jmp 0x478a92
cmp dl, 1
jne 0x478a90
sub eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x478a92
mov ecx, dword [ebp - 0x6a8]
cmp esi, ecx
jle 0x478a7e
cmp byte [ebp - 0x805], 0
jne 0x478a7e
push 1
push 0
mov eax, esi
sub eax, ecx
mov ecx, dword [ebp - 0x7c4]
push eax
push edi
push dword [ebp - 0x784]
push dword [ebp - 0x7cc]
call fcn.004867e0
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x6fd], 3
jne 0x478a90
cmp word [ebp - 0x7b0], 0
jle 0x478a90
sub esi, dword [ebp - 0x6a8]
mov eax, esi
cdq
idiv dword [ebp - 0x7f4]
push 0
push dword [ebp - 0x770]
cdq
sub eax, edx
sar eax, 1
neg eax
mov dword [ebp - 0x790], eax
mov dword [ebp - 0x7d4], eax
call dword [ebp - 0x7a8]
mov dword [ebp - 0x7c8], eax
xor edi, edi
jmp 0x478abf
cmp dl, 3
jne 0x478a90
sub ecx, esi
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x478a92
xor esi, esi
push 0
push dword [ebp - 0x770]
mov dword [ebp - 0x790], esi
mov dword [ebp - 0x7d4], esi
call dword [ebp - 0x7a8]
mov dword [ebp - 0x7c8], eax
xor edi, edi
xor eax, eax
cmp ax, word [ebp - 0x7b0]
jge 0x478aec
mov esi, dword [ebp - 0x7f4]
mov ecx, dword [ebp - 0x784]
dec esi
movzx edx, word [ebp - 0x7b0]
xor eax, eax
cmp eax, esi
jne 0x478ae1
add edi, dword [ebp - 0x854]
jmp 0x478ae3
add edi, dword [ecx]
inc eax
add ecx, 4
sub edx, 1
jne 0x478ad5
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ed]
movzx eax, byte [edx + 0x7ec]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7eb]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
cmp word [ebp - 0x834], 0x40
mov edx, dword [ebp - 0x788]
jne 0x478bc9
mov esi, dword [ebp - 0x89c]
sub esi, dword [ebp - 0x7d4]
cmp esi, dword [ebp - 0x90c]
cmovl esi, dword [ebp - 0x90c]
cmp byte [edx + 0x6fa], 0
je 0x478c6d
movd xmm1, dword [ebp - 0x7e4]
cvtdq2pd xmm1, xmm1
mov eax, dword [ebp - 0x870]
sub eax, dword [ebp - 0x840]
push dword [ebp - 0x784]
mulsd xmm1, qword [edx + 0x700]
push dword [ebp - 0x7f4]
movd xmm0, eax
push dword [ebp - 0x7cc]
divsd xmm1, qword [ebp - 0x868]
cvtdq2pd xmm0, xmm0
push dword [ebp - 0x7f8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
push esi
mulsd xmm0, qword [ebp - 0x9f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
jmp 0x478c5b
mov esi, dword [ebp - 0x870]
sub esi, dword [ebp - 0x790]
cmp esi, dword [ebp - 0x90c]
cmovl esi, dword [ebp - 0x90c]
cmp byte [edx + 0x6fa], 0
je 0x478c6d
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x89c]
push dword [ebp - 0x784]
mulsd xmm0, qword [edx + 0x700]
push dword [ebp - 0x7f4]
movd xmm1, eax
push dword [ebp - 0x7cc]
divsd xmm0, qword [ebp - 0x868]
cvtdq2pd xmm1, xmm1
push dword [ebp - 0x7f8]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
mulsd xmm0, qword [ebp - 0x938]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push esi
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov edx, dword [ebp - 0x788]
lea eax, [esi + edi]
add eax, dword [ebp - 0x790]
mov dword [ebp - 0x90c], eax
jmp 0x4785b3
cmp si, 0xe
jl 0x4793b8
mov eax, 0xff3b
cmp di, ax
jne 0x4793b8
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4793b8
lea eax, [edx + 4]
mov ecx, 0x300c
cmp word [eax], cx
jne 0x4793be
mov eax, dword [ebp - 0x7bc]
mov edi, 0x300d
movsx edx, si
cmp word [eax + edx*2 - 4], di
movzx edi, word [eax]
jne 0x4793b8
mov ecx, 0xff3d
cmp word [eax + edx*2 - 2], cx
jne 0x4793b8
xor esi, esi
mov dword [ebp - 0x790], esi
cmp edx, 8
jle 0x478d6c
xor ecx, ecx
mov edi, eax
nop word [eax + eax]
mov eax, 0x300d
cmp word [edi + ecx*2 + 6], ax
jne 0x478d55
mov eax, 0x306f
cmp word [edi + ecx*2 + 8], ax
jne 0x478d55
mov esi, 0x5e95
cmp word [edi + ecx*2 + 0xa], si
mov esi, dword [ebp - 0x790]
jne 0x478d55
mov eax, 0x672c
cmp word [edi + ecx*2 + 0xc], ax
mov eax, dword [ebp - 0xa58]
jne 0x478d55
mov esi, 0x3067
cmp word [edi + ecx*2 + 0xe], si
mov esi, dword [ebp - 0x790]
jne 0x478d55
cmp word [edi + ecx*2 + 0x10], ax
je 0x478d66
inc esi
movsx ecx, si
mov dword [ebp - 0x790], esi
lea eax, [ecx + 8]
cmp eax, edx
jl 0x478d00
mov edi, dword [ebp - 0x854]
mov eax, dword [ebp - 0x780]
add eax, 0xfffffffd
movzx edx, ax
movsx eax, dx
lea ecx, [eax - 6]
test ecx, ecx
js 0x478dee
mov edi, dword [ebp - 0x7bc]
mov esi, 0x300d
cmp word [edi + ecx*2], si
jne 0x478dd7
mov ecx, 0x306f
cmp word [edi + eax*2 - 0xa], cx
jne 0x478dd7
mov esi, 0x5e95
cmp word [edi + eax*2 - 8], si
lea esi, [ecx - 0x62]
jne 0x478dd7
mov esi, 0x672c
cmp word [edi + eax*2 - 6], si
lea esi, [ecx - 0x62]
jne 0x478dd7
mov esi, 0x3067
cmp word [edi + eax*2 - 4], si
lea esi, [ecx - 0x62]
jne 0x478dd7
cmp word [edi + eax*2 - 2], cx
je 0x478de2
dec edx
movsx eax, dx
lea ecx, [eax - 6]
test ecx, ecx
jns 0x478d91
mov esi, dword [ebp - 0x790]
mov edi, dword [ebp - 0x854]
movsx ecx, si
add ecx, 9
movsx eax, dx
cmp eax, ecx
jne 0x4793b2
mov eax, dword [ebp - 0x788]
cmp byte [eax + 0x862], 0
jne 0x4793b2
mov eax, dword [ebp - 0x780]
dec esi
sub eax, edx
mov dword [ebp - 0x790], esi
movzx edi, ax
mov ecx, 0xff3d
add eax, 0xfffffffd
mov dword [ebp - 0x814], edi
movzx eax, ax
mov dword [ebp - 0x854], eax
lea eax, [edx + 1]
mov edx, dword [ebp - 0x7bc]
movzx eax, ax
mov dword [ebp - 0x7d4], eax
movsx eax, si
cmp word [edx + eax*2 + 6], cx
jne 0x478ea2
lea eax, [esi + 2]
movzx eax, ax
test ax, ax
jle 0x478ea2
movsx ecx, ax
mov edi, 0xff3b
cmp word [edx + ecx*2], di
mov edi, dword [ebp - 0x814]
jne 0x478e8e
mov edi, 0xff03
cmp word [edx + ecx*2 + 2], di
mov edi, dword [ebp - 0x814]
jne 0x478e8e
cmp ax, 3
jg 0x478e96
dec eax
test ax, ax
jg 0x478e62
jmp 0x478ea2
add eax, 0xfffffffc
movzx esi, ax
mov dword [ebp - 0x790], esi
mov eax, dword [ebp - 0x7fc]
dec eax
movzx ecx, si
movzx esi, ax
mov ax, si
mov dword [ebp - 0x7b0], esi
test ax, ax
js 0x47654b
cmp word [ebp - 0x790], 0
movzx edx, ax
mov dword [ebp - 0x8f4], edx
jl 0x478f0e
mov edx, ecx
movzx ecx, dx
test ax, ax
js 0x478f08
mov edi, dword [ebp - 0x87c]
cwde
mov ax, word [edi + eax*2]
mov edi, dword [ebp - 0x7bc]
cmp ax, word [edi + ecx*2 + 6]
jne 0x478f08
dec esi
dec edx
mov dword [ebp - 0x7b0], esi
test dx, dx
js 0x478f08
mov ax, si
jmp 0x478ed6
mov edi, dword [ebp - 0x814]
xor ecx, ecx
movsx eax, di
add eax, 4
inc esi
mov edx, 2
mov dword [ebp - 0x7b0], esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov ecx, dword [ebp - 0x780]
mov edx, eax
mov edi, dword [ebp - 0x7bc]
add esp, 4
movsx eax, cx
mov ecx, dword [ebp - 0x7d4]
movsx ecx, cx
mov dword [ebp - 0x7cc], edx
movzx esi, word [edi + eax*2 - 4]
mov eax, 0x300d
cmp si, ax
lea ecx, [edi + ecx*2]
sete al
movzx eax, al
push eax
push edx
mov edx, dword [ebp - 0x854]
call fcn.0040cca0
movzx edx, ax
xor edi, edi
mov dword [ebp - 0x7f4], edx
xor esi, esi
mov dx, word [ebp - 0x7b0]
xor eax, eax
add esp, 8
mov dword [ebp - 0x790], edi
mov dword [ebp - 0x814], esi
cmp ax, dx
jge 0x478fc0
mov eax, dword [ebp - 0x820]
movzx ecx, dx
nop word [eax + eax]
add edi, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x478fb0
mov dword [ebp - 0x790], edi
mov eax, dword [ebp - 0x8f4]
cwde
movzx ecx, dx
lea edi, [eax + 1]
movsx eax, dx
mov edx, edi
sub edx, eax
cmp eax, edi
jge 0x479048
cmp edx, 8
jb 0x479048
and edx, reloc.OLEAUT32.dll_VariantInit
jns 0x478ff2
dec edx
or edx, 0xfffffff8
inc edx
mov esi, edi
xorps xmm1, xmm1
sub esi, edx
xorps xmm2, xmm2
mov edx, dword [ebp - 0x820]
movups xmm0, xmmword [edx + eax*4]
movsx eax, cx
add ecx, 8
paddd xmm1, xmm0
movups xmm0, xmmword [edx + eax*4 + 0x10]
movsx eax, cx
paddd xmm2, xmm0
cmp eax, esi
jl 0x479002
paddd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
mov dword [ebp - 0x814], esi
jmp 0x47904e
mov edx, dword [ebp - 0x820]
movsx eax, cx
cmp eax, edi
jge 0x479066
add esi, dword [edx + eax*4]
inc ecx
movsx eax, cx
cmp eax, edi
jl 0x479055
mov dword [ebp - 0x814], esi
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x7f4]
lea ecx, [ebp - 0x6a8]
mov esi, dword [ebp - 0x7cc]
push ecx
push dword [ebp - 0x7f0]
mov dword [ebp - 0x7c0], eax
push 0
push 0
movsx eax, di
push eax
push esi
push dword [ebp - 0x770]
mov dword [ebp - 0x844], eax
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ebp - 0x784]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, 1
cmp ax, di
jge 0x479101
mov eax, ecx
mov esi, edx
sub esi, eax
lea ecx, [eax + 4]
lea eax, [edi - 1]
movzx edx, ax
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [ecx + esi - 4], eax
sub edx, 1
jne 0x4790e4
mov esi, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x784]
mov eax, dword [ebp - 0x844]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x788]
mov cl, byte [eax + 0x6fd]
cmp cl, 2
jge 0x4791ae
mov eax, dword [ebp - 0x6a8]
mov edx, dword [ebp - 0x814]
cmp edx, eax
jle 0x47919e
cmp byte [ebp - 0x805], 0
jne 0x47919e
mov ecx, dword [ebp - 0x7c4]
sub edx, eax
push 1
push 0
push edx
push edi
push dword [ebp - 0x784]
push esi
call fcn.004867e0
cmp di, 2
jg 0x47917f
mov ecx, dword [ebp - 0x784]
mov eax, 0x99999999
imul dword [ecx]
sar edx, 1
mov edi, edx
shr edi, 0x1f
add edi, edx
jmp 0x4791b0
xor edi, edi
push edi
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x7f4]
xor esi, esi
mov dword [ebp - 0x7c8], eax
jmp 0x4791d3
cmp cl, 1
jne 0x4791ae
sub eax, edx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
jmp 0x4791b0
xor edi, edi
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x7f4]
xor esi, esi
mov dword [ebp - 0x7c8], eax
xor eax, eax
cmp ax, dx
jge 0x47920b
mov eax, dword [ebp - 0x844]
mov ecx, dword [ebp - 0x784]
dec eax
mov dword [ebp - 0x7d4], eax
xor eax, eax
movzx edx, dx
nop dword [eax + eax]
cmp eax, dword [ebp - 0x7d4]
jne 0x479200
add esi, dword [ebp - 0x854]
jmp 0x479202
add esi, dword [ecx]
inc eax
add ecx, 4
sub edx, 1
jne 0x4791f0
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ed]
movzx eax, byte [edx + 0x7ec]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7eb]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
cmp word [ebp - 0x834], 0x40
mov edx, dword [ebp - 0x788]
jne 0x4792f0
mov ecx, dword [ebp - 0x790]
sub ecx, edi
add ecx, dword [ebp - 0x89c]
cmp ecx, dword [ebp - 0x90c]
cmovl ecx, dword [ebp - 0x90c]
cmp byte [edx + 0x6fa], 0
mov dword [ebp - 0x790], ecx
je 0x4793a2
movd xmm1, dword [ebp - 0x7e4]
cvtdq2pd xmm1, xmm1
mov eax, dword [ebp - 0x870]
sub eax, dword [ebp - 0x840]
push dword [ebp - 0x784]
mulsd xmm1, qword [edx + 0x700]
push dword [ebp - 0x844]
movd xmm0, eax
push dword [ebp - 0x7cc]
divsd xmm1, qword [ebp - 0x868]
cvtdq2pd xmm0, xmm0
push dword [ebp - 0x7f8]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
push ecx
mulsd xmm0, qword [ebp - 0x9f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
jmp 0x47938a
mov ecx, dword [ebp - 0x870]
sub ecx, edi
add ecx, dword [ebp - 0x790]
cmp ecx, dword [ebp - 0x90c]
cmovl ecx, dword [ebp - 0x90c]
cmp byte [edx + 0x6fa], 0
mov dword [ebp - 0x790], ecx
je 0x4793a2
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x89c]
push dword [ebp - 0x784]
mulsd xmm0, qword [edx + 0x700]
push dword [ebp - 0x844]
movd xmm1, eax
push dword [ebp - 0x7cc]
divsd xmm0, qword [ebp - 0x868]
cvtdq2pd xmm1, xmm1
push dword [ebp - 0x7f8]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
push 4
mulsd xmm0, qword [ebp - 0x938]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov edx, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x790]
lea eax, [ecx + esi]
add eax, edi
mov dword [ebp - 0x90c], eax
jmp 0x4785b3
mov esi, dword [ebp - 0x780]
mov eax, dword [ebp - 0x91c]
cmp dword [ebp - 0x7d0], 0
je 0x47ae7a
cmp word [ebp - 0x834], 0x40
jne 0x479bf2
cmp si, 0xa
jl 0x479bf2
mov edx, 0xff3b
cmp di, dx
mov edx, dword [ebp - 0x7bc]
jne 0x479bf8
mov ecx, 0xff03
cmp word [edx + 2], cx
jne 0x479bf8
mov edi, 0x300c
cmp word [eax], di
movzx edi, word [edx]
jne 0x479bf8
movsx esi, si
mov ecx, 0x300d
cmp word [edx + esi*2 - 0xc], cx
jne 0x479bf8
mov edi, 0x306f
cmp word [edx + esi*2 - 0xa], di
movzx edi, word [edx]
jne 0x479bf8
mov edi, 0x7e26
cmp word [edx + esi*2 - 8], di
movzx edi, word [edx]
jne 0x479bf8
mov ecx, 0x4e2d
cmp word [edx + esi*2 - 6], cx
jne 0x479bf8
mov ecx, 0x6a2a
cmp word [edx + esi*2 - 4], cx
jne 0x479bf8
mov edi, 0xff3d
cmp word [edx + esi*2 - 2], di
movzx edi, word [edx]
jne 0x479bf8
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x778]
mov edx, dword [eax + 0xc]
test cl, 0xc0
jne 0x479545
mov eax, ecx
and eax, 0xa00
cmp eax, 0xa00
mov eax, ecx
jne 0x4794c2
shr eax, 0x1c
mov dword [ebp - 0x828], eax
push dword [edx + eax*4 + 0x2bc]
jmp 0x47954b
and eax, 0x1200
cmp eax, 0x1200
jne 0x4794e5
mov eax, ecx
shr eax, 0x1c
mov dword [ebp - 0x828], eax
push dword [edx + eax*4 + 0x30c]
jmp 0x47954b
test ecx, 0x800
je 0x479501
mov eax, ecx
shr eax, 0x1c
mov dword [ebp - 0x828], eax
push dword [edx + eax*4 + 0x26c]
jmp 0x47954b
test ecx, 0x1000
je 0x47951d
mov eax, ecx
shr eax, 0x1c
mov dword [ebp - 0x828], eax
push dword [edx + eax*4 + 0x294]
jmp 0x47954b
test ecx, 0x200
je 0x47952d
push dword [edx + 0x1d8]
jmp 0x47954b
test ecx, 0x400
je 0x47953d
push dword [edx + 0x1dc]
jmp 0x47954b
push dword [edx + 0x1c8]
jmp 0x47954b
push dword [edx + 0x1d4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea edi, [esi - 9]
mov esi, dword [ebp - 0x7f0]
lea eax, [ebp - 0x6a8]
push eax
push esi
push 0
push 0
push edi
push dword [ebp - 0x898]
mov dword [ebp - 0x7cc], edi
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x784]
mov edx, 1
mov eax, dword [esi]
lea esi, [edi - 1]
mov dword [ecx], eax
cmp edi, edx
jle 0x479695
cmp esi, 0x10
jb 0x479695
movsx eax, si
shl eax, 2
lea edi, [ecx + eax]
mov ecx, dword [ebp - 0x7f0]
add ecx, eax
mov eax, dword [ebp - 0x784]
add eax, 4
cmp eax, ecx
ja 0x4795da
mov eax, dword [ebp - 0x7f0]
cmp edi, eax
jae 0x4796aa
and esi, 0x8000000f
jns 0x4795e7
dec esi
or esi, 0xfffffff0
inc esi
mov edi, dword [ebp - 0x7cc]
mov eax, edx
sub edi, esi
mov esi, 9
mov dword [ebp - 0x854], edi
nop dword [eax]
mov edi, dword [ebp - 0x7f0]
add edx, 0x10
movzx ecx, si
mov dword [ebp - 0x7d4], ecx
movups xmm0, xmmword [edi + eax*4 - 4]
movups xmm1, xmmword [edi + eax*4]
mov edi, dword [ebp - 0x784]
psubd xmm1, xmm0
movups xmmword [edi + eax*4], xmm1
movsx eax, cx
mov ecx, dword [ebp - 0x7f0]
movups xmm0, xmmword [ecx + eax*4 - 0x14]
movups xmm1, xmmword [ecx + eax*4 - 0x10]
psubd xmm1, xmm0
movups xmmword [edi + eax*4 - 0x10], xmm1
movsx eax, si
add esi, 0x10
movups xmm0, xmmword [ecx + eax*4 - 4]
movups xmm1, xmmword [ecx + eax*4]
mov ecx, dword [ebp - 0x7d4]
psubd xmm1, xmm0
movups xmmword [edi + eax*4], xmm1
movsx eax, cx
mov ecx, dword [ebp - 0x7f0]
movups xmm1, xmmword [ecx + eax*4 + 0x10]
movups xmm0, xmmword [ecx + eax*4 + 0xc]
mov ecx, edi
psubd xmm1, xmm0
movups xmmword [ecx + eax*4 + 0x10], xmm1
movsx eax, dx
cmp eax, dword [ebp - 0x854]
jl 0x479600
mov edi, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x7f0]
movsx ecx, dx
cmp ecx, edi
jge 0x4796d0
mov esi, dword [ebp - 0x784]
jmp 0x4796b4
mov edi, dword [ebp - 0x7cc]
jmp 0x47969b
mov eax, edi
mov edi, dword [ebp - 0x7f0]
inc edx
mov eax, dword [eax + ecx*4]
sub eax, dword [edi + ecx*4 - 4]
mov dword [esi + ecx*4], eax
movsx ecx, dx
cmp ecx, dword [ebp - 0x7cc]
jl 0x4796b2
mov eax, dword [ebp - 0x77c]
mov eax, dword [eax]
mov dword [ebp - 0x7d4], eax
test al, 0x40
je 0x4796fc
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0xb8c]
add eax, dword [ecx + 0xb88]
jmp 0x479759
test al, al
jns 0x47974d
mov eax, dword [ebp - 0x778]
mov esi, dword [ebp - 0x6a8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0xb8c]
add eax, dword [ecx + 0xb88]
mov ecx, dword [ebp - 0x7ec]
cdq
sub eax, edx
mov edi, eax
mov eax, esi
cdq
sub eax, edx
sar edi, 1
sar eax, 1
sub edi, eax
mov eax, dword [ebp - 0x7e0]
sub edi, dword [ecx]
sub edi, dword [ebp - 0x81c]
add edi, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x7a4], edi
jmp 0x479797
mov eax, dword [ebp - 0x81c]
sub eax, dword [ebp - 0x838]
mov esi, dword [ebp - 0x6a8]
cdq
sub eax, edx
mov ecx, eax
mov eax, esi
cdq
sub eax, edx
sar ecx, 1
mov edx, dword [ebp - 0x7e0]
sar eax, 1
neg eax
sub eax, ecx
mov ecx, dword [ebp - 0x7ec]
sub eax, dword [ecx]
sub eax, dword [ebp - 0x838]
add eax, dword [edx + 8]
mov dword [ebp - 0x7a4], eax
mov eax, dword [edx + 4]
mov edi, dword [ebp - 0x7a4]
sub eax, dword [ecx + 4]
add eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x7d4]
mov dword [ebp - 0x6b4], eax
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x778]
mov edx, dword [eax + 0xc]
test cl, 0xc0
jne 0x479837
mov eax, ecx
and eax, 0xa00
cmp eax, 0xa00
jne 0x4797e4
mov eax, dword [ebp - 0x828]
mov eax, dword [edx + eax*4 + 0xae8]
jmp 0x47983d
mov eax, ecx
and eax, 0x1200
cmp eax, 0x1200
jne 0x479801
mov eax, dword [ebp - 0x828]
mov eax, dword [edx + eax*4 + 0xb60]
jmp 0x47983d
test ecx, 0x800
je 0x479818
mov eax, dword [ebp - 0x828]
mov eax, dword [edx + eax*4 + 0xb10]
jmp 0x47983d
test ecx, 0x1000
je 0x47982f
mov eax, dword [ebp - 0x828]
mov eax, dword [edx + eax*4 + 0xb38]
jmp 0x47983d
mov eax, dword [edx + 0xae0]
jmp 0x47983d
mov eax, dword [edx + 0xae4]
add eax, dword [ebp - 0x7a0]
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x6ac], eax
lea eax, [esi + edi]
mov dword [ebp - 0x6b8], edi
mov dword [ebp - 0x6b0], eax
test ecx, ecx
je 0x47992f
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
nop dword [eax]
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x479929
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x4798ac
cmp edx, eax
je 0x4798a8
cmp dword [edx + 8], eax
jne 0x4798ac
mov al, 1
jmp 0x4798ae
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x479929
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x479880
mov edi, dword [ebp - 0x7a4]
mov esi, dword [ebp - 0x770]
push 0
push esi
call dword [ebp - 0x7a8]
push dword [ebp - 0x784]
mov ecx, dword [ebp - 0x780]
mov dword [ebp - 0x7c8], eax
movsx eax, cx
add eax, 0xfffffff7
push eax
push dword [ebp - 0x898]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push edi
push esi
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x778]
mov edx, dword [eax + 0xc]
test cl, 0xc0
jne 0x479a06
mov eax, ecx
and eax, 0xa00
cmp eax, 0xa00
jne 0x4799ad
mov eax, dword [ebp - 0x828]
mov eax, dword [edx + eax*4 + 0xae8]
jmp 0x479a0c
mov eax, ecx
and eax, 0x1200
cmp eax, 0x1200
jne 0x4799ca
mov eax, dword [ebp - 0x828]
mov eax, dword [edx + eax*4 + 0xb60]
jmp 0x479a0c
test ecx, 0x800
je 0x4799e1
mov eax, dword [ebp - 0x828]
mov eax, dword [edx + eax*4 + 0xb10]
jmp 0x479a0c
test ecx, 0x1000
mov ecx, dword [edx + 0xa80]
je 0x4799fe
mov eax, dword [ebp - 0x828]
mov eax, dword [edx + eax*4 + 0xb38]
jmp 0x479a12
mov eax, dword [edx + 0xae0]
jmp 0x479a12
mov eax, dword [edx + 0xae4]
mov ecx, dword [edx + 0xa80]
movd xmm1, ecx
add eax, ecx
add dword [ebp - 0x798], eax
cvtdq2pd xmm1, xmm1
push dword [ebp - 0x7c8]
mulsd xmm1, qword [ebp - 0x7b8]
push esi
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm0, xmm1
movsd qword [ebp - 0x830], xmm0
movsd qword [ebp - 0x810], xmm0
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
cmp byte [ebp - 0x79c], 0
je 0x479ab7
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0x7f4]
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x870], ecx
xor ecx, ecx
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x7fc], ecx
mov byte [ebp - 0x79c], cl
mov byte [ebp - 0x771], cl
jmp 0x479abd
mov ecx, dword [ebp - 0x7fc]
xor edx, edx
movzx edi, cx
mov dword [ebp - 0x7d4], edi
mov byte [ebp - 0x839], 0
cmp dword [ebp - 0x7cc], edx
jle 0x479b17
xor eax, eax
movsx esi, cx
nop dword [eax]
mov edi, dword [ebp - 0x7bc]
lea ecx, [esi + eax]
inc edx
mov ax, word [edi + eax*2 + 6]
mov edi, dword [ebp - 0x87c]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x820]
mov dword [eax + ecx*4], 0
movsx eax, dx
cmp eax, dword [ebp - 0x7cc]
jl 0x479ae0
mov edi, dword [ebp - 0x7d4]
mov eax, dword [ebp - 0x77c]
movsx esi, di
mov ecx, dword [eax]
mov eax, dword [ebp - 0x778]
mov edx, dword [eax + 0xc]
test cl, 0xc0
jne 0x479bae
mov eax, ecx
and eax, 0xa00
cmp eax, 0xa00
jne 0x479b54
mov eax, dword [ebp - 0x828]
mov ecx, dword [edx + eax*4 + 0xae8]
jmp 0x479bb4
mov eax, ecx
and eax, 0x1200
cmp eax, 0x1200
jne 0x479b71
mov eax, dword [ebp - 0x828]
mov ecx, dword [edx + eax*4 + 0xb60]
jmp 0x479bb4
test ecx, 0x800
je 0x479b88
mov eax, dword [ebp - 0x828]
mov ecx, dword [edx + eax*4 + 0xb10]
jmp 0x479bb4
lea eax, [esi*4]
test ecx, 0x1000
je 0x479ba6
mov ecx, dword [ebp - 0x828]
mov ecx, dword [edx + ecx*4 + 0xb38]
jmp 0x479bbb
mov ecx, dword [edx + 0xae0]
jmp 0x479bbb
mov ecx, dword [edx + 0xae4]
lea eax, [esi*4]
mov edx, dword [ebp - 0x820]
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
mov dword [edx + eax], ecx
mov ecx, dword [ebp - 0x7fc]
add ecx, 0xfffffff7
add ecx, dword [ebp - 0x780]
mov dword [ebp - 0x7fc], ecx
jmp 0x48288d
mov edx, dword [ebp - 0x7bc]
mov esi, dword [ebp - 0x780]
cmp si, 9
jl 0x479c80
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x780]
jne 0x479c80
mov ecx, 0xff03
cmp word [edx + 2], cx
jne 0x479c80
mov ecx, 0x300c
cmp word [eax], cx
jne 0x479c80
movsx eax, si
mov edi, 0x300d
cmp word [edx + eax*2 - 0xa], di
movzx edi, word [edx]
jne 0x479c80
mov esi, 0x306f
cmp word [edx + eax*2 - 8], si
mov esi, dword [ebp - 0x780]
jne 0x479c80
mov ecx, 0x592a
cmp word [edx + eax*2 - 6], cx
jne 0x479c80
mov edi, 0x5b57
cmp word [edx + eax*2 - 4], di
movzx edi, word [edx]
jne 0x479c80
mov ecx, 0xff3d
cmp word [edx + eax*2 - 2], cx
je 0x479d45
cmp si, 0xc
jl 0x479d8f
mov eax, 0xff3b
cmp di, ax
jne 0x479d8f
mov eax, 0xff03
cmp word [edx + 2], ax
lea eax, [edx + 4]
jne 0x479d92
mov edi, 0x300c
cmp word [eax], di
movzx edi, word [edx]
jne 0x479d92
movsx eax, si
mov ecx, 0x300d
cmp word [edx + eax*2 - 0x10], cx
jne 0x479d8f
mov edi, 0x306f
cmp word [edx + eax*2 - 0xe], di
movzx edi, word [edx]
jne 0x479d8f
mov edi, 0x30b4
cmp word [edx + eax*2 - 0xc], di
movzx edi, word [edx]
jne 0x479d8f
mov esi, 0x30b7
cmp word [edx + eax*2 - 0xa], si
mov esi, dword [ebp - 0x780]
jne 0x479d8f
mov ecx, 0x30c3
cmp word [edx + eax*2 - 8], cx
jne 0x479d8f
mov edi, 0x30af
cmp word [edx + eax*2 - 6], di
movzx edi, word [edx]
jne 0x479d8f
mov ecx, 0x4f53
cmp word [edx + eax*2 - 4], cx
jne 0x479d8f
mov ecx, 0xff3d
cmp word [edx + eax*2 - 2], cx
jne 0x479d8f
mov esi, dword [ebp - 0x77c]
movsd xmm2, qword [ebp - 0x7b8]
mov edi, dword [ebp - 0x770]
mov cl, byte [ebp - 0x771]
test byte [esi], 0x20
mov edx, dword [ebp - 0x79c]
jne 0x479d83
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
jmp 0x4828ad
mov byte [ebp - 0x92d], 1
jmp 0x4828ad
lea eax, [edx + 4]
cmp si, 9
jl 0x47ae80
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x780]
jne 0x47ae80
mov ecx, 0xff03
cmp word [edx + 2], cx
jne 0x47ae80
mov ecx, 0x300c
cmp word [eax], cx
mov ecx, dword [ebp - 0x778]
jne 0x47ae80
movsx esi, si
mov eax, 0x300d
cmp word [edx + esi*2 - 0xa], ax
jne 0x47ae7a
mov eax, 0x306f
cmp word [edx + esi*2 - 8], ax
jne 0x47ae7a
mov eax, 0x659c
cmp word [edx + esi*2 - 6], ax
jne 0x47ae7a
mov eax, 0x4f53
cmp word [edx + esi*2 - 4], ax
jne 0x47ae7a
mov eax, 0xff3d
cmp word [edx + esi*2 - 2], ax
jne 0x47ae7a
mov eax, dword [ebp - 0x77c]
test byte [eax], 0x20
jne 0x47ae64
cmp word [ebp - 0x894], 0
jne 0x479f29
mov eax, dword [ebp - 0x92c]
test eax, eax
je 0x479f29
movsd xmm0, qword [ebp - 0xa08]
sub esp, 0x10
mov edi, dword [ebp - 0x770]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0xa10]
movsd qword [esp], xmm0
push dword [ebx + 0x54]
push dword [ebp - 0x910]
push ecx
push eax
push 0x16
push dword [ebp - 0x980]
lea eax, [ebp - 0x6e4]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x99c]
push dword [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6f0]
push eax
lea eax, [ebp - 0x6ec]
push eax
push dword [ebp - 0x788]
push dword [ebp - 0x874]
push dword [ebp - 0x7f8]
push dword [ebp - 0x7ec]
push dword [ebp - 0x948]
push dword [ebp - 0x84c]
push dword [ebp - 0x7e0]
push edi
call fcn.004690e0
mov cl, byte [ebp - 0x771]
mov edx, dword [ebp - 0x79c]
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x92c], 0
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
jmp 0x4828ad
mov eax, dword [ecx + 0xc]
mov byte [ebp - 0x839], 0
push dword [eax + 0x1d0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea edi, [esi - 8]
mov esi, dword [ebp - 0x7f0]
lea eax, [ebp - 0x6a8]
push eax
push esi
push 0
push 0
push edi
push dword [ebp - 0x898]
mov dword [ebp - 0x848], edi
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov esi, dword [esi]
movsd xmm4, qword [ebp - 0x8f0]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x784]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si ecx, xmm0
add esi, ecx
mov ecx, dword [ebp - 0x778]
mov dword [eax], esi
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47a067
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
mov ecx, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edx, 1
mov dword [ebp - 0x7d4], edx
cmp edi, edx
jle 0x47a17a
mov esi, edx
nop dword [eax]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x778]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x7f0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
sub edi, dword [eax + esi*4 - 4]
mov eax, dword [eax + esi*4]
add edi, eax
mov eax, dword [ebp - 0x784]
mov dword [eax + esi*4], edi
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47a164
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [edi + ecx]
mov ecx, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mov dword [edx + esi*4], eax
mov edx, dword [ebp - 0x7d4]
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
inc edx
movsx esi, dx
mov dword [ebp - 0x7d4], edx
cmp esi, dword [ebp - 0x848]
jl 0x47a080
cmp word [ebp - 0x834], 0x40
jne 0x47a2e2
mov eax, dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x7ec]
mov edi, dword [eax + 8]
mov eax, edi
mov ecx, dword [edx]
sub eax, ecx
mov esi, dword [edx + 4]
mov dword [ebp - 0x7d4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x7f4]
sub eax, dword [ebp - 0x838]
sub edi, dword [ebp - 0x7d4]
sub edi, dword [ebp - 0x81c]
mov dword [ebp - 0x7a4], ecx
mov ecx, dword [ebp - 0x7e0]
mov edx, dword [ecx + 4]
mov ecx, edx
mov dword [ebp - 0x6b0], eax
sub ecx, esi
mov eax, dword [ebp - 0x7e0]
sub edx, esi
add ecx, dword [ebp - 0x798]
mov dword [ebp - 0x6b8], edi
mov dword [ebp - 0x7a0], ecx
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x7ac]
sub eax, esi
sub eax, dword [ebp - 0x968]
mov dword [ebp - 0x6ac], eax
mov dword [ebp - 0x6b4], edx
test ecx, ecx
je 0x47a42a
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
nop
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47a42a
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47a25c
cmp edx, eax
je 0x47a258
cmp dword [edx + 8], eax
jne 0x47a25c
mov al, 1
jmp 0x47a25e
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00487220
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47a42a
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47a230
jmp 0x47a42a
mov edx, dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x798]
mov edi, dword [edx]
mov esi, dword [ecx]
sub edi, esi
mov edx, dword [edx + 4]
add eax, edi
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x7a4], eax
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x7d4], edi
mov edi, dword [ebp - 0x7f4]
sub edx, ecx
add edx, dword [ebp - 0x81c]
add edi, eax
add eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x6ac], edx
mov dword [ebp - 0x7a0], edi
mov edi, dword [ebp - 0x7d4]
mov eax, dword [eax + 8]
sub eax, esi
mov dword [ebp - 0x6b8], edi
sub eax, dword [ebp - 0x968]
mov dword [ebp - 0x6b0], eax
test ecx, ecx
je 0x47a42a
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47a42a
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47a3ad
cmp edx, eax
je 0x47a3a9
cmp dword [edx + 8], eax
jne 0x47a3ad
mov al, 1
jmp 0x47a3af
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47a42a
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47a381
push dword [ebp - 0x784]
mov eax, dword [ebp - 0x780]
mov edi, dword [ebp - 0x770]
movsx esi, ax
add esi, 0xfffffff8
push esi
push dword [ebp - 0x898]
mov dword [ebp - 0x7cc], esi
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push edi
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x7d0]
push dword [ebp - 0x7c0]
push edi
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, word [ecx + 4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [ebp - 0x7b8]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
add dword [ebp - 0x798], eax
call dword [ebp - 0x78c]
cmp byte [ebp - 0x79c], 0
je 0x47a526
mov edi, dword [ebp - 0x848]
xor edx, edx
mov byte [ebp - 0x771], 1
mov byte [ebp - 0x8e7], 1
test edi, edi
jle 0x47a516
mov esi, dword [ebp - 0x7bc]
xor ecx, ecx
mov edi, dword [ebp - 0x87c]
inc edx
mov ax, word [esi + ecx*2 + 6]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x820]
mov eax, dword [eax + ecx*4]
mov dword [edi + ecx*4], eax
movsx ecx, dx
cmp ecx, dword [ebp - 0x848]
jl 0x47a4e3
mov esi, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x780]
movzx eax, cx
mov ecx, eax
jmp 0x47a5a6
xor esi, esi
cmp dword [ebp - 0x848], esi
jle 0x47a58c
mov eax, dword [ebp - 0x7fc]
xor edx, edx
movsx edi, ax
mov dword [ebp - 0x7d4], edi
nop word [eax + eax]
mov eax, dword [ebp - 0x7bc]
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x87c]
inc esi
mov ax, word [eax + edx*2 + 6]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7d4]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x820]
mov dword [edx + ecx*4], eax
movsx edx, si
cmp edx, dword [ebp - 0x848]
jl 0x47a550
mov edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x7fc]
mov esi, dword [ebp - 0x7cc]
add eax, edx
movzx ecx, ax
movzx eax, dx
add eax, 0xfffffff8
cmp word [ebp - 0x834], 0x40
movzx eax, ax
mov dword [ebp - 0x7d4], eax
lea eax, [ecx - 8]
mov ecx, dword [ebp - 0x788]
movzx edi, ax
mov dword [ebp - 0x854], edi
mov al, byte [ecx + 0x6fb]
jne 0x47aa15
mov edx, dword [ebp - 0x77c]
test al, al
je 0x47a88a
mov eax, dword [ebp - 0x7d0]
test byte [eax + 8], 0x80
je 0x47a88a
test byte [edx], 0x20
jne 0x47a88a
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x7d0]
mov edx, edi
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x898]
mov si, word [eax + 8]
shr si, 0xb
movzx eax, si
push eax
mov dword [ebp - 0x880], eax
call fcn.0040a350
mov eax, dword [ebp - 0x7d0]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x7e4]
cmp si, 8
mov esi, dword [ebp - 0x770]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7c0], eax
movsd qword [ebp - 0x890], xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x7d8], xmm0
ja 0x47a77e
push 8
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push dword [ebp - 0x7cc]
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x890]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
add eax, dword [ebp - 0x7e4]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
subsd xmm0, qword [ebp - 0x7d8]
jmp 0x47a81a
push 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push dword [ebp - 0x7cc]
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x890]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
sub eax, dword [ebp - 0x840]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x7d8]
cvttsd2si eax, xmm0
push eax
push esi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push edi
call fcn.00560853
add esp, 4
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x854]
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x77c]
jmp 0x47a890
mov esi, dword [ebp - 0x770]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47ae22
mov eax, dword [ebp - 0x7d0]
movzx eax, word [eax + 8]
test eax, 0x100
je 0x47a96d
test byte [edx], 0x20
jne 0x47a96d
movsd xmm1, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
shr ax, 0xb
movzx edx, ax
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push ecx
mov esi, dword [ebp - 0x770]
mov dword [ebp - 0x880], edx
mulsd xmm0, qword [ecx + 0x710]
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movzx eax, ax
push eax
mov eax, dword [ebp - 0x7d0]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xa80]
imul eax, dword [ebp - 0x848]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push edx
push esi
call fcn.004ead10
mov ecx, dword [ebp - 0x788]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47ae22
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
jne 0x47ae22
mov edx, dword [ebp - 0x7d0]
mov eax, 0x400
test word [edx + 8], ax
je 0x47ae22
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push ecx
mulsd xmm0, qword [ecx + 0x710]
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x848]
movzx eax, ax
push eax
mov eax, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push dword [ebp - 0x944]
push esi
call fcn.004eb9f0
jmp 0x47ae22
mov edx, dword [ebp - 0x7d0]
test al, al
je 0x47ac9c
test byte [edx + 8], 0x80
je 0x47ac9c
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x7d0]
mov edx, edi
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x898]
mov si, word [eax + 8]
shr si, 0xb
movzx eax, si
push eax
mov dword [ebp - 0x880], eax
call fcn.0040a350
mov eax, dword [ebp - 0x7d0]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x7e4]
cmp si, 8
mov esi, dword [ebp - 0x770]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7c0], eax
movsd qword [ebp - 0x890], xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x7d8], xmm0
ja 0x47ab8c
push 8
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x890]
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x7c8], eax
mulsd xmm1, qword [edx + 0x708]
mov eax, dword [ebp - 0x7a0]
sub eax, dword [ebp - 0x7e4]
push ecx
push dword [ebp - 0x7cc]
divsd xmm1, qword [ebp - 0x868]
push edi
push dword [ebp - 0x7f8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push 4
addsd xmm1, xmm0
movd xmm0, dword [ecx]
addsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x868]
subsd xmm1, qword [edx + 0x278]
push eax
jmp 0x47ac0e
push 0
push esi
call dword [ebp - 0x7a8]
movsd xmm1, qword [ebp - 0x890]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x788]
mov edx, dword [ebp - 0x784]
push edx
push dword [ebp - 0x7cc]
mulsd xmm1, qword [eax + 0x708]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7a0]
push edi
push dword [ebp - 0x7f8]
divsd xmm1, qword [ebp - 0x868]
push 4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, dword [edx]
subsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x868]
push eax
mov eax, dword [ebp - 0x788]
subsd xmm1, qword [eax + 0x278]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [ebp - 0x7a4]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push esi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push edi
call fcn.00560853
add esp, 4
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x854]
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x7d0]
mov al, byte [ecx + 0x6fc]
mov esi, dword [ebp - 0x848]
test al, al
je 0x47ad62
movzx eax, word [edx + 8]
test eax, 0x100
je 0x47ad79
movsd xmm1, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
shr ax, 0xb
movzx eax, ax
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x880], eax
push ecx
mulsd xmm0, qword [ecx + 0x710]
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movzx eax, ax
push eax
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0xa80]
imul eax, esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a4]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push dword [ebp - 0x770]
call fcn.004ea430
mov ecx, dword [ebp - 0x788]
mov al, byte [ecx + 0x6fc]
movzx edx, di
mov dword [ebp - 0x7fc], edx
test al, al
je 0x47ae2b
mov edx, dword [ebp - 0x7d0]
movzx eax, di
mov dword [ebp - 0x7fc], eax
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
jne 0x47ae2b
movzx eax, di
mov dword [ebp - 0x7fc], eax
mov eax, 0x400
test word [edx + 8], ax
je 0x47ae2b
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push ecx
mulsd xmm0, qword [ecx + 0x710]
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movzx eax, ax
push eax
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0xa80]
imul eax, esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a4]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push dword [ebp - 0x944]
push dword [ebp - 0x770]
call fcn.004eb5c0
movzx eax, di
mov dword [ebp - 0x7fc], eax
mov edi, dword [ebp - 0x770]
mov cl, byte [ebp - 0x771]
mov edx, dword [ebp - 0x79c]
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
jmp 0x4828ad
movsd xmm2, qword [ebp - 0x7b8]
mov esi, eax
mov byte [ebp - 0x92e], 1
jmp 0x48289b
mov esi, dword [ebp - 0x780]
cmp word [ebp - 0x834], 0x40
jne 0x47b6cb
cmp si, 2
jne 0x47b6cb
mov esi, dword [ebp - 0x7bc]
movzx eax, word [esi + 2]
mov ecx, eax
cmp ax, word [ebp - 0xab4]
je 0x47aecc
cmp ax, word [ebp - 0xab8]
je 0x47aecc
cmp ax, word [ebp - 0xa68]
je 0x47aecc
cmp ax, word [ebp - 0xa70]
jne 0x47b6cb
mov edi, 2
mov dword [ebp - 0x7d4], edi
sub eax, 0x3099
je 0x47af02
sub eax, 1
je 0x47aefb
mov eax, ecx
mov ecx, 0x309b
cmp ax, cx
je 0x47af0b
mov ecx, 0x309c
cmp ax, cx
jne 0x47af16
jmp 0x47af0b
mov eax, 0x309c
jmp 0x47af07
mov eax, 0x309b
mov word [esi + 2], ax
mov edi, 1
mov dword [ebp - 0x7d4], edi
mov eax, dword [ebp - 0x778]
mov byte [ebp - 0x839], 0
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
push 0
push 0
push edi
push esi
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x7f0]
mov esi, dword [ebp - 0x784]
mov eax, dword [edx]
mov dword [esi], eax
cmp edi, 1
jne 0x47af7e
cdq
sub eax, edx
sar eax, 1
mov dword [esi + 4], eax
mov dword [esi], eax
jmp 0x47af86
mov eax, dword [edx + 4]
sub eax, dword [edx]
mov dword [esi + 4], eax
mov edx, dword [ebp - 0x824]
mov ecx, dword [ebp - 0x7e0]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mov ecx, dword [ecx + 8]
movsd qword [ebp - 0x890], xmm0
divsd xmm0, qword [ebp - 0xad0]
cvttsd2si eax, xmm0
sub ecx, eax
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax]
mov eax, edx
sub ecx, dword [ebp - 0x81c]
cdq
sub eax, edx
mov dword [ebp - 0x7a4], ecx
mov ecx, dword [ebp - 0x7e0]
mov esi, eax
mov eax, dword [ebp - 0x798]
sar esi, 1
sub eax, esi
mov dword [ebp - 0x854], esi
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x7ec]
mov dword [ebp - 0x798], eax
sub edx, dword [ecx + 4]
add edx, eax
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x6b4], edx
mov dword [ebp - 0x7a0], edx
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0xae0]
add eax, edx
mov edx, dword [ebp - 0x7a4]
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x6a8]
add eax, edx
mov dword [ebp - 0x6b8], edx
cmp dword [ebp - 0x7ac], 0
mov dword [ebp - 0x6b0], eax
je 0x47b0e4
mov eax, dword [ebp - 0x8e0]
mov edi, dword [ebp - 0x7ac]
cwde
lea esi, [eax + 2]
movzx ecx, word [edi + 4]
movsx eax, cx
cmp esi, eax
jle 0x47b0d2
mov eax, dword [ebp - 0x874]
test eax, eax
je 0x47b078
cmp edi, eax
je 0x47b074
cmp dword [edi + 8], eax
jne 0x47b078
mov al, 1
jmp 0x47b07a
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edi + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edi + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push 2
push dword [ebp - 0x8e0]
push dword [ebp - 0x7a0]
push edx
push dword [ebp - 0x770]
call fcn.00486de0
movsx ecx, word [edi + 4]
movsx eax, word [edi + 6]
add ecx, eax
cmp esi, ecx
jl 0x47b0d2
mov edi, dword [edi]
mov edx, dword [ebp - 0x7a4]
test edi, edi
jne 0x47b052
mov esi, dword [ebp - 0x854]
mov dword [ebp - 0x7ac], edi
mov edi, dword [ebp - 0x7d4]
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
push dword [ebp - 0x784]
mov dword [ebp - 0x7c8], eax
push edi
push dword [ebp - 0x7bc]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call dword [ebp - 0x800]
cmp edi, 1
mov edi, dword [ebp - 0x7bc]
jne 0x47b1b9
movzx eax, word [edi]
mov edx, 0x3095
xor ecx, ecx
cmp ax, dx
je 0x47b161
mov edx, 0x30f5
cmp ax, dx
je 0x47b161
mov edx, 0x3063
cmp ax, dx
je 0x47b161
mov edx, 0x31f7
cmp ax, dx
jne 0x47b173
mov eax, 0x2aaaaaab
imul dword [ebp - 0x7e4]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, dword [ebp - 0x784]
add eax, 4
push eax
push 1
lea eax, [edi + 2]
push eax
push dword [ebp - 0x7f8]
mov eax, dword [ebp - 0x7a0]
add eax, ecx
push 4
push eax
mov eax, dword [ebp - 0x7e4]
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, dword [ebp - 0x7a4]
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x778]
push dword [ebp - 0x7c8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
sub eax, esi
mov esi, dword [ebp - 0x770]
add dword [ebp - 0x798], eax
push esi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push esi
call dword [ebp - 0x78c]
cmp byte [ebp - 0x79c], 0
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x7d0], eax
je 0x47b244
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x7a0]
sub ecx, dword [ebp - 0x7f4]
mov dword [ebp - 0x89c], eax
xor eax, eax
mov dword [ebp - 0x870], ecx
mov dword [ebp - 0x7fc], eax
mov byte [ebp - 0x79c], al
mov byte [ebp - 0x771], al
jmp 0x47b24a
mov eax, dword [ebp - 0x7fc]
mov edx, dword [ebp - 0x820]
mov ecx, edi
mov esi, dword [ebp - 0x87c]
mov edi, 2
cwde
lea edx, [edx + eax*4]
mov dword [ebp - 0x7d4], edx
lea esi, [esi + eax*2]
nop word [eax + eax]
mov ax, word [ecx]
lea edx, [edx + 4]
mov word [esi], ax
lea ecx, [ecx + 2]
mov dword [edx - 4], 0
lea esi, [esi + 2]
sub edi, 1
jne 0x47b270
mov esi, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x7d4]
mov edx, dword [ebp - 0x788]
add dword [ebp - 0x7fc], 2
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0xae0]
mov dword [ecx], eax
cmp byte [edx + 0x6fb], 0
mov ecx, dword [ebp - 0x77c]
je 0x47b53e
test byte [esi + 8], 0x80
je 0x47b53e
test byte [ecx], 0x20
jne 0x47b53e
push 2
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov si, word [esi + 8]
mov edx, edi
shr si, 0xb
mov ecx, str.DUMMY
movzx eax, si
push 1
push eax
mov dword [ebp - 0x880], eax
call fcn.0040a350
mov eax, dword [ebp - 0x778]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x7e4]
cmp si, 8
mov esi, dword [ebp - 0x770]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7c0], eax
movsd qword [ebp - 0x7d8], xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x890], xmm0
ja 0x47b430
push 8
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push 1
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x7d8]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
add eax, dword [ebp - 0x7e4]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
subsd xmm0, qword [ebp - 0x890]
jmp 0x47b4c8
push 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push 1
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x7d8]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
sub eax, dword [ebp - 0x840]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x890]
cvttsd2si eax, xmm0
push eax
push esi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push edi
call fcn.00560853
mov edi, dword [ebp - 0x770]
add esp, 4
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov edx, dword [ebp - 0x788]
mov esi, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x77c]
jmp 0x47b544
mov edi, dword [ebp - 0x770]
mov al, byte [edx + 0x6fc]
test al, al
je 0x47b698
movzx eax, word [esi + 8]
test eax, 0x100
je 0x47b60b
test byte [ecx], 0x20
jne 0x47b60b
movsd xmm1, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
mov ecx, dword [esi + 0xc]
shr ax, 0xb
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
movzx eax, ax
mov dword [ebp - 0x880], eax
push edx
mulsd xmm0, qword [edx + 0x710]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, dword [ecx + 0xa80]
cvtdq2pd xmm0, xmm0
movzx eax, ax
push eax
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ecx + 0xae0]
mov ecx, dword [ebp - 0x7c4]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push edi
call fcn.004ead10
mov edx, dword [ebp - 0x788]
mov al, byte [edx + 0x6fc]
test al, al
je 0x47b698
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
jne 0x47b698
mov eax, 0x400
test word [esi + 8], ax
je 0x47b698
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
push edx
mov ecx, dword [ebp - 0x7c4]
mulsd xmm0, qword [edx + 0x710]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movzx eax, ax
push eax
mov eax, dword [esi + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push dword [ebp - 0x944]
push edi
call fcn.004eb9f0
mov cl, byte [ebp - 0x771]
mov edx, dword [ebp - 0x79c]
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
jmp 0x4828ad
mov esi, dword [ebp - 0x7d0]
mov ecx, 0xff3b
mov edx, dword [ebp - 0x7bc]
test esi, esi
je 0x47c95a
mov eax, dword [ebp - 0x780]
cmp ax, 0xf
jl 0x47c95a
cmp di, cx
jne 0x47c95a
mov ecx, 0xff03
cmp word [edx + 2], cx
lea ecx, [edx + 4]
jne 0x47c861
mov edi, 0x300c
cmp word [ecx], di
movzx edi, word [edx]
jne 0x47c861
cwde
mov esi, 0x300d
cmp word [edx + eax*2 - 0x18], si
jne 0x47b758
mov esi, 0x306f
cmp word [edx + eax*2 - 0x16], si
jne 0x47b758
mov edi, 0xff11
cmp word [edx + eax*2 - 0x14], di
movzx edi, word [edx]
jne 0x47c85b
mov esi, 0xff10
cmp word [edx + eax*2 - 0x12], si
je 0x47b77b
mov edi, 0x300d
cmp word [edx + eax*2 - 0x16], di
movzx edi, word [edx]
jne 0x47c85b
mov esi, 0x306f
cmp word [edx + eax*2 - 0x14], si
jne 0x47c85b
mov edi, 0x6bb5
cmp word [edx + eax*2 - 0x10], di
movzx edi, word [edx]
jne 0x47c85b
mov esi, 0x968e
cmp word [edx + eax*2 - 0xe], si
jne 0x47c85b
mov esi, 0x5927
cmp word [edx + eax*2 - 0xc], si
jne 0x47c85b
mov edi, 0x304d
cmp word [edx + eax*2 - 0xa], di
movzx edi, word [edx]
jne 0x47c85b
mov esi, 0x306a
cmp word [edx + eax*2 - 8], si
jne 0x47c85b
mov esi, 0x6587
cmp word [edx + eax*2 - 6], si
jne 0x47c85b
mov esi, 0x5b57
cmp word [edx + eax*2 - 4], si
jne 0x47c85b
mov esi, 0xff3d
cmp word [edx + eax*2 - 2], si
jne 0x47c85b
mov esi, dword [ebp - 0x77c]
test byte [esi], 0x20
jne 0x47c849
mov cx, word [edx + eax*2 - 0x12]
call fcn.0040d690
movzx ecx, ax
mov eax, dword [ebp - 0x780]
mov edx, ecx
cmp cx, 9
jne 0x47b830
add eax, 0xfffffff1
jmp 0x47b833
add eax, 0xfffffff2
cmp word [ebp - 0x894], 0
movzx edi, ax
mov dword [ebp - 0x790], edi
jne 0x47b914
mov eax, dword [ebp - 0x92c]
test eax, eax
je 0x47b914
test dword [esi], 0x200
je 0x47b863
add ecx, 0xa
movsd xmm0, qword [ebp - 0xa08]
sub esp, 0x10
mov edi, dword [ebp - 0x770]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0xa10]
movsd qword [esp], xmm0
push dword [ebx + 0x54]
push dword [ebp - 0x910]
push dword [ebp - 0x778]
push eax
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x7c4]
push eax
push dword [ebp - 0x980]
lea eax, [ebp - 0x6e4]
push dword [ebp - 0x99c]
push dword [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6f0]
push eax
lea eax, [ebp - 0x6ec]
push eax
push dword [ebp - 0x788]
push dword [ebp - 0x874]
push dword [ebp - 0x7f8]
push dword [ebp - 0x7ec]
push dword [ebp - 0x948]
push dword [ebp - 0x84c]
push dword [ebp - 0x7e0]
push edi
call fcn.004690e0
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x92c], 0
jmp 0x47c426
test dword [esi], 0x200
mov eax, dword [ebp - 0x778]
movsx ecx, dx
mov byte [ebp - 0x839], 0
mov dword [ebp - 0x8f4], ecx
mov eax, dword [eax + 0xc]
je 0x47b93e
push dword [eax + ecx*4 + 0x244]
jmp 0x47b945
push dword [eax + ecx*4 + 0x1f4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov esi, dword [ebp - 0x7f0]
lea ecx, [ebp - 0x6a8]
push ecx
push esi
push 0
push 0
mov dword [ebp - 0x7c0], eax
movsx eax, di
push eax
push dword [ebp - 0x898]
mov dword [ebp - 0x848], eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov esi, dword [esi]
movsd xmm4, qword [ebp - 0x8f0]
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si ecx, xmm0
add esi, ecx
mov ecx, dword [ebp - 0x784]
mov dword [ecx], esi
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47ba69
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
mov ecx, edx
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov eax, 1
cmp ax, di
jge 0x47bb72
mov edx, dword [ebp - 0x7f0]
lea eax, [edi - 1]
sub edx, ecx
movzx eax, ax
lea esi, [ecx + 4]
mov dword [ebp - 0x854], edx
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
sub edi, dword [edx + esi - 4]
add edi, dword [edx + esi]
mov dword [esi], edi
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47bb62
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
mov edx, dword [ebp - 0x854]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [edi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [esi], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
add esi, 4
sub dword [ebp - 0x7d4], 1
jne 0x47ba94
mov eax, dword [ebp - 0x8f4]
movd xmm1, dword [ebp - 0x7e4]
inc eax
cmp word [ebp - 0x834], 0x40
movd xmm3, dword [ebp - 0x840]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm3, xmm3
mulsd xmm0, qword [ebp - 0x9e8]
movaps xmm2, xmm1
movsd qword [ebp - 0x890], xmm1
addsd xmm0, xmm4
mulsd xmm3, xmm0
mulsd xmm2, xmm0
jne 0x47bd12
mov esi, dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x7ec]
mov eax, dword [esi + 8]
sub eax, dword [ecx]
sub eax, dword [ebp - 0x7f4]
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 4]
mov edi, ecx
mov dword [ebp - 0x7a4], eax
sub ecx, edx
movd xmm1, eax
sub edi, edx
cvtdq2pd xmm1, xmm1
add edi, dword [ebp - 0x798]
mov dword [ebp - 0x6b4], ecx
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7a0], edi
movaps xmm0, xmm1
addsd xmm2, xmm1
subsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [ebp - 0x6b8], eax
mov eax, dword [esi + 0xc]
sub eax, edx
sub eax, dword [ebp - 0x968]
mov dword [ebp - 0x6ac], eax
cvttsd2si eax, xmm2
mov dword [ebp - 0x6b0], eax
test ecx, ecx
je 0x47be5f
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
nop dword [eax]
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47be59
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47bc8c
cmp edx, eax
je 0x47bc88
cmp dword [edx + 8], eax
jne 0x47bc8c
mov al, 1
jmp 0x47bc8e
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00487220
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47be59
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47bc60
jmp 0x47be59
mov edi, dword [ebp - 0x7e0]
mov esi, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x798]
mov ecx, dword [edi]
mov edi, dword [edi + 4]
sub edi, dword [esi + 4]
add edi, dword [ebp - 0x7f4]
mov edx, dword [esi]
sub ecx, edx
add eax, ecx
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x7a4], eax
movd xmm1, edi
cvtdq2pd xmm1, xmm1
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7a0], edi
movaps xmm0, xmm1
subsd xmm1, xmm2
addsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x7e0]
mov eax, dword [eax + 8]
sub eax, edx
sub eax, dword [ebp - 0x968]
mov dword [ebp - 0x6b0], eax
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b4], eax
test ecx, ecx
je 0x47be5f
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
nop dword [eax]
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47be59
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47bddc
cmp edx, eax
je 0x47bdd8
cmp dword [edx + 8], eax
jne 0x47bddc
mov al, 1
jmp 0x47bdde
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47be59
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47bdb0
mov edi, dword [ebp - 0x7a0]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x848]
push esi
push dword [ebp - 0x898]
push dword [ebp - 0x7f8]
push 4
push edi
push dword [ebp - 0x7a4]
mov edi, dword [ebp - 0x770]
push edi
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x7d0]
push dword [ebp - 0x7c0]
push edi
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, word [ecx + 4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [ebp - 0x7b8]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
add dword [ebp - 0x798], eax
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x790]
xor eax, eax
cmp byte [ebp - 0x79c], al
je 0x47bf5d
mov byte [ebp - 0x771], 1
mov byte [ebp - 0x8e7], 1
cmp ax, di
jge 0x47bf4f
mov eax, dword [ebp - 0x784]
mov ecx, dword [ebp - 0x820]
sub eax, ecx
mov edx, dword [ebp - 0x87c]
mov esi, dword [ebp - 0x898]
mov dword [ebp - 0x7d4], eax
movzx edi, di
mov ax, word [esi]
lea esi, [esi + 2]
mov word [edx], ax
lea edx, [edx + 2]
mov eax, dword [ebp - 0x7d4]
lea ecx, [ecx + 4]
mov eax, dword [eax + ecx - 4]
mov dword [ecx - 4], eax
sub edi, 1
jne 0x47bf22
mov edi, dword [ebp - 0x790]
mov esi, dword [ebp - 0x848]
movzx eax, di
mov dword [ebp - 0x7fc], eax
jmp 0x47bfd5
cmp ax, di
jge 0x47bfcf
mov eax, dword [ebp - 0x7fc]
mov edx, dword [ebp - 0x820]
mov esi, dword [ebp - 0x87c]
mov ecx, dword [ebp - 0x784]
mov edi, dword [ebp - 0x898]
cwde
lea edx, [edx + eax*4]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x790]
movzx eax, ax
mov dword [ebp - 0x7d4], eax
nop word [eax + eax]
sub dword [ebp - 0x7d4], 1
lea edi, [edi + 2]
mov ax, word [edi - 2]
lea esi, [esi + 2]
mov word [esi - 2], ax
lea ecx, [ecx + 4]
mov eax, dword [ecx - 4]
lea edx, [edx + 4]
mov dword [edx - 4], eax
jne 0x47bfa0
mov edi, dword [ebp - 0x790]
mov esi, dword [ebp - 0x848]
add dword [ebp - 0x7fc], edi
cmp word [ebp - 0x834], 0x40
mov ecx, dword [ebp - 0x788]
mov al, byte [ecx + 0x6fb]
jne 0x47c453
mov edx, dword [ebp - 0x77c]
test al, al
je 0x47c2a3
mov eax, dword [ebp - 0x7d0]
test byte [eax + 8], 0x80
je 0x47c2a3
test byte [edx], 0x20
jne 0x47c2a3
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x7d0]
mov edx, edi
mov si, word [eax + 8]
mov eax, dword [ebp - 0x790]
shr si, 0xb
movzx ecx, si
push eax
mov dword [ebp - 0x880], ecx
push ecx
mov ecx, dword [ebp - 0x898]
call fcn.0040a350
mov eax, dword [ebp - 0x7d0]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x824]
mov dword [ebp - 0x7c0], eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x7d8], xmm0
cmp si, 8
ja 0x47c182
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
mov esi, dword [ebp - 0x848]
push eax
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push esi
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x708]
cvttsd2si eax, xmm1
divsd xmm0, qword [ebp - 0x868]
push eax
mov eax, dword [ebp - 0x7a4]
add eax, dword [ebp - 0x7e4]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
subsd xmm1, qword [ebp - 0x7d8]
jmp 0x47c224
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
mov esi, dword [ebp - 0x848]
push eax
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push esi
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x708]
cvttsd2si eax, xmm1
divsd xmm0, qword [ebp - 0x868]
push eax
mov eax, dword [ebp - 0x7a4]
sub eax, dword [ebp - 0x840]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
push edi
call fcn.00560853
mov edi, dword [ebp - 0x770]
add esp, 4
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x77c]
jmp 0x47c2af
mov esi, dword [ebp - 0x848]
mov edi, dword [ebp - 0x770]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47c420
mov eax, dword [ebp - 0x7d0]
movzx eax, word [eax + 8]
test eax, 0x100
je 0x47c385
test byte [edx], 0x20
jne 0x47c385
movsd xmm2, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
shr ax, 0xb
movzx edx, ax
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x710]
push ecx
mov ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x880], edx
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, esi
movzx eax, ax
push eax
mov eax, dword [ebp - 0x7d0]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push edx
push edi
call fcn.004ead10
mov ecx, dword [ebp - 0x788]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47c420
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
jne 0x47c854
mov edx, dword [ebp - 0x7d0]
mov eax, 0x400
test word [edx + 8], ax
je 0x47c420
movsd xmm0, qword [ebp - 0x890]
push ecx
mulsd xmm0, qword [ecx + 0x710]
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, esi
movzx eax, ax
push eax
mov eax, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push dword [ebp - 0x944]
push edi
call fcn.004eb9f0
mov esi, dword [ebp - 0x77c]
movsd xmm2, qword [ebp - 0x7b8]
mov cl, byte [ebp - 0x771]
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
mov edx, dword [ebp - 0x79c]
jmp 0x4828ad
mov edx, dword [ebp - 0x7d0]
test al, al
je 0x47c6de
test byte [edx + 8], 0x80
je 0x47c6de
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x7d0]
mov edx, edi
mov si, word [eax + 8]
mov eax, dword [ebp - 0x790]
shr si, 0xb
movzx ecx, si
push eax
mov dword [ebp - 0x880], ecx
push ecx
mov ecx, dword [ebp - 0x898]
call fcn.0040a350
mov eax, dword [ebp - 0x7d0]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x824]
mov dword [ebp - 0x7c0], eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x7d8], xmm0
cmp si, 8
ja 0x47c5b7
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x890]
mov ecx, dword [ebp - 0x784]
mov esi, dword [ebp - 0x848]
mulsd xmm1, qword [edx + 0x708]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x7a0]
sub eax, dword [ebp - 0x7e4]
push ecx
divsd xmm1, qword [ebp - 0x868]
push esi
push edi
push dword [ebp - 0x7f8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push 4
addsd xmm1, xmm0
movd xmm0, dword [ecx]
addsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x868]
subsd xmm1, qword [edx + 0x278]
push eax
jmp 0x47c63f
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
movsd xmm1, qword [ebp - 0x890]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x788]
mov edx, dword [ebp - 0x784]
mov esi, dword [ebp - 0x848]
push edx
mulsd xmm1, qword [eax + 0x708]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7a0]
push esi
push edi
divsd xmm1, qword [ebp - 0x868]
push dword [ebp - 0x7f8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push 4
addsd xmm1, xmm0
movd xmm0, dword [edx]
subsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x868]
push eax
mov eax, dword [ebp - 0x788]
subsd xmm1, qword [eax + 0x278]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [ebp - 0x7a4]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
push edi
call fcn.00560853
mov edi, dword [ebp - 0x770]
add esp, 4
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x7d0]
jmp 0x47c6ea
mov edi, dword [ebp - 0x770]
mov esi, dword [ebp - 0x848]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47c420
movzx eax, word [edx + 8]
test eax, 0x100
je 0x47c7af
movsd xmm1, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
shr ax, 0xb
movzx eax, ax
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x710]
mov dword [ebp - 0x880], eax
push ecx
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movzx eax, ax
push eax
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0xa80]
imul eax, esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a4]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push edi
call fcn.004ea430
mov ecx, dword [ebp - 0x788]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47c420
mov edx, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
jne 0x47c854
mov eax, 0x400
test word [edx + 8], ax
je 0x47c420
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x710]
push ecx
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, esi
movzx eax, ax
push eax
mov eax, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a4]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push dword [ebp - 0x944]
push edi
call fcn.004eb5c0
jmp 0x47c420
mov edi, dword [ebp - 0x770]
jmp 0x47c426
mov esi, eax
jmp 0x47c426
mov eax, dword [ebp - 0x780]
mov esi, 0xff03
cmp word [edx + 2], si
mov esi, dword [ebp - 0x7d0]
jne 0x47c955
mov edi, 0x300c
cmp word [ecx], di
movzx edi, word [edx]
jne 0x47c955
cwde
mov ecx, 0x300d
cmp word [edx + eax*2 - 0x18], cx
jne 0x47c8c6
mov ecx, 0x306f
cmp word [edx + eax*2 - 0x16], cx
mov ecx, 0x300d
jne 0x47c8c6
mov ecx, 0xff11
cmp word [edx + eax*2 - 0x14], cx
jne 0x47c955
mov ecx, 0xff10
cmp word [edx + eax*2 - 0x12], cx
mov ecx, 0x300d
je 0x47c8e1
cmp word [edx + eax*2 - 0x16], cx
jne 0x47c955
mov ecx, 0x306f
cmp word [edx + eax*2 - 0x14], cx
jne 0x47c955
mov ecx, 0x6bb5
cmp word [edx + eax*2 - 0x10], cx
jne 0x47c955
mov ecx, 0x968e
cmp word [edx + eax*2 - 0xe], cx
jne 0x47c955
mov ecx, 0x5c0f
cmp word [edx + eax*2 - 0xc], cx
jne 0x47c955
mov ecx, 0x3055
cmp word [edx + eax*2 - 0xa], cx
jne 0x47c955
mov ecx, 0x306a
cmp word [edx + eax*2 - 8], cx
jne 0x47c955
mov ecx, 0x6587
cmp word [edx + eax*2 - 6], cx
jne 0x47c955
movzx ecx, word [edx + eax*2 - 4]
mov edi, 0x5b57
cmp cx, di
movzx edi, word [edx]
jne 0x47c955
mov esi, 0xff3d
cmp word [edx + eax*2 - 2], si
mov esi, dword [ebp - 0x7d0]
je 0x47ca15
mov ecx, 0xff3b
mov eax, dword [ebp - 0x780]
cmp ax, 0xa
jl 0x47da9f
cmp di, cx
jne 0x47da9f
mov ecx, 0xff03
cmp word [edx + 2], cx
lea ecx, [edx + 4]
jne 0x47daa2
mov edi, 0x300c
cmp word [ecx], di
movzx edi, word [edx]
jne 0x47daa2
cwde
mov esi, 0x300d
cmp word [edx + eax*2 - 0xc], si
mov esi, dword [ebp - 0x7d0]
jne 0x47dc9a
mov edi, 0x306f
cmp word [edx + eax*2 - 0xa], di
movzx edi, word [edx]
jne 0x47dc9a
mov edi, 0x5c0f
cmp word [edx + eax*2 - 8], di
movzx edi, word [edx]
jne 0x47dc9a
mov edi, 0x66f8
cmp word [edx + eax*2 - 6], di
movzx edi, word [edx]
jne 0x47dc9a
movzx ecx, word [edx + eax*2 - 4]
mov esi, 0x304d
cmp cx, si
mov esi, dword [ebp - 0x7d0]
jne 0x47da99
mov esi, 0xff3d
cmp word [edx + eax*2 - 2], si
mov esi, dword [ebp - 0x7d0]
jne 0x47da99
mov esi, dword [ebp - 0x77c]
test byte [esi], 0x20
jne 0x47c849
mov esi, 0x304d
cmp cx, si
jne 0x47ca3e
mov eax, dword [ebp - 0x780]
mov ecx, 1
add eax, 0xfffffff7
jmp 0x47ca5f
mov cx, word [edx + eax*2 - 0x12]
call fcn.0040d690
movzx ecx, ax
mov eax, dword [ebp - 0x780]
cmp cx, 9
jne 0x47ca5c
add eax, 0xfffffff1
jmp 0x47ca5f
add eax, 0xfffffff2
cmp word [ebp - 0x894], 0
movzx esi, ax
mov dword [ebp - 0x790], esi
movzx eax, cx
jne 0x47cb48
mov edx, dword [ebp - 0x92c]
test edx, edx
je 0x47cb48
mov esi, dword [ebp - 0x77c]
test dword [esi], 0x200
je 0x47ca98
add ecx, 0xa
movsd xmm0, qword [ebp - 0xa08]
lea eax, [ebp - 0x6e4]
sub esp, 0x10
mov edi, dword [ebp - 0x770]
not ecx
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0xa10]
movsd qword [esp], xmm0
push dword [ebx + 0x54]
push dword [ebp - 0x910]
push dword [ebp - 0x778]
push edx
push ecx
push dword [ebp - 0x980]
mov ecx, dword [ebp - 0x7c4]
push dword [ebp - 0x99c]
push dword [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6f0]
push eax
lea eax, [ebp - 0x6ec]
push eax
push dword [ebp - 0x788]
push dword [ebp - 0x874]
push dword [ebp - 0x7f8]
push dword [ebp - 0x7ec]
push dword [ebp - 0x948]
push dword [ebp - 0x84c]
push dword [ebp - 0x7e0]
push edi
call fcn.004690e0
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x92c], 0
jmp 0x47c426
mov ecx, dword [ebp - 0x77c]
movsx edi, ax
mov eax, dword [ebp - 0x778]
mov byte [ebp - 0x839], 0
test dword [ecx], 0x200
mov dword [ebp - 0x854], edi
mov eax, dword [eax + 0xc]
je 0x47cb78
push dword [eax + edi*4 + 0x2e4]
jmp 0x47cb7f
push dword [eax + edi*4 + 0x21c]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
lea ecx, [ebp - 0x6a8]
mov dword [ebp - 0x7c0], eax
push ecx
movsx eax, si
mov esi, dword [ebp - 0x7f0]
push esi
push 0
push 0
push eax
push dword [ebp - 0x898]
mov dword [ebp - 0x848], eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov esi, dword [esi]
movsd xmm5, qword [ebp - 0x8f0]
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si ecx, xmm0
add esi, ecx
mov ecx, dword [ebp - 0x784]
mov dword [ecx], esi
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm5
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47cca3
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm5, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
mov ecx, edx
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov eax, dword [ebp - 0x790]
mov edx, 1
cmp dx, ax
jge 0x47cdb6
mov edx, dword [ebp - 0x7f0]
lea esi, [ecx + 4]
sub edx, ecx
dec eax
movzx eax, ax
mov dword [ebp - 0x8f4], edx
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
sub edi, dword [esi + edx - 4]
add edi, dword [esi + edx]
mov dword [esi], edi
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm5
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47cda0
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
mov edx, dword [ebp - 0x8f4]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm5, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [edi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [esi], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
add esi, 4
sub dword [ebp - 0x7d4], 1
jne 0x47ccd2
mov edi, dword [ebp - 0x854]
cmp word [ebp - 0x834], 0x40
jne 0x47cfc2
mov eax, dword [ebp - 0x7e0]
mov edi, dword [ebp - 0x7ec]
movd xmm4, dword [ebp - 0x7e4]
mov edx, dword [ebp - 0x780]
mov esi, dword [eax + 8]
sub esi, dword [edi]
mov edi, 0x304d
mov ecx, dword [ebp - 0x7bc]
sub esi, dword [ebp - 0x7f4]
cvtdq2pd xmm4, xmm4
movsx eax, dx
mov dword [ebp - 0x7a4], esi
movsd qword [ebp - 0x890], xmm4
cmp word [ecx + eax*2 - 4], di
jne 0x47ce3f
movd xmm1, dword [ebp - 0x824]
movaps xmm0, xmm4
mulsd xmm0, qword [ebp - 0xad8]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x9e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
add esi, eax
mov dword [ebp - 0x7a4], esi
mov eax, dword [ebp - 0x7e0]
movaps xmm2, xmm5
mov edi, dword [ebp - 0x7ec]
movd xmm1, dword [ebp - 0x840]
cvtdq2pd xmm1, xmm1
mov ecx, dword [eax + 4]
mov eax, ecx
mov edx, dword [edi + 4]
sub eax, edx
add eax, dword [ebp - 0x798]
sub ecx, edx
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x854]
inc eax
movd xmm3, esi
cvtdq2pd xmm3, xmm3
mov dword [ebp - 0x6b4], ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0x7e0]
mulsd xmm0, qword [ebp - 0x9e8]
subsd xmm2, xmm0
movaps xmm0, xmm3
mulsd xmm1, xmm2
mulsd xmm2, xmm4
subsd xmm0, xmm1
addsd xmm2, xmm3
cvttsd2si esi, xmm0
mov dword [ebp - 0x6b8], esi
mov eax, dword [eax + 0xc]
sub eax, edx
sub eax, dword [ebp - 0x968]
mov dword [ebp - 0x6ac], eax
cvttsd2si eax, xmm2
mov dword [ebp - 0x6b0], eax
cmp esi, eax
jne 0x47cee6
lea eax, [esi - 2]
mov dword [ebp - 0x6b8], eax
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x47d159
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
nop word [eax + eax]
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47d159
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47cf3c
cmp edx, eax
je 0x47cf38
cmp dword [edx + 8], eax
jne 0x47cf3c
mov al, 1
jmp 0x47cf3e
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00487220
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47d159
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47cf10
jmp 0x47d159
mov esi, dword [ebp - 0x7e0]
movaps xmm2, xmm5
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [esi]
mov edx, dword [eax]
sub ecx, edx
mov eax, dword [ebp - 0x798]
mov esi, dword [esi + 4]
add eax, ecx
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x7ec]
sub esi, dword [eax + 4]
lea eax, [edi + 1]
add esi, dword [ebp - 0x7f4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x7a0], esi
mov dword [ebp - 0x6b8], ecx
movd xmm1, esi
mulsd xmm0, qword [ebp - 0x9e8]
cvtdq2pd xmm1, xmm1
subsd xmm2, xmm0
movd xmm0, dword [ebp - 0x840]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si esi, xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x6ac], esi
mov eax, dword [eax + 8]
sub eax, edx
sub eax, dword [ebp - 0x968]
mov dword [ebp - 0x6b0], eax
mulsd xmm2, xmm0
movsd qword [ebp - 0x890], xmm0
subsd xmm1, xmm2
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b4], eax
cmp eax, esi
jne 0x47d08a
lea eax, [esi + 2]
mov dword [ebp - 0x6ac], eax
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x47d159
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
nop
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47d159
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47d0dc
cmp edx, eax
je 0x47d0d8
cmp dword [edx + 8], eax
jne 0x47d0dc
mov al, 1
jmp 0x47d0de
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486de0
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47d159
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47d0b0
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x848]
mov edi, dword [ebp - 0x770]
push esi
push dword [ebp - 0x898]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push edi
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x7d0]
push dword [ebp - 0x7c0]
push edi
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, word [ecx + 4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [ebp - 0x7b8]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
add dword [ebp - 0x798], eax
call dword [ebp - 0x78c]
mov edi, dword [ebp - 0x790]
xor eax, eax
cmp byte [ebp - 0x79c], al
je 0x47d25c
mov byte [ebp - 0x771], 1
mov byte [ebp - 0x8e7], 1
cmp ax, di
jge 0x47d24e
mov eax, dword [ebp - 0x784]
mov ecx, dword [ebp - 0x820]
sub eax, ecx
mov edx, dword [ebp - 0x87c]
mov esi, dword [ebp - 0x898]
mov dword [ebp - 0x7d4], eax
movzx edi, di
mov ax, word [esi]
lea esi, [esi + 2]
mov word [edx], ax
lea edx, [edx + 2]
mov eax, dword [ebp - 0x7d4]
lea ecx, [ecx + 4]
mov eax, dword [ecx + eax - 4]
mov dword [ecx - 4], eax
sub edi, 1
jne 0x47d221
mov edi, dword [ebp - 0x790]
mov esi, dword [ebp - 0x848]
movzx eax, di
mov dword [ebp - 0x7fc], eax
jmp 0x47d2d5
cmp ax, di
jge 0x47d2cf
mov eax, dword [ebp - 0x7fc]
mov edx, dword [ebp - 0x820]
mov esi, dword [ebp - 0x87c]
mov ecx, dword [ebp - 0x784]
mov edi, dword [ebp - 0x898]
cwde
lea edx, [edx + eax*4]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x790]
movzx eax, ax
mov dword [ebp - 0x7d4], eax
nop dword [eax]
sub dword [ebp - 0x7d4], 1
lea edi, [edi + 2]
mov ax, word [edi - 2]
lea esi, [esi + 2]
mov word [esi - 2], ax
lea ecx, [ecx + 4]
mov eax, dword [ecx - 4]
lea edx, [edx + 4]
mov dword [edx - 4], eax
jne 0x47d2a0
mov edi, dword [ebp - 0x790]
mov esi, dword [ebp - 0x848]
add dword [ebp - 0x7fc], edi
cmp word [ebp - 0x834], 0x40
mov ecx, dword [ebp - 0x788]
mov al, byte [ecx + 0x6fb]
jne 0x47d6ba
mov edx, dword [ebp - 0x77c]
test al, al
je 0x47d5a3
mov eax, dword [ebp - 0x7d0]
test byte [eax + 8], 0x80
je 0x47d5a3
test byte [edx], 0x20
jne 0x47d5a3
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x7d0]
mov edx, edi
mov si, word [eax + 8]
mov eax, dword [ebp - 0x790]
shr si, 0xb
movzx ecx, si
push eax
mov dword [ebp - 0x880], ecx
push ecx
mov ecx, dword [ebp - 0x898]
call fcn.0040a350
mov eax, dword [ebp - 0x7d0]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x824]
mov dword [ebp - 0x7c0], eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x7d8], xmm0
cmp si, 8
ja 0x47d482
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
mov esi, dword [ebp - 0x848]
push eax
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push esi
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x708]
cvttsd2si eax, xmm1
divsd xmm0, qword [ebp - 0x868]
push eax
mov eax, dword [ebp - 0x7a4]
add eax, dword [ebp - 0x7e4]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
subsd xmm1, qword [ebp - 0x7d8]
jmp 0x47d524
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
mov esi, dword [ebp - 0x848]
push eax
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push esi
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x708]
cvttsd2si eax, xmm1
divsd xmm0, qword [ebp - 0x868]
push eax
mov eax, dword [ebp - 0x7a4]
sub eax, dword [ebp - 0x840]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
push edi
call fcn.00560853
mov edi, dword [ebp - 0x770]
add esp, 4
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x77c]
jmp 0x47d5af
mov esi, dword [ebp - 0x848]
mov edi, dword [ebp - 0x770]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47c420
mov eax, dword [ebp - 0x7d0]
movzx eax, word [eax + 8]
test eax, 0x100
je 0x47d685
test byte [edx], 0x20
jne 0x47d685
movsd xmm2, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
shr ax, 0xb
movzx edx, ax
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x710]
push ecx
mov ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x880], edx
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, esi
movzx eax, ax
push eax
mov eax, dword [ebp - 0x7d0]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push edx
push edi
call fcn.004ead10
mov ecx, dword [ebp - 0x788]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47c420
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
jne 0x47c854
mov edx, dword [ebp - 0x7d0]
mov eax, 0x400
test word [edx + 8], ax
je 0x47c420
movsd xmm0, qword [ebp - 0x890]
push ecx
jmp 0x47c3b5
mov edx, dword [ebp - 0x7d0]
test al, al
je 0x47d92e
test byte [edx + 8], 0x80
je 0x47d92e
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x7d0]
mov edx, edi
mov si, word [eax + 8]
mov eax, dword [ebp - 0x790]
shr si, 0xb
movzx ecx, si
push eax
mov dword [ebp - 0x880], ecx
push ecx
mov ecx, dword [ebp - 0x898]
call fcn.0040a350
mov eax, dword [ebp - 0x7d0]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x824]
mov dword [ebp - 0x7c0], eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x7d8], xmm0
cmp si, 8
ja 0x47d80d
push 8
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movsd xmm0, qword [ebp - 0x890]
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x7c8], eax
mulsd xmm0, qword [edx + 0x708]
mov eax, dword [ebp - 0x7a0]
sub eax, dword [ebp - 0x7e4]
push ecx
divsd xmm0, qword [ebp - 0x868]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm0
movd xmm0, dword [ecx]
addsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x868]
subsd xmm1, qword [edx + 0x278]
jmp 0x47d87e
push 0
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm0, qword [ebp - 0x890]
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x7c8], eax
mulsd xmm0, qword [ecx + 0x708]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7a0]
push edx
divsd xmm0, qword [ebp - 0x868]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm0
movd xmm0, dword [edx]
subsd xmm1, qword [ebp - 0x7d8]
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x868]
subsd xmm1, qword [ecx + 0x278]
cvtdq2pd xmm0, xmm0
mov esi, dword [ebp - 0x848]
push esi
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a4]
cvtdq2pd xmm0, xmm0
push eax
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push dword [ebp - 0x770]
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
push edi
call fcn.00560853
mov edi, dword [ebp - 0x770]
add esp, 4
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x7d0]
jmp 0x47d93a
mov edi, dword [ebp - 0x770]
mov esi, dword [ebp - 0x848]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47c420
movzx eax, word [edx + 8]
test eax, 0x100
je 0x47d9ff
movsd xmm1, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
shr ax, 0xb
movzx eax, ax
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x710]
mov dword [ebp - 0x880], eax
push ecx
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movzx eax, ax
push eax
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0xa80]
imul eax, esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a4]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push edi
call fcn.004ea430
mov ecx, dword [ebp - 0x788]
mov al, byte [ecx + 0x6fc]
test al, al
je 0x47c420
mov edx, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x77c]
test dword [eax], 0x40000
jne 0x47c854
mov eax, 0x400
test word [edx + 8], ax
je 0x47c420
movsd xmm0, qword [ebp - 0x890]
mulsd xmm0, qword [ecx + 0x710]
push ecx
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movd xmm0, esi
movzx eax, ax
push eax
mov eax, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x7b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a4]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push dword [ebp - 0x944]
push edi
call fcn.004eb5c0
jmp 0x47c420
mov eax, dword [ebp - 0x780]
lea ecx, [edx + 4]
test esi, esi
je 0x480541
cmp ax, 0xd
jl 0x47ec0a
mov esi, 0xff3b
cmp di, si
jne 0x47ec0a
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x47ec0a
mov esi, 0x300c
cmp word [ecx], si
mov esi, 0xff03
jne 0x47e36f
movsx esi, ax
mov edi, 0x300d
mov dword [ebp - 0x7cc], esi
cmp word [edx + esi*2 - 0x12], di
movzx edi, word [edx]
jne 0x47e36a
mov edi, 0x306f
cmp word [edx + esi*2 - 0x10], di
movzx edi, word [edx]
jne 0x47e36a
mov eax, 0x4e0a
cmp word [edx + esi*2 - 0xe], ax
mov eax, dword [ebp - 0x780]
jne 0x47e36a
mov eax, 0x4ed8
cmp word [edx + esi*2 - 0xc], ax
mov eax, dword [ebp - 0x780]
jne 0x47e36a
mov eax, 0x304d
cmp word [edx + esi*2 - 0xa], ax
mov eax, dword [ebp - 0x780]
jne 0x47e36a
mov edi, 0x5c0f
cmp word [edx + esi*2 - 8], di
movzx edi, word [edx]
jne 0x47e36a
mov edi, 0x6587
cmp word [edx + esi*2 - 6], di
movzx edi, word [edx]
jne 0x47e36a
mov eax, 0x5b57
cmp word [edx + esi*2 - 4], ax
mov eax, dword [ebp - 0x780]
jne 0x47e36a
mov edi, 0xff3d
cmp word [edx + esi*2 - 2], di
movzx edi, word [edx]
jne 0x47e36a
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
test cl, 0x20
jne 0x482e35
cmp word [ebp - 0x894], 0
jne 0x47dca5
mov eax, dword [ebp - 0x92c]
test eax, eax
je 0x47dca5
movsd xmm0, qword [ebp - 0xa08]
sub esp, 0x10
mov edi, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x7c4]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0xa10]
movsd qword [esp], xmm0
push dword [ebx + 0x54]
push dword [ebp - 0x910]
push dword [ebp - 0x778]
push eax
push 0x20
push dword [ebp - 0x980]
lea eax, [ebp - 0x6e4]
push dword [ebp - 0x99c]
push dword [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6f0]
push eax
lea eax, [ebp - 0x6ec]
push eax
push dword [ebp - 0x788]
push dword [ebp - 0x874]
push dword [ebp - 0x7f8]
push dword [ebp - 0x7ec]
push dword [ebp - 0x948]
push dword [ebp - 0x84c]
push dword [ebp - 0x7e0]
push edi
call fcn.004690e0
mov cl, byte [ebp - 0x771]
mov edx, dword [ebp - 0x79c]
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x92c], 0
jmp 0x4828ad
mov eax, dword [ebp - 0x780]
jmp 0x47daa2
mov eax, dword [ebp - 0x778]
mov byte [ebp - 0x839], 0
mov eax, dword [eax + 0xc]
test ecx, 0x400
je 0x47dcc5
push dword [eax + 0x1ec]
jmp 0x47dccb
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea edi, [esi - 0xc]
mov esi, dword [ebp - 0x7f0]
lea eax, [ebp - 0x6a8]
push eax
push esi
push 0
push 0
push edi
push dword [ebp - 0x898]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x784]
mov ecx, dword [esi]
mov eax, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov dword [edx], ecx
movsd xmm4, qword [ebp - 0x8f0]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si esi, xmm0
add esi, ecx
mov dword [edx], esi
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47ddef
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edx, 1
mov dword [ebp - 0x7d4], edx
cmp edi, edx
jle 0x47df18
mov esi, edx
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + esi*4]
sub ecx, dword [eax + esi*4 - 4]
mov eax, dword [ebp - 0x784]
mov dword [eax + esi*4], ecx
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x784]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
add edi, ecx
mov dword [eax + esi*4], edi
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47defd
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [edi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx + esi*4], eax
mov edx, dword [ebp - 0x7d4]
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edi, dword [ebp - 0x7cc]
inc edx
movsx esi, dx
add edi, 0xfffffff4
mov dword [ebp - 0x7d4], edx
cmp esi, edi
jl 0x47de10
cmp word [ebp - 0x834], 0x40
mov edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x7ec]
mov esi, dword [ebp - 0x778]
jne 0x47e0a2
mov ecx, dword [edx + 8]
sub ecx, dword [eax]
mov edx, dword [edx + 4]
sub edx, dword [eax + 4]
sub ecx, dword [ebp - 0x838]
sub edx, dword [ebp - 0x818]
add edx, dword [ebp - 0x798]
mov dword [ebp - 0x6b0], ecx
mov dword [ebp - 0x6b4], edx
mov eax, dword [esi + 0xc]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x7a4], ecx
mov eax, dword [eax + 0xa80]
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7a0], edx
imul eax, edi
add eax, dword [ebp - 0x6a8]
add eax, edx
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
movd xmm0, eax
mov eax, dword [esi + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b8], eax
test ecx, ecx
je 0x47e1fa
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
nop dword [eax + eax]
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47e1fa
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47e01c
cmp edx, eax
je 0x47e018
cmp dword [edx + 8], eax
jne 0x47e01c
mov al, 1
jmp 0x47e01e
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.004872d0
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47e1fa
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47dff0
jmp 0x47e1fa
mov ecx, dword [ebp - 0x798]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0x818]
add ecx, dword [edx]
mov edx, dword [edx + 4]
sub edx, dword [eax + 4]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
add edx, dword [ebp - 0x838]
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x6b4], edx
movd xmm1, eax
mov eax, dword [esi + 0xc]
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x7a4], ecx
mov dword [ebp - 0x7a0], edx
movd xmm0, edx
mulsd xmm1, qword [eax + 0xad0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6ac], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0xa80]
imul eax, edi
add eax, dword [ebp - 0x6a8]
add eax, ecx
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x6b0], eax
test ecx, ecx
je 0x47e1fa
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47e1fa
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47e17d
cmp edx, eax
je 0x47e179
cmp dword [edx + 8], eax
jne 0x47e17d
mov al, 1
jmp 0x47e17f
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486e90
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47e1fa
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47e151
mov edi, dword [ebp - 0x770]
push 0
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x7cc]
mov dword [ebp - 0x7c8], eax
lea eax, [esi - 0xc]
push eax
push dword [ebp - 0x898]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push edi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x778]
lea ecx, [esi - 0xc]
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x818]
mov edi, dword [eax + 0xc]
mov eax, dword [edi + 0xa80]
imul eax, ecx
mov ecx, dword [ebp - 0x6a8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si edx, xmm0
lea eax, [edx + ecx]
cmp esi, eax
jge 0x482895
sub edx, esi
xor esi, esi
add edx, ecx
add dword [ebp - 0x798], edx
mov edx, dword [ebp - 0x7cc]
lea eax, [edx - 0xc]
test eax, eax
jle 0x47e32e
mov eax, dword [ebp - 0x7fc]
xor edx, edx
movsx edi, ax
mov dword [ebp - 0x7d4], edi
nop dword [eax]
mov eax, dword [ebp - 0x7bc]
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x87c]
mov ax, word [eax + edx*2 + 6]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7d4]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x820]
mov dword [edx + ecx*4], eax
test si, si
jne 0x47e30e
mov eax, dword [ebp - 0x818]
sub dword [edx + edi*4], eax
mov eax, dword [ebp - 0x7cc]
inc esi
movsx edx, si
add eax, 0xfffffff4
cmp edx, eax
jl 0x47e2d0
mov eax, dword [ebp - 0x778]
mov edx, dword [ebp - 0x7cc]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0x780]
lea ecx, [edx - 0xc]
add eax, 0xfffffff4
add dword [ebp - 0x7fc], eax
mov eax, dword [edi + 0xa80]
imul eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si esi, xmm0
add esi, dword [ebp - 0x6a8]
mov dword [ebp - 0x818], esi
jmp 0x482895
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x47ec0a
mov esi, 0x300c
cmp word [ecx], si
jne 0x47ec0a
movsx esi, ax
mov edi, 0x300d
mov dword [ebp - 0x7cc], esi
cmp word [edx + esi*2 - 0x12], di
movzx edi, word [edx]
jne 0x47ec0a
mov edi, 0x306f
cmp word [edx + esi*2 - 0x10], di
movzx edi, word [edx]
jne 0x47ec0a
mov edi, 0x4e0b
cmp word [edx + esi*2 - 0xe], di
movzx edi, word [edx]
jne 0x47ec0a
mov eax, 0x4ed8
cmp word [edx + esi*2 - 0xc], ax
mov eax, dword [ebp - 0x780]
jne 0x47ec0a
mov eax, 0x304d
cmp word [edx + esi*2 - 0xa], ax
mov eax, dword [ebp - 0x780]
jne 0x47ec0a
mov edi, 0x5c0f
cmp word [edx + esi*2 - 8], di
movzx edi, word [edx]
jne 0x47ec0a
mov edi, 0x6587
cmp word [edx + esi*2 - 6], di
movzx edi, word [edx]
jne 0x47ec0a
mov eax, 0x5b57
cmp word [edx + esi*2 - 4], ax
mov eax, dword [ebp - 0x780]
jne 0x47ec0a
mov edi, 0xff3d
cmp word [edx + esi*2 - 2], di
movzx edi, word [edx]
jne 0x47ec0a
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
test cl, 0x20
jne 0x482e35
cmp word [ebp - 0x894], 0
jne 0x47e53a
mov eax, dword [ebp - 0x92c]
test eax, eax
je 0x47e53a
movsd xmm0, qword [ebp - 0xa08]
sub esp, 0x10
mov edi, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x7c4]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0xa10]
movsd qword [esp], xmm0
push dword [ebx + 0x54]
push dword [ebp - 0x910]
push dword [ebp - 0x778]
push eax
push 0x1f
push dword [ebp - 0x980]
lea eax, [ebp - 0x6e4]
push dword [ebp - 0x99c]
push dword [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6f0]
push eax
lea eax, [ebp - 0x6ec]
push eax
push dword [ebp - 0x788]
push dword [ebp - 0x874]
push dword [ebp - 0x7f8]
push dword [ebp - 0x7ec]
push dword [ebp - 0x948]
push dword [ebp - 0x84c]
push dword [ebp - 0x7e0]
push edi
call fcn.004690e0
mov cl, byte [ebp - 0x771]
mov edx, dword [ebp - 0x79c]
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x92c], 0
jmp 0x4828ad
mov eax, dword [ebp - 0x778]
mov byte [ebp - 0x839], 0
mov eax, dword [eax + 0xc]
test ecx, 0x400
je 0x47e55a
push dword [eax + 0x1ec]
jmp 0x47e560
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea edi, [esi - 0xc]
mov esi, dword [ebp - 0x7f0]
lea eax, [ebp - 0x6a8]
push eax
push esi
push 0
push 0
push edi
push dword [ebp - 0x898]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x784]
mov ecx, dword [esi]
mov eax, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov dword [edx], ecx
movsd xmm4, qword [ebp - 0x8f0]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si esi, xmm0
add esi, ecx
mov dword [edx], esi
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47e680
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edx, 1
mov dword [ebp - 0x7d4], edx
cmp edi, edx
jle 0x47e7a4
mov esi, edx
nop word [eax + eax]
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + esi*4]
sub ecx, dword [eax + esi*4 - 4]
mov eax, dword [ebp - 0x784]
mov dword [eax + esi*4], ecx
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x784]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
add edi, ecx
mov dword [eax + esi*4], edi
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47e789
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [edi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx + esi*4], eax
mov edx, dword [ebp - 0x7d4]
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edi, dword [ebp - 0x7cc]
inc edx
movsx esi, dx
add edi, 0xfffffff4
mov dword [ebp - 0x7d4], edx
cmp esi, edi
jl 0x47e6a0
cmp word [ebp - 0x834], 0x40
jne 0x47e926
mov edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x7ec]
mov esi, dword [ebp - 0x778]
mov ecx, dword [edx + 8]
sub ecx, dword [eax]
mov edx, dword [edx + 4]
sub edx, dword [eax + 4]
sub ecx, dword [ebp - 0x81c]
sub edx, dword [ebp - 0x818]
add edx, dword [ebp - 0x798]
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x6b4], edx
mov eax, dword [esi + 0xc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7a4], ecx
mov eax, dword [eax + 0xa80]
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7a0], edx
imul eax, edi
add eax, dword [ebp - 0x6a8]
add eax, edx
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
movd xmm1, eax
mov eax, dword [esi + 0xc]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b0], eax
test ecx, ecx
je 0x47ea90
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47ea90
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47e8a0
cmp edx, eax
je 0x47e89c
cmp dword [edx + 8], eax
jne 0x47e8a0
mov al, 1
jmp 0x47e8a2
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.004872d0
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47ea90
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47e874
jmp 0x47ea90
mov edx, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x7e0]
sub ecx, dword [edx]
sub ecx, dword [ebp - 0x818]
add ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, dword [edx + 4]
add eax, dword [ebp - 0x81c]
mov edx, dword [ebp - 0x778]
mov dword [ebp - 0x6ac], eax
mov dword [ebp - 0x7a0], eax
movd xmm1, eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x6b8], ecx
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x7a4], ecx
movd xmm0, eax
mov eax, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b4], eax
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0xa80]
imul eax, edi
add eax, dword [ebp - 0x6a8]
add eax, ecx
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x6b0], eax
test ecx, ecx
je 0x47ea90
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47ea90
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47ea13
cmp edx, eax
je 0x47ea0f
cmp dword [edx + 8], eax
jne 0x47ea13
mov al, 1
jmp 0x47ea15
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486e90
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47ea90
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47e9e7
mov edi, dword [ebp - 0x770]
push 8
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x7cc]
mov dword [ebp - 0x7c8], eax
lea eax, [esi - 0xc]
push eax
push dword [ebp - 0x898]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push edi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x778]
lea ecx, [esi - 0xc]
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x818]
mov edi, dword [eax + 0xc]
mov eax, dword [edi + 0xa80]
imul eax, ecx
mov ecx, dword [ebp - 0x6a8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si edx, xmm0
lea eax, [edx + ecx]
cmp esi, eax
jge 0x482895
sub edx, esi
xor esi, esi
add edx, ecx
add dword [ebp - 0x798], edx
mov edx, dword [ebp - 0x7cc]
lea eax, [edx - 0xc]
test eax, eax
jle 0x47ebce
mov eax, dword [ebp - 0x7fc]
xor edx, edx
movsx edi, ax
mov dword [ebp - 0x7d4], edi
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebp - 0x7bc]
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x87c]
mov ax, word [eax + edx*2 + 6]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7d4]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x820]
mov dword [edx + ecx*4], eax
test si, si
jne 0x47ebae
mov eax, dword [ebp - 0x818]
sub dword [edx + edi*4], eax
mov eax, dword [ebp - 0x7cc]
inc esi
movsx edx, si
add eax, 0xfffffff4
cmp edx, eax
jl 0x47eb70
mov eax, dword [ebp - 0x778]
mov edx, dword [ebp - 0x7cc]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0x780]
lea ecx, [edx - 0xc]
add eax, 0xfffffff4
add dword [ebp - 0x7fc], eax
mov eax, dword [edi + 0xa80]
imul eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
mov dword [ebp - 0x818], eax
jmp 0x482895
cmp ax, 0xc
jl 0x47fb5f
mov esi, 0xff3b
cmp di, si
mov esi, 0xff03
jne 0x47fb5f
cmp word [edx + 2], si
jne 0x47fb5f
mov esi, 0x300c
cmp word [ecx], si
mov esi, 0xff03
jne 0x47f3de
movsx esi, ax
mov edi, 0x300d
cmp word [edx + esi*2 - 0x10], di
movzx edi, word [edx]
jne 0x47f3d9
mov eax, 0x306f
cmp word [edx + esi*2 - 0xe], ax
mov eax, dword [ebp - 0x780]
jne 0x47f3d9
mov eax, 0x884c
cmp word [edx + esi*2 - 0xc], ax
mov eax, dword [ebp - 0x780]
jne 0x47f3d9
mov edi, 0x53f3
cmp word [edx + esi*2 - 0xa], di
movzx edi, word [edx]
jne 0x47f3d9
mov edi, 0x5c0f
cmp word [edx + esi*2 - 8], di
movzx edi, word [edx]
jne 0x47f3d9
mov eax, 0x66f8
cmp word [edx + esi*2 - 6], ax
mov eax, dword [ebp - 0x780]
jne 0x47f3d9
mov eax, 0x304d
cmp word [edx + esi*2 - 4], ax
mov eax, dword [ebp - 0x780]
jne 0x47f3d9
mov edi, 0xff3d
cmp word [edx + esi*2 - 2], di
movzx edi, word [edx]
jne 0x47f3d9
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
test cl, 0x20
jne 0x482e35
cmp word [ebp - 0x894], 0
jne 0x47ed14
mov eax, dword [ebp - 0x92c]
test eax, eax
jne 0x47e471
mov eax, dword [ebp - 0x778]
mov byte [ebp - 0x839], 0
mov eax, dword [eax + 0xc]
test ecx, 0x400
je 0x47ed34
push dword [eax + 0x1ec]
jmp 0x47ed3a
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea edi, [esi - 0xb]
mov esi, dword [ebp - 0x7f0]
lea eax, [ebp - 0x6a8]
push eax
push esi
push 0
push 0
push edi
push dword [ebp - 0x898]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x784]
mov ecx, dword [esi]
mov eax, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov dword [edx], ecx
movsd xmm4, qword [ebp - 0x8f0]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si esi, xmm0
add esi, ecx
mov dword [edx], esi
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47ee5a
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edx, 1
mov dword [ebp - 0x7d4], edx
cmp edi, edx
jle 0x47ef77
mov esi, edx
nop
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + esi*4]
sub ecx, dword [eax + esi*4 - 4]
mov eax, dword [ebp - 0x784]
mov dword [eax + esi*4], ecx
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x784]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
add edi, ecx
mov dword [eax + esi*4], edi
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47ef59
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [edi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx + esi*4], eax
mov edx, dword [ebp - 0x7d4]
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov ecx, dword [ebp - 0x780]
inc edx
movsx edi, cx
movsx esi, dx
add edi, 0xfffffff5
mov dword [ebp - 0x7d4], edx
cmp esi, edi
jl 0x47ee70
cmp word [ebp - 0x834], 0x40
mov edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x7ec]
mov esi, dword [ebp - 0x778]
jne 0x47f0f9
mov ecx, dword [edx + 8]
sub ecx, dword [eax]
mov edx, dword [edx + 4]
sub edx, dword [eax + 4]
sub ecx, dword [ebp - 0x838]
sub edx, dword [ebp - 0x818]
add edx, dword [ebp - 0x798]
mov dword [ebp - 0x6b0], ecx
mov dword [ebp - 0x6b4], edx
mov eax, dword [esi + 0xc]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x7a4], ecx
mov eax, dword [eax + 0xa80]
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7a0], edx
imul eax, edi
add eax, dword [ebp - 0x6a8]
add eax, edx
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
movd xmm0, eax
mov eax, dword [esi + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b8], eax
test ecx, ecx
je 0x47f259
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47f259
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47f073
cmp edx, eax
je 0x47f06f
cmp dword [edx + 8], eax
jne 0x47f073
mov al, 1
jmp 0x47f075
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.004872d0
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47f259
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47f047
jmp 0x47f259
mov ecx, dword [ebp - 0x798]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0x818]
add ecx, dword [edx]
mov edx, dword [edx + 4]
sub edx, dword [eax + 4]
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
add edx, dword [ebp - 0x838]
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x6b4], edx
movd xmm1, eax
mov eax, dword [esi + 0xc]
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x7a4], ecx
mov dword [ebp - 0x7a0], edx
movd xmm0, edx
mulsd xmm1, qword [eax + 0xad0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6ac], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0xa80]
imul eax, edi
add eax, dword [ebp - 0x6a8]
add eax, ecx
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x6b0], eax
test ecx, ecx
je 0x47f259
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
nop dword [eax + eax]
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47f259
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47f1dc
cmp edx, eax
je 0x47f1d8
cmp dword [edx + 8], eax
jne 0x47f1dc
mov al, 1
jmp 0x47f1de
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486e90
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47f259
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47f1b0
mov edi, dword [ebp - 0x770]
push 0
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x784]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x780]
movsx esi, ax
lea eax, [esi - 0xb]
push eax
push dword [ebp - 0x898]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push edi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x778]
movsd xmm2, qword [ebp - 0x7b8]
mov ecx, dword [ebp - 0x6a8]
mov edi, dword [eax + 0xc]
lea eax, [esi - 0xb]
mov esi, dword [ebp - 0x818]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movd xmm0, dword [edi + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvttsd2si edx, xmm0
lea eax, [edx + ecx]
cmp esi, eax
jge 0x482895
sub edx, esi
xor esi, esi
add edx, ecx
add dword [ebp - 0x798], edx
mov edx, dword [ebp - 0x780]
movsx eax, dx
add eax, 0xfffffff5
test eax, eax
jle 0x47f3a1
mov eax, dword [ebp - 0x7fc]
xor edx, edx
movsx edi, ax
mov dword [ebp - 0x7d4], edi
nop dword [eax + eax]
mov eax, dword [ebp - 0x7bc]
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x87c]
mov ax, word [eax + edx*2 + 6]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7d4]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x820]
mov dword [edx + ecx*4], eax
test si, si
jne 0x47f37e
mov eax, dword [ebp - 0x818]
sub dword [edx + edi*4], eax
mov edi, dword [ebp - 0x780]
inc esi
movsx eax, di
mov edi, dword [ebp - 0x7d4]
add eax, 0xfffffff5
movsx edx, si
cmp edx, eax
jl 0x47f340
mov eax, dword [ebp - 0x778]
mov edi, dword [eax + 0xc]
movd xmm0, dword [edi + 0xa80]
mov eax, dword [ebp - 0x780]
cvtdq2pd xmm0, xmm0
add eax, 0xfffffff5
add dword [ebp - 0x7fc], eax
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x6a8]
mov dword [ebp - 0x818], eax
jmp 0x482895
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x47fb5f
mov esi, 0x300c
cmp word [ecx], si
jne 0x47fb5f
movsx esi, ax
mov edi, 0x300d
mov dword [ebp - 0x7cc], esi
cmp word [edx + esi*2 - 0x10], di
movzx edi, word [edx]
jne 0x47fb5f
mov eax, 0x306f
cmp word [edx + esi*2 - 0xe], ax
mov eax, dword [ebp - 0x780]
jne 0x47fb5f
mov edi, 0x884c
cmp word [edx + esi*2 - 0xc], di
movzx edi, word [edx]
jne 0x47fb5f
mov eax, 0x5de6
cmp word [edx + esi*2 - 0xa], ax
mov eax, dword [ebp - 0x780]
jne 0x47fb5f
mov edi, 0x5c0f
cmp word [edx + esi*2 - 8], di
movzx edi, word [edx]
jne 0x47fb5f
mov eax, 0x66f8
cmp word [edx + esi*2 - 6], ax
mov eax, dword [ebp - 0x780]
jne 0x47fb5f
mov eax, 0x304d
cmp word [edx + esi*2 - 4], ax
mov eax, dword [ebp - 0x780]
jne 0x47fb5f
mov edi, 0xff3d
cmp word [edx + esi*2 - 2], di
movzx edi, word [edx]
jne 0x47fb5f
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
test cl, 0x20
jne 0x482e35
cmp word [ebp - 0x894], 0
jne 0x47f4cc
mov eax, dword [ebp - 0x92c]
test eax, eax
jne 0x47dbd1
mov eax, dword [ebp - 0x778]
mov byte [ebp - 0x839], 0
mov eax, dword [eax + 0xc]
test ecx, 0x400
je 0x47f4ec
push dword [eax + 0x1ec]
jmp 0x47f4f2
push dword [eax + 0x1c0]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea edi, [esi - 0xb]
mov esi, dword [ebp - 0x7f0]
lea eax, [ebp - 0x6a8]
push eax
push esi
push 0
push 0
push edi
push dword [ebp - 0x898]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x784]
mov ecx, dword [esi]
mov eax, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov dword [edx], ecx
movsd xmm4, qword [ebp - 0x8f0]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si esi, xmm0
add esi, ecx
mov dword [edx], esi
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47f612
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edx, 1
mov dword [ebp - 0x7d4], edx
cmp edi, edx
jle 0x47f734
mov esi, edx
nop word [eax + eax]
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + esi*4]
sub ecx, dword [eax + esi*4 - 4]
mov eax, dword [ebp - 0x784]
mov dword [eax + esi*4], ecx
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x784]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
add edi, ecx
mov dword [eax + esi*4], edi
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47f719
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [edi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx + esi*4], eax
mov edx, dword [ebp - 0x7d4]
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edi, dword [ebp - 0x7cc]
inc edx
movsx esi, dx
add edi, 0xfffffff5
mov dword [ebp - 0x7d4], edx
cmp esi, edi
jl 0x47f630
cmp word [ebp - 0x834], 0x40
jne 0x47f8b6
mov edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x7ec]
mov esi, dword [ebp - 0x778]
mov ecx, dword [edx + 8]
sub ecx, dword [eax]
mov edx, dword [edx + 4]
sub edx, dword [eax + 4]
sub ecx, dword [ebp - 0x81c]
sub edx, dword [ebp - 0x818]
add edx, dword [ebp - 0x798]
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x6b4], edx
mov eax, dword [esi + 0xc]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7a4], ecx
mov eax, dword [eax + 0xa80]
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7a0], edx
imul eax, edi
add eax, dword [ebp - 0x6a8]
add eax, edx
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
movd xmm1, eax
mov eax, dword [esi + 0xc]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b0], eax
test ecx, ecx
je 0x47fa20
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47fa20
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47f830
cmp edx, eax
je 0x47f82c
cmp dword [edx + 8], eax
jne 0x47f830
mov al, 1
jmp 0x47f832
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.004872d0
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47fa20
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47f804
jmp 0x47fa20
mov edx, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x7e0]
sub ecx, dword [edx]
sub ecx, dword [ebp - 0x818]
add ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, dword [edx + 4]
add eax, dword [ebp - 0x81c]
mov edx, dword [ebp - 0x778]
mov dword [ebp - 0x6ac], eax
mov dword [ebp - 0x7a0], eax
movd xmm1, eax
mov eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x6b8], ecx
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x7a4], ecx
movd xmm0, eax
mov eax, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x868]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b4], eax
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0xa80]
imul eax, edi
add eax, dword [ebp - 0x6a8]
add eax, ecx
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x6b0], eax
test ecx, ecx
je 0x47fa20
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47fa20
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47f9a3
cmp edx, eax
je 0x47f99f
cmp dword [edx + 8], eax
jne 0x47f9a3
mov al, 1
jmp 0x47f9a5
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00486e90
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47fa20
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47f977
mov edi, dword [ebp - 0x770]
push 8
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x784]
mov esi, dword [ebp - 0x7cc]
mov dword [ebp - 0x7c8], eax
lea eax, [esi - 0xb]
push eax
push dword [ebp - 0x898]
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push edi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x778]
lea ecx, [esi - 0xb]
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x818]
mov edi, dword [eax + 0xc]
mov eax, dword [edi + 0xa80]
imul eax, ecx
mov ecx, dword [ebp - 0x6a8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si edx, xmm0
lea eax, [edx + ecx]
cmp esi, eax
jge 0x482895
sub edx, esi
xor esi, esi
add edx, ecx
add dword [ebp - 0x798], edx
mov edx, dword [ebp - 0x7cc]
lea eax, [edx - 0xb]
test eax, eax
jle 0x47fb4e
mov eax, dword [ebp - 0x7fc]
xor edx, edx
movsx edi, ax
mov dword [ebp - 0x7d4], edi
nop
mov eax, dword [ebp - 0x7bc]
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x87c]
mov ax, word [eax + edx*2 + 6]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x7d4]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x820]
mov dword [edx + ecx*4], eax
test si, si
jne 0x47fb2e
mov eax, dword [ebp - 0x818]
sub dword [edx + edi*4], eax
mov eax, dword [ebp - 0x7cc]
inc esi
movsx edx, si
add eax, 0xfffffff5
cmp edx, eax
jl 0x47faf0
mov eax, dword [ebp - 0x778]
mov edx, dword [ebp - 0x7cc]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0x780]
lea ecx, [edx - 0xb]
add eax, 0xfffffff5
jmp 0x47ebda
cmp word [ebp - 0x834], 0x40
jne 0x480541
cmp ax, 0xa
jl 0x480541
mov esi, 0xff3b
cmp di, si
jne 0x480541
mov esi, 0xff03
cmp word [edx + 2], si
jne 0x480541
mov esi, 0x300c
cmp word [ecx], si
jne 0x480541
movsx esi, ax
mov edi, 0x300d
cmp word [edx + esi*2 - 0xc], di
movzx edi, word [edx]
jne 0x480541
mov eax, 0x306f
cmp word [edx + esi*2 - 0xa], ax
mov eax, dword [ebp - 0x780]
jne 0x480541
mov edi, 0x6a2a
cmp word [edx + esi*2 - 8], di
movzx edi, word [edx]
jne 0x480541
mov eax, 0x7d44
cmp word [edx + esi*2 - 6], ax
mov eax, dword [ebp - 0x780]
jne 0x480541
mov eax, 0x307f
cmp word [edx + esi*2 - 4], ax
mov eax, dword [ebp - 0x780]
jne 0x480541
mov edi, 0xff3d
cmp word [edx + esi*2 - 2], di
movzx edi, word [edx]
jne 0x480541
mov eax, dword [ebp - 0x778]
mov byte [ebp - 0x839], 0
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea edi, [esi - 9]
mov esi, dword [ebp - 0x7f0]
lea eax, [ebp - 0x6a8]
push eax
push esi
push 0
push 0
push edi
push dword [ebp - 0x898]
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x778]
movsd xmm3, qword [ebp - 0x7b8]
mov esi, dword [esi]
movsd xmm4, qword [ebp - 0x8f0]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x784]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si ecx, xmm0
add esi, ecx
mov ecx, dword [ebp - 0x778]
mov dword [eax], esi
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47fd5a
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [esi + ecx]
mov ecx, dword [ebp - 0x778]
cvtdq2pd xmm0, xmm0
mov dword [edx], eax
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edx, 1
mov dword [ebp - 0x7d4], edx
cmp edi, edx
jle 0x47fe6f
mov esi, edx
jmp 0x47fd77
mov ecx, dword [ebp - 0x778]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x7f0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si edi, xmm0
sub edi, dword [eax + esi*4 - 4]
mov eax, dword [eax + esi*4]
add edi, eax
mov eax, dword [ebp - 0x784]
mov dword [eax + esi*4], edi
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm2, xmm1
comisd xmm2, xmm4
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
jb 0x47fe51
fld qword [ebp - 0x810]
sub esp, 8
fstp qword [esp]
call fcn.00582e70
movsd xmm2, qword [ebp - 0x830]
add esp, 8
mov edx, dword [ebp - 0x784]
fstp qword [ebp - 0x810]
cvttsd2si ecx, qword [ebp - 0x810]
movsd xmm3, qword [ebp - 0x7b8]
movsd xmm4, qword [ebp - 0x8f0]
movd xmm0, ecx
lea eax, [edi + ecx]
cvtdq2pd xmm0, xmm0
mov dword [edx + esi*4], eax
mov edx, dword [ebp - 0x7d4]
subsd xmm2, xmm0
movsd qword [ebp - 0x830], xmm2
movsd qword [ebp - 0x810], xmm2
mov edi, dword [ebp - 0x780]
inc edx
movsx eax, di
movsx esi, dx
add eax, 0xfffffff7
mov dword [ebp - 0x7d4], edx
cmp esi, eax
jl 0x47fd71
mov eax, dword [ebp - 0x7e0]
mov esi, dword [ebp - 0x7ec]
mov edi, dword [eax + 8]
mov eax, edi
mov ecx, dword [esi]
sub eax, ecx
mov esi, dword [esi + 4]
mov edx, eax
sub edx, dword [ebp - 0x7f4]
sub eax, dword [ebp - 0x838]
mov dword [ebp - 0x7d4], ecx
mov ecx, dword [ebp - 0x7e0]
sub edi, dword [ebp - 0x7d4]
sub edi, dword [ebp - 0x81c]
mov dword [ebp - 0x7a4], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x6b0], eax
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x7a0], edx
sub edx, esi
sub dword [ebp - 0x7a0], esi
add dword [ebp - 0x7a0], ecx
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x6b8], edi
mov eax, dword [eax + 0xc]
sub eax, esi
mov dword [ebp - 0x6b4], edx
sub eax, dword [ebp - 0x968]
mov dword [ebp - 0x6ac], eax
test ecx, ecx
je 0x47ffc9
mov eax, dword [ebp - 0x7d0]
movsx edi, word [ebp - 0x850]
movzx esi, word [eax + 4]
movsx edx, si
add edx, edi
nop dword [eax]
movzx ecx, word [ecx + 4]
movsx eax, cx
cmp edx, eax
jle 0x47ffc9
mov eax, dword [ebp - 0x874]
mov edx, dword [ebp - 0x7ac]
test eax, eax
je 0x47ff4c
cmp edx, eax
je 0x47ff48
cmp dword [edx + 8], eax
jne 0x47ff4c
mov al, 1
jmp 0x47ff4e
xor al, al
push dword [ebp - 0x788]
movzx ecx, word [edx + 4]
push dword [ebp - 0x784]
push eax
lea eax, [ebp - 0x6b8]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x7c4]
push esi
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push dword [ebp - 0x770]
call fcn.00487220
mov eax, dword [ebp - 0x7d0]
movzx esi, word [eax + 4]
mov eax, dword [ebp - 0x7ac]
movsx edx, si
add edx, edi
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x47ffc9
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x47ff20
push dword [ebp - 0x784]
mov ecx, dword [ebp - 0x780]
mov esi, dword [ebp - 0x770]
movsx edi, cx
add edi, 0xfffffff7
push edi
push dword [ebp - 0x898]
mov dword [ebp - 0x844], edi
push dword [ebp - 0x7f8]
push 4
push dword [ebp - 0x7a0]
push dword [ebp - 0x7a4]
push esi
call dword [ebp - 0x800]
mov ecx, dword [ebp - 0x7d0]
push dword [ebp - 0x7c0]
push esi
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, word [ecx + 4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [ebp - 0x7b8]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
add dword [ebp - 0x798], eax
call dword [ebp - 0x78c]
cmp byte [ebp - 0x79c], 0
je 0x4800c9
mov ecx, dword [ebp - 0x780]
xor edx, edx
movsx esi, cx
add esi, 0xfffffff7
mov byte [ebp - 0x771], 1
mov byte [ebp - 0x8e7], 1
test esi, esi
jle 0x4800bf
mov edi, dword [ebp - 0x7bc]
xor ecx, ecx
mov ax, word [edi + ecx*2 + 6]
inc edx
mov edi, dword [ebp - 0x87c]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x820]
mov eax, dword [eax + ecx*4]
mov dword [edi + ecx*4], eax
mov edi, dword [ebp - 0x7bc]
movsx ecx, dx
cmp ecx, esi
jl 0x480084
mov edi, dword [ebp - 0x844]
mov ecx, dword [ebp - 0x780]
movzx eax, cx
mov ecx, eax
jmp 0x48014e
mov edx, dword [ebp - 0x780]
xor esi, esi
movsx eax, dx
add eax, 0xfffffff7
test eax, eax
jle 0x480140
mov eax, dword [ebp - 0x7fc]
xor edx, edx
movsx edi, ax
mov dword [ebp - 0x7d4], edi
nop dword [eax]
mov eax, dword [ebp - 0x7bc]
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x87c]
inc esi
mov ax, word [eax + edx*2 + 6]
mov word [edi + ecx*2], ax
mov eax, dword [ebp - 0x784]
mov edi, dword [ebp - 0x780]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x820]
mov dword [edx + ecx*4], eax
movsx eax, di
mov edi, dword [ebp - 0x7d4]
add eax, 0xfffffff7
movsx edx, si
cmp edx, eax
jl 0x4800f0
mov edi, dword [ebp - 0x844]
mov edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x7fc]
add eax, edx
movzx ecx, ax
movzx eax, dx
mov edx, dword [ebp - 0x77c]
add eax, 0xfffffff7
movzx eax, ax
mov dword [ebp - 0x7d4], eax
lea eax, [ecx - 9]
mov ecx, dword [ebp - 0x788]
movzx esi, ax
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x854], esi
cmp byte [ecx + 0x6fb], 0
je 0x48042f
test byte [eax + 8], 0x80
je 0x48042f
test byte [edx], 0x20
jne 0x48042f
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x788]
movzx edx, byte [eax + 0x7f0]
movzx ecx, byte [eax + 0x7ef]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x7ee]
shl edx, 8
or edx, ecx
push edx
push dword [ebp - 0x770]
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x7d0]
mov edx, edi
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x898]
mov si, word [eax + 8]
shr si, 0xb
movzx eax, si
push eax
mov dword [ebp - 0x880], eax
call fcn.0040a350
mov eax, dword [ebp - 0x7d0]
add esp, 8
mov eax, dword [eax + 0xc]
push dword [eax + 0x1b4]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
movd xmm0, dword [ebp - 0x7e4]
cmp si, 8
mov esi, dword [ebp - 0x770]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7c0], eax
movsd qword [ebp - 0x890], xmm0
movd xmm0, dword [ebp - 0x824]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x938]
movsd qword [ebp - 0x7d8], xmm0
ja 0x480317
push 8
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push dword [ebp - 0x844]
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x890]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
add eax, dword [ebp - 0x7e4]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
subsd xmm0, qword [ebp - 0x7d8]
jmp 0x4803b3
push 0
push esi
call dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x868]
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x784]
subsd xmm1, qword [ecx + 0x278]
push eax
push dword [ebp - 0x844]
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
push edi
push dword [ebp - 0x7f8]
mulsd xmm1, xmm0
push 4
movd xmm0, dword [ebp - 0x7a0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movsd xmm1, qword [ebp - 0x890]
mulsd xmm1, qword [ecx + 0x708]
push eax
mov eax, dword [ebp - 0x7a4]
sub eax, dword [ebp - 0x840]
divsd xmm1, qword [ebp - 0x868]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x7d8]
cvttsd2si eax, xmm0
push eax
push esi
call dword [ebp - 0x800]
push dword [ebp - 0x7c8]
push esi
call dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [ebp - 0x85c]
push edi
call fcn.00560853
mov edi, dword [ebp - 0x770]
add esp, 4
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov esi, dword [ebp - 0x854]
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x7d0]
jmp 0x480435
mov edi, dword [ebp - 0x770]
cmp byte [ecx + 0x6fc], 0
je 0x480505
movzx eax, word [eax + 8]
test eax, 0x100
je 0x480505
test byte [edx], 0x20
jne 0x480505
movsd xmm2, qword [ebp - 0x7b8]
sub esp, 0x10
movsd xmm0, qword [ebp - 0x720]
shr ax, 0xb
movzx eax, ax
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm0
movd xmm0, dword [ebp - 0x7e4]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x880], eax
mov edx, dword [ebp - 0x780]
push ecx
mulsd xmm0, qword [ecx + 0x710]
mov ecx, dword [ebp - 0x7c4]
divsd xmm0, qword [ebp - 0x868]
cvttsd2si eax, xmm0
movzx eax, ax
push eax
mov eax, dword [ebp - 0x7d0]
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, dx
add eax, 0xfffffff7
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6a8]
push eax
push dword [ebp - 0x7a0]
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x880]
push edi
call fcn.004ead10
mov cl, byte [ebp - 0x771]
mov edx, dword [ebp - 0x79c]
movsd xmm2, qword [ebp - 0x7b8]
movzx eax, si
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x7fc], eax
jmp 0x4828ad
mov esi, dword [ebp - 0x910]
cmp word [esi], 2
mov esi, dword [ebp - 0x788]
jne 0x46ae26
cmp byte [esi + 0x77f], 0
je 0x46ae26
cmp byte [esi + 0x863], 0
jne 0x46ae26
cmp word [ebp - 0x834], 0x40
jne 0x46ae26
cmp ax, 0xd
jl 0x46ae26
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x788]
jne 0x46ae26
mov edi, 0xff03
cmp word [edx + 2], di
jne 0x46ae26
mov edi, 0x300c
cmp word [ecx], di
jne 0x46ae26
cwde
mov ecx, 0x300d
cmp word [edx + eax*2 - 0x12], cx
jne 0x46ae26
mov ecx, 0x306f
cmp word [edx + eax*2 - 0x10], cx
jne 0x46ae26
mov ecx, 0x30ad
cmp word [edx + eax*2 - 0xe], cx
jne 0x46ae26
mov ecx, 0x30e3
cmp word [edx + eax*2 - 0xc], cx
jne 0x46ae26
mov ecx, 0x30d7
cmp word [edx + eax*2 - 0xa], cx
jne 0x46ae26
mov ecx, 0x30b7
cmp word [edx + eax*2 - 8], cx
jne 0x46ae26
mov ecx, 0x30e7
cmp word [edx + eax*2 - 6], cx
jne 0x46ae26
mov ecx, 0x30f3
cmp word [edx + eax*2 - 4], cx
jne 0x46ae26
mov ecx, 0xff3d
cmp word [edx + eax*2 - 2], cx
jne 0x46ae26
mov eax, dword [ebp - 0x778]
mov edi, dword [ebp - 0x770]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c8]
push edi
call dword [ebp - 0x78c]
push 0
push edi
mov dword [ebp - 0x7c0], eax
call dword [ebp - 0x7a8]
mov esi, dword [ebp - 0x910]
mov ecx, 3
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x780]
add eax, 0xfffffff4
mov dword [ebp - 0x7d4], ecx
add dword [esi + 0x18], 0xa
movzx eax, ax
mov dword [ebp - 0x7b0], eax
mov dword [ebp - 0x814], 0
test ax, ax
jle 0x4807ff
nop word [eax + eax]
mov edx, dword [ebp - 0x7bc]
mov esi, dword [ebp - 0x7f0]
cwde
lea ecx, [edx + ecx*2]
lea edx, [ebp - 0x6a8]
mov dword [ebp - 0x854], ecx
push edx
push esi
lea edx, [ebp - 0x6cc]
push edx
mov edx, dword [ebp - 0x910]
push dword [edx + 0xc]
push eax
push ecx
push edi
call dword [ebp - 0x878]
mov eax, dword [ebp - 0x6cc]
mov ecx, 1
cmp eax, 1
mov edx, 1
cmovl eax, ecx
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x6cc], eax
mov eax, dword [esi]
movzx edi, ax
mov dword [ecx], eax
mov esi, dword [ebp - 0x6cc]
cmp esi, edx
jle 0x480756
mov ecx, edx
nop dword [eax]
mov esi, dword [ebp - 0x7f0]
inc edx
mov eax, dword [esi + ecx*4]
sub eax, dword [esi + ecx*4 - 4]
mov esi, dword [ebp - 0x784]
add edi, eax
mov dword [esi + ecx*4], eax
mov esi, dword [ebp - 0x6cc]
movsx ecx, dx
cmp ecx, esi
jl 0x480730
cmp word [ebp - 0x814], 0
jne 0x48077e
movsx ecx, di
mov edi, dword [ebp - 0x910]
mov eax, dword [edi + 0xc]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 0x14]
mov dword [ebp - 0x7a4], eax
jmp 0x48078a
mov eax, dword [ebp - 0x7a4]
mov edi, dword [ebp - 0x910]
push dword [ebp - 0x784]
mov ecx, dword [edi + 0x18]
mov edi, dword [ebp - 0x770]
push esi
push dword [ebp - 0x854]
mov dword [ebp - 0x7a0], ecx
push dword [ebp - 0x7f8]
push 4
push ecx
push eax
push edi
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x6cc]
sub dword [ebp - 0x7b0], eax
mov ecx, dword [ebp - 0x7d4]
mov esi, dword [ebp - 0x910]
add ecx, eax
mov eax, dword [ebp - 0x778]
inc dword [ebp - 0x814]
mov dword [ebp - 0x7d4], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
add dword [esi + 0x18], eax
mov ax, word [ebp - 0x7b0]
test ax, ax
jg 0x4806c0
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov cl, byte [ebp - 0x771]
xor eax, eax
mov edx, dword [ebp - 0x79c]
movsd xmm2, qword [ebp - 0x7b8]
mov word [esi], ax
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x848], eax
mov dword [ebp - 0x818], eax
jmp 0x4828ad
mov esi, dword [ebp - 0x788]
jmp 0x46ae32
mov cl, byte [ebp - 0x791]
mov esi, 0x3015
cmp ax, si
mov byte [ebp - 0x9ac], cl
mov esi, dword [ebp - 0x77c]
jne 0x48088d
cmp word [ebp - 0x780], 1
mov byte [ebp - 0x9ac], cl
jne 0x48088d
and dword [esi], 0xfeffffff
mov byte [ebp - 0x9ac], 0
cmp edi, 2
ja 0x480900
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x7bc]
call fcn.0040b510
cmp ax, 2
jne 0x4808f1
mov ecx, dword [ebp - 0x904]
mov eax, dword [ecx]
cmp edi, 2
jne 0x4808d2
movsd xmm2, qword [ebp - 0x7b8]
or eax, 3
mov dword [ebp - 0x86c], 3
mov dword [ecx], eax
jmp 0x48289b
and eax, 0xfffffffe
mov dword [ebp - 0x86c], 2
or eax, 2
mov dword [ecx], eax
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov edx, dword [ebp - 0x7bc]
cmp edi, 2
je 0x48288d
mov ecx, dword [ebp - 0x788]
mov byte [ebp - 0x8fd], 0
mov byte [ebp - 0x805], 0
cmp byte [ecx + 0x77f], 0
je 0x48109e
mov eax, dword [ebp - 0x778]
mov ecx, 0x210
mov ax, word [eax + 8]
and ax, cx
mov ecx, 0x200
cmp ax, cx
jne 0x48109e
mov ecx, dword [ebp - 0x780]
mov esi, 0x5165
movsx eax, cx
cmp word [edx + eax*2 - 6], si
jne 0x48288d
mov esi, 0x308b
cmp word [edx + eax*2 - 4], si
jne 0x48288d
lea eax, [ecx - 4]
movzx esi, ax
mov dword [ebp - 0x790], esi
test si, si
js 0x48288d
mov edi, 0xff03
movsx ecx, si
movzx eax, word [edx + ecx*2]
cmp ax, di
je 0x48288d
cmp eax, 0x2e
jne 0x480b1c
movzx eax, word [edx + ecx*2 + 2]
mov dword [ebp - 0x88c], eax
cmp eax, 0x70
je 0x4809b2
cmp eax, 0x50
jne 0x4809de
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x6e
je 0x4809c1
cmp edi, 0x4e
jne 0x4809de
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x67
je 0x480ac1
cmp edx, 0x47
je 0x480ac1
mov edx, dword [ebp - 0x7bc]
cmp eax, 0x67
je 0x4809e8
cmp eax, 0x47
jne 0x480a0e
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x69
je 0x4809f7
cmp edi, 0x49
jne 0x480a0e
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x66
je 0x480ac1
cmp edx, 0x46
je 0x480ac1
cmp eax, 0x62
je 0x480a18
cmp eax, 0x42
jne 0x480a44
mov edx, dword [ebp - 0x7bc]
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x6d
je 0x480a2d
cmp edi, 0x4d
jne 0x480a4a
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x70
je 0x480ac1
cmp edx, 0x50
je 0x480ac1
mov edx, dword [ebp - 0x7bc]
cmp eax, 0x6a
je 0x480a58
cmp eax, 0x4a
jne 0x480b17
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x70
je 0x480a67
cmp edi, 0x50
jne 0x480a7c
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x67
je 0x480ac1
cmp edx, 0x47
je 0x480ac1
mov edx, dword [ebp - 0x7bc]
cmp eax, 0x6a
je 0x480a8a
cmp eax, 0x4a
jne 0x480b17
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x70
je 0x480a9d
cmp edi, 0x50
jne 0x480b17
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x65
je 0x480aac
cmp edx, 0x45
jne 0x480b11
mov eax, dword [ebp - 0x7bc]
movzx eax, word [eax + ecx*2 + 8]
cmp eax, 0x67
je 0x480ac1
cmp eax, 0x47
jne 0x480b11
lea eax, [esi - 1]
mov esi, dword [ebp - 0x7bc]
movzx ecx, ax
movsx eax, cx
movzx eax, word [esi + eax*2]
mov esi, 0xff03
cmp ax, si
mov esi, dword [ebp - 0x790]
je 0x480b11
cmp ax, word [ebp - 0x970]
je 0x480b31
cmp ax, 0x28
je 0x480b31
mov esi, dword [ebp - 0x7bc]
dec ecx
movsx eax, cx
movzx eax, word [esi + eax*2]
mov esi, 0xff03
cmp ax, si
mov esi, dword [ebp - 0x790]
jne 0x480ae4
mov edx, dword [ebp - 0x7bc]
mov edi, 0xff03
dec esi
mov dword [ebp - 0x790], esi
test si, si
jns 0x480984
jmp 0x48288d
mov eax, dword [ebp - 0x88c]
xor esi, esi
mov dword [ebp - 0x7b0], esi
cmp ax, 0x6a
je 0x480b4f
cmp ax, 0x4a
jne 0x480c22
cmp di, 0x70
je 0x480b5f
cmp di, 0x50
jne 0x480c22
cmp dx, 0x65
je 0x480b6f
cmp dx, 0x45
jne 0x480c22
mov edx, dword [ebp - 0x790]
mov edi, dword [ebp - 0x7bc]
movsx eax, dx
movzx eax, word [edi + eax*2 + 8]
cmp eax, 0x67
je 0x480b91
cmp eax, 0x47
jne 0x480c28
lea eax, [edx + 4]
movzx edi, ax
lea edx, [ecx + 1]
movzx eax, dx
cmp ax, di
jg 0x480be0
mov ecx, dword [ebp - 0x7bc]
lea eax, [edx + esi]
cwde
movzx eax, word [ecx + eax*2]
movsx ecx, word [ebp - 0x7b0]
mov word [ebp + ecx*2 - 0x248], ax
cmp eax, 0x2f
jne 0x480bd1
mov eax, 0x5c
mov word [ebp + ecx*2 - 0x248], ax
inc esi
mov dword [ebp - 0x7b0], esi
lea eax, [edx + esi]
cmp ax, di
jle 0x480ba2
movsx eax, word [ebp - 0x7b0]
add eax, eax
cmp eax, 0x200
jae 0x4867ac
mov esi, dword [ebp - 0x980]
xor ecx, ecx
mov word [ebp + eax - 0x248], cx
mov ecx, esi
call fcn.0040d890
lea edx, [ebp - 0x248]
test eax, eax
je 0x480c30
lea ecx, [ebp - 0x648]
call fcn.0041dcd0
jmp 0x480c41
mov edx, dword [ebp - 0x790]
lea eax, [edx + 3]
jmp 0x480b94
lea eax, [ebp - 0x648]
mov ecx, esi
push eax
call fcn.0040b570
add esp, 4
mov ecx, 8
call fcn.00468dc0
mov esi, eax
mov dword [ebp - 0xadc], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x480c7c
push 8
mov ecx, esi
call fcn.004690d0
push dword [ebp - 0x770]
mov ecx, esi
call fcn.00468ef0
mov dword [ebp - 0x7cc], eax
jmp 0x480c86
mov dword [ebp - 0x7cc], 0
mov ecx, 0x10
mov dword [ebp - 4], 0xffffffff
call fcn.00468dc0
mov esi, eax
mov dword [ebp - 0xae0], esi
mov dword [ebp - 4], 1
test esi, esi
je 0x480ccd
push 0x10
mov ecx, esi
call fcn.00468ee0
push 0
lea eax, [ebp - 0x648]
mov ecx, esi
push eax
call fcn.00468fa0
mov edi, eax
mov dword [ebp - 0x844], eax
jmp 0x480cd5
xor edi, edi
mov dword [ebp - 0x844], edi
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x481082
mov ecx, edi
call fcn.00469050
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x7d4], esi
call fcn.00469090
cmp word [ebp - 0x834], 0x40
mov edi, eax
mov eax, dword [ebp - 0x778]
movsx ecx, word [eax + 6]
jne 0x480f1a
cmp ecx, esi
je 0x480d28
test esi, esi
je 0x480d28
imul edi, ecx
mov eax, edi
cdq
idiv esi
mov esi, ecx
mov edi, eax
cmp byte [ebp - 0x6b9], 0
movd xmm1, esi
cvtdq2pd xmm1, xmm1
movsd qword [ebp - 0x890], xmm1
je 0x480da4
mov eax, dword [ebp - 0x94c]
movaps xmm2, xmm1
mov edx, dword [ebp - 0x918]
sub eax, edx
mulsd xmm2, qword [ebp - 0x7b8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm2
jbe 0x480da4
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x81c]
sub ecx, eax
sub eax, edx
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
subsd xmm1, xmm2
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [ebp - 0xae8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x814], eax
jmp 0x480db6
mov dword [ebp - 0x814], 0
movsd qword [ebp - 0x890], xmm1
mov ecx, dword [ebp - 0x7cc]
push 2
call fcn.00468f40
movsd xmm1, qword [ebp - 0x7b8]
movsd xmm0, qword [ebp - 0x890]
mov eax, dword [ebp - 0x778]
mulsd xmm0, xmm1
mov ecx, dword [ebp - 0x7e0]
movzx eax, word [eax + 6]
cwde
cvttsd2si edx, xmm0
mov esi, dword [ecx + 8]
mov ecx, dword [ebp - 0x7ec]
mov ecx, dword [ecx]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x7d4], edx
mov edx, dword [ebp - 0x7c4]
mulsd xmm0, xmm1
cvttsd2si edi, xmm0
movsd xmm0, qword [edx + 0x18]
comisd xmm0, xmmword [ebp - 0xa20]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jbe 0x480e44
sub esi, eax
sub esi, ecx
sub esi, dword [ebp - 0x814]
sub esi, dword [ebp - 0x918]
jmp 0x480e66
sub esi, eax
sub esi, ecx
sub esi, dword [ebp - 0x814]
mov eax, esi
sub esi, dword [ebp - 0x838]
sub eax, dword [ebp - 0x918]
cmp byte [ebp - 0x6b9], 0
cmovne esi, eax
mov eax, dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x7d4]
push edi
push edx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax + 4]
add ecx, dword [ebp - 0x798]
push ecx
push esi
push dword [ebp - 0x844]
mov dword [ebp - 0x89c], ecx
mov ecx, dword [ebp - 0x7cc]
call fcn.00468f60
mov ecx, dword [ebp - 0x910]
mov eax, 1
mov edx, dword [ebp - 0x89c]
push 1
mov word [ecx], ax
mov eax, dword [ebp - 0x7d4]
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea eax, [edi + edx]
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0x844]
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x87c]
mov ecx, 0x306f
mov word [eax], cx
mov eax, dword [ebp - 0x820]
mov dword [eax], edi
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0x7f4]
add dword [ebp - 0x798], edi
mov dword [ebp - 0x870], ecx
jmp 0x481078
cmp ecx, edi
je 0x480f32
test edi, edi
je 0x480f32
imul esi, ecx
mov eax, esi
cdq
idiv edi
mov edi, ecx
mov dword [ebp - 0x7d4], eax
cmp byte [ebp - 0x6b9], 0
je 0x480f6e
mov eax, dword [ebp - 0x94c]
sub eax, dword [ebp - 0x918]
cmp eax, edi
jle 0x480f6e
mov eax, dword [ebp - 0x81c]
sub eax, edi
sub eax, dword [ebp - 0x838]
cdq
sub eax, edx
mov esi, eax
sar esi, 1
sub esi, dword [ebp - 0x918]
add esi, dword [ebp - 0x838]
jmp 0x480f70
xor esi, esi
mov ecx, dword [ebp - 0x7cc]
push 2
call fcn.00468f40
movd xmm0, dword [ebp - 0x7d4]
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x798]
cvtdq2pd xmm0, xmm0
sub ecx, dword [eax]
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si edx, xmm0
movd xmm0, edi
mov dword [ebp - 0x7d4], edx
mov edx, dword [ebp - 0x7e0]
cvtdq2pd xmm0, xmm0
add ecx, dword [edx]
mov dword [ebp - 0x870], ecx
mov ecx, dword [eax + 4]
mov eax, dword [edx + 4]
mulsd xmm0, qword [ebp - 0x7b8]
mov edx, dword [ebp - 0x7c4]
cvttsd2si edi, xmm0
movsd xmm0, qword [edx + 0x18]
comisd xmm0, xmmword [ebp - 0xa20]
jbe 0x480ff2
sub eax, ecx
add eax, esi
add eax, dword [ebp - 0x918]
jmp 0x48100d
sub esi, ecx
add esi, eax
cmp byte [ebp - 0x6b9], 0
mov eax, dword [ebp - 0x918]
jne 0x48100b
mov eax, dword [ebp - 0x838]
add eax, esi
mov edx, dword [ebp - 0x7d4]
mov esi, dword [ebp - 0x844]
mov ecx, dword [ebp - 0x7cc]
push edi
push edx
push eax
push dword [ebp - 0x870]
push esi
call fcn.00468f60
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x87c]
mov ecx, 0x306f
mov word [eax], cx
mov ecx, dword [ebp - 0x820]
mov eax, dword [ebp - 0x7d4]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x7e0]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x7ec]
sub edx, dword [ecx + 4]
add edx, dword [ebp - 0x7f4]
add dword [ebp - 0x798], eax
mov dword [ebp - 0x89c], edx
mov dword [ebp - 0x7fc], 1
mov eax, dword [ebp - 0x7cc]
test eax, eax
je 0x47654b
push 1
mov ecx, eax
call fcn.004867c0
jmp 0x48288d
mov ecx, dword [ebp - 0x780]
xor esi, esi
mov dword [ebp - 0x998], esi
cmp cx, 7
jne 0x48115b
movzx edi, word [edx]
mov eax, 0xff3b
cmp di, ax
jne 0x48268a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4820fc
mov eax, 0x5b57
cmp word [edx + 6], ax
jne 0x4820fc
mov eax, 0x4e0b
cmp word [edx + 8], ax
jne 0x4820fc
mov edi, 0x3052
cmp word [edx + 0xa], di
jne 0x4820fc
mov eax, 0xff3d
cmp word [edx + 0xc], ax
jne 0x4820fc
mov eax, dword [ebp - 0x91c]
xor ecx, ecx
movzx esi, word [eax]
nop dword [eax]
lea eax, [ecx + 1]
movzx edx, ax
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp si, word [eax]
je 0x481154
mov ecx, edx
cmp cx, 9
jl 0x481120
mov edx, dword [ebp - 0x7bc]
mov ecx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x91c]
jmp 0x4820ff
mov esi, edx
jmp 0x4813d9
cmp cx, 8
jne 0x481210
movzx edi, word [edx]
mov eax, 0xff3b
cmp di, ax
jne 0x48268a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4820fc
mov eax, 0x5b57
cmp word [edx + 8], ax
jne 0x4820fc
mov esi, 0x4e0b
cmp word [edx + 0xa], si
jne 0x4820fc
mov eax, 0x3052
cmp word [edx + 0xc], ax
jne 0x4820fc
mov eax, 0xff3d
cmp word [edx + 0xe], ax
jne 0x4820fc
mov eax, dword [ebp - 0x91c]
mov ecx, 9
movzx esi, word [eax]
nop
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4811f2
mov eax, dword [ebp - 0x898]
mov ax, word [eax]
cmp ax, word [edx + 2]
je 0x4813d3
inc ecx
cmp cx, 0x1e
jl 0x4811d0
mov edx, dword [ebp - 0x7bc]
mov ecx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x91c]
jmp 0x4820ff
cmp cx, 0xa
jne 0x4812e8
movzx edi, word [edx]
mov eax, 0xff3b
cmp di, ax
jne 0x48268a
mov eax, 0xff03
cmp word [edx + 2], ax
lea eax, [edx + 4]
jne 0x4820ff
mov esi, 0x5929
cmp word [eax], si
jne 0x4820ff
mov edi, 0x304b
cmp word [edx + 6], di
jne 0x4820ff
mov edi, 0x3089
cmp word [edx + 8], di
jne 0x4820ff
mov edi, 0x5b57
cmp word [edx + 0xc], di
jne 0x4820ff
mov edi, 0x4e0b
cmp word [edx + 0xe], di
jne 0x4820ff
mov edi, 0x3052
cmp word [edx + 0x10], di
jne 0x4820ff
mov edi, 0xff3d
cmp word [edx + 0x12], di
jne 0x4820ff
mov eax, dword [ebp - 0x978]
xor ecx, ecx
movzx esi, word [eax]
lea eax, [ecx + 1]
movzx edx, ax
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp si, word [eax]
je 0x481154
mov ecx, edx
cmp cx, 9
jl 0x4812b0
mov edx, dword [ebp - 0x7bc]
mov ecx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x91c]
jmp 0x4820ff
cmp cx, 0xb
jne 0x4814b6
mov eax, 0xff3b
cmp word [edx], ax
jne 0x4820fc
mov edi, 0xff03
lea esi, [edx + 4]
cmp word [edx + 2], di
jne 0x4814d0
mov eax, 0x5929
cmp word [esi], ax
lea eax, [edx + 6]
jne 0x4814d3
mov edi, 0x304b
cmp word [eax], di
jne 0x4814d3
mov edi, 0x3089
cmp word [edx + 8], di
jne 0x4814d3
mov edi, 0x5b57
cmp word [edx + 0xe], di
jne 0x4814d3
mov edi, 0x4e0b
cmp word [edx + 0x10], di
jne 0x4814d3
mov edi, 0x3052
cmp word [edx + 0x12], di
jne 0x4814d3
mov edi, 0xff3d
cmp word [edx + 0x14], di
jne 0x4814d3
mov eax, dword [ebp - 0x978]
mov ecx, 9
movzx esi, word [eax]
nop word [eax + eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4813af
mov edi, dword [ebp - 0x7bc]
mov ax, word [edi + 0xc]
cmp ax, word [edx + 2]
je 0x4813d3
inc ecx
cmp cx, 0x1e
jl 0x481390
mov edx, dword [ebp - 0x7bc]
mov ecx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x898]
mov esi, dword [ebp - 0x91c]
jmp 0x4814d3
lea eax, [ecx + 1]
movzx esi, ax
mov dword [ebp - 0x998], esi
test si, si
jle 0x4814ac
mov edi, dword [ebp - 0x770]
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
lea eax, [ebp - 0x6c8]
push 0
push 0
push 1
push eax
push edi
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x778]
mov edx, 1
movd xmm0, dword [ebp - 0x6a8]
movsd xmm2, qword [ebp - 0x7b8]
cvtdq2pd xmm0, xmm0
mov eax, dword [ecx + 0xc]
mov cl, byte [ebp - 0x771]
mov dword [ebp - 0x79c], edx
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
movsx eax, si
mov esi, dword [ebp - 0x77c]
mulsd xmm1, xmm2
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
movzx eax, ax
mov dword [ebp - 0x9b8], eax
cwde
movd xmm0, eax
sub eax, dword [ebp - 0x9a8]
add dword [ebp - 0x798], eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm0, xmm1
movsd qword [ebp - 0x830], xmm0
movsd qword [ebp - 0x810], xmm0
jmp 0x4828ad
mov ecx, dword [ebp - 0x780]
cmp cx, 0xb
mov edx, dword [ebp - 0x7bc]
jl 0x4815a3
mov eax, dword [ebp - 0x898]
mov esi, dword [ebp - 0x91c]
jmp 0x4814d3
lea eax, [edx + 6]
mov edi, 0xff3b
cmp word [edx], di
mov edi, 0xff03
jne 0x4815a3
cmp word [edx + 2], di
jne 0x4815a3
mov edi, 0x3053
cmp word [esi], di
jne 0x4815a3
cmp word [eax], di
jne 0x4815a3
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x4815a3
mov esi, 0x3089
cmp word [edx + 0xa], si
jne 0x4815a3
mov eax, 0x5b57
cmp word [edx + 0xe], ax
jne 0x4815a3
mov eax, 0x4e0b
cmp word [edx + 0x10], ax
jne 0x4815a3
mov eax, 0x3052
cmp word [edx + 0x12], ax
jne 0x4815a3
movzx edx, word [edx + 0xc]
xor ecx, ecx
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x481568
inc ecx
cmp cx, 9
jl 0x481550
jmp 0x481597
mov edx, dword [ebp - 0x904]
mov esi, dword [ebp - 0x77c]
movsx eax, cx
lea ecx, [eax + 1]
inc eax
shl ecx, 0xd
shl eax, 8
or ecx, eax
mov eax, dword [edx]
and eax, 0xfffc00ff
or ecx, eax
or ecx, 8
mov dword [edx], ecx
or dword [esi], 0x20000
mov ecx, dword [ebp - 0x780]
mov edx, dword [ebp - 0x7bc]
cmp cx, 0x16
jne 0x4818ff
mov eax, 0xff3b
cmp word [edx], ax
jne 0x481f58
mov eax, 0xff03
lea edi, [edx + 4]
cmp word [edx + 2], ax
jne 0x481afa
mov eax, 0x3053
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x48177b
mov ecx, 0x3053
cmp word [eax], cx
mov ecx, dword [ebp - 0x780]
jne 0x48177b
mov esi, 0x304b
cmp word [edx + 8], si
jne 0x48177b
mov eax, 0x3089
cmp word [edx + 0xa], ax
lea eax, [edx + 6]
jne 0x48177b
mov ecx, 0x6539
cmp word [edx + 0xc], cx
mov ecx, dword [ebp - 0x780]
jne 0x48177b
mov esi, 0x884c
cmp word [edx + 0xe], si
jne 0x48177b
mov ecx, 0x5929
cmp word [edx + 0x10], cx
mov ecx, dword [ebp - 0x780]
jne 0x48177b
mov eax, 0x4ed8
cmp word [edx + 0x12], ax
lea eax, [edx + 6]
jne 0x48177b
mov ecx, 0x304d
cmp word [edx + 0x14], cx
mov ecx, dword [ebp - 0x780]
jne 0x48177b
mov ecx, 0x3001
cmp word [edx + 0x16], cx
mov ecx, dword [ebp - 0x780]
jne 0x48177b
mov ecx, 0x6298
cmp word [edx + 0x18], cx
mov ecx, dword [ebp - 0x780]
jne 0x48177b
mov esi, 0x308a
cmp word [edx + 0x1a], si
jne 0x48177b
mov ecx, 0x8fd4
cmp word [edx + 0x1c], cx
mov ecx, dword [ebp - 0x780]
jne 0x48177b
mov eax, 0x3057
cmp word [edx + 0x1e], ax
lea eax, [edx + 6]
jne 0x48177b
mov ecx, 0x3066
cmp word [edx + 0x20], cx
mov ecx, dword [ebp - 0x780]
jne 0x48177b
mov esi, 0x5b57
cmp word [edx + 0x24], si
jne 0x48177b
mov eax, 0x4e0b
cmp word [edx + 0x26], ax
lea eax, [edx + 6]
jne 0x48177b
mov eax, 0x3052
cmp word [edx + 0x28], ax
lea eax, [edx + 6]
jne 0x48177b
mov esi, 0xff3d
cmp word [edx + 0x2a], si
mov esi, dword [ebp - 0x77c]
jne 0x48177b
movzx edx, word [edx + 0x22]
xor ecx, ecx
nop
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x481753
inc ecx
cmp cx, 9
jl 0x481730
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov edx, dword [ebp - 0x904]
movsd xmm2, qword [ebp - 0x7b8]
movsx ecx, cx
inc ecx
mov eax, dword [edx]
shl ecx, 0xd
and eax, 0xfffc00ff
or ecx, eax
or ecx, 8
mov dword [edx], ecx
jmp 0x48289b
mov esi, 0x3053
cmp word [edi], si
jne 0x481afa
cmp word [eax], si
jne 0x481afa
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x481afa
mov eax, 0x3089
cmp word [edx + 0xa], ax
jne 0x481afa
mov eax, 0x5b57
cmp word [edx + 0xe], ax
jne 0x481afa
mov eax, 0x4e0b
cmp word [edx + 0x10], ax
jne 0x481afa
mov eax, 0x3052
cmp word [edx + 0x12], ax
jne 0x481afa
mov eax, 0x3001
cmp word [edx + 0x14], ax
jne 0x481afa
mov eax, 0x6298
cmp word [edx + 0x16], ax
jne 0x481afa
mov eax, 0x308a
cmp word [edx + 0x18], ax
jne 0x481afa
mov eax, 0x8fd4
cmp word [edx + 0x1a], ax
jne 0x481afa
mov eax, 0x3057
cmp word [edx + 0x1c], ax
jne 0x481afa
mov eax, 0x3066
cmp word [edx + 0x1e], ax
mov eax, 0x5b57
jne 0x481afa
cmp word [edx + 0x24], ax
jne 0x481afa
mov eax, 0x4e0b
cmp word [edx + 0x26], ax
jne 0x481afa
mov eax, 0x3052
cmp word [edx + 0x28], ax
jne 0x481afa
mov eax, 0xff3d
cmp word [edx + 0x2a], ax
jne 0x481afa
movzx edx, word [edx + 0xc]
xor ecx, ecx
nop dword [eax]
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x481898
inc ecx
cmp cx, 9
jl 0x481880
jmp 0x4818b3
mov edx, dword [ebp - 0x904]
movsx ecx, cx
inc ecx
shl ecx, 8
mov eax, dword [edx]
and eax, 0xfffc00ff
or ecx, eax
or ecx, 8
mov dword [edx], ecx
mov edi, dword [ebp - 0x7bc]
mov ecx, 9
movzx esi, word [edi + 0x20]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4818db
mov ax, word [edi + 0x22]
cmp ax, word [edx + 2]
je 0x4818e7
inc ecx
cmp cx, 0x1e
jl 0x4818c2
jmp 0x48288d
movsx eax, cx
mov ecx, dword [ebp - 0x904]
shl eax, 0xd
add eax, 0x2000
or dword [ecx], eax
jmp 0x48288d
cmp cx, 0x15
jne 0x481aed
mov eax, 0xff3b
cmp word [edx], ax
jne 0x4820fc
mov eax, 0xff03
lea edi, [edx + 4]
cmp word [edx + 2], ax
jne 0x481afa
mov eax, 0x3053
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x481afd
mov ecx, 0x3053
cmp word [eax], cx
mov ecx, dword [ebp - 0x780]
jne 0x481afd
mov eax, 0x304b
cmp word [edx + 8], ax
lea eax, [edx + 6]
jne 0x481afd
mov ecx, 0x3089
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x780]
jne 0x481afd
mov esi, 0x5b57
cmp word [edx + 0xe], si
jne 0x481afd
mov ecx, 0x4e0b
cmp word [edx + 0x10], cx
mov ecx, dword [ebp - 0x780]
jne 0x481afd
mov esi, 0x3052
cmp word [edx + 0x12], si
jne 0x481afd
mov esi, 0x3001
cmp word [edx + 0x14], si
jne 0x481afd
mov ecx, 0x6298
cmp word [edx + 0x16], cx
mov ecx, dword [ebp - 0x780]
jne 0x481afd
mov eax, 0x308a
cmp word [edx + 0x18], ax
lea eax, [edx + 6]
jne 0x481afd
mov eax, 0x8fd4
cmp word [edx + 0x1a], ax
lea eax, [edx + 6]
jne 0x481afd
mov esi, 0x3057
cmp word [edx + 0x1c], si
jne 0x481afd
mov eax, 0x3066
cmp word [edx + 0x1e], ax
lea eax, [edx + 6]
jne 0x481afd
mov ecx, 0x5b57
cmp word [edx + 0x22], cx
mov ecx, dword [ebp - 0x780]
jne 0x481afd
mov esi, 0x4e0b
cmp word [edx + 0x24], si
jne 0x481afd
mov esi, 0x3052
cmp word [edx + 0x26], si
jne 0x481afd
mov esi, 0xff3d
cmp word [edx + 0x28], si
mov esi, dword [ebp - 0x77c]
jne 0x481afd
movzx edx, word [edx + 0xc]
xor ecx, ecx
nop
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x481a7e
inc ecx
cmp cx, 9
jl 0x481a60
mov edi, dword [ebp - 0x904]
jmp 0x481a99
mov edi, dword [ebp - 0x904]
movsx ecx, cx
inc ecx
shl ecx, 8
mov eax, dword [edi]
and eax, 0xfffc00ff
or ecx, eax
or ecx, 8
mov dword [edi], ecx
mov eax, dword [ebp - 0x7bc]
xor ecx, ecx
movzx edx, word [eax + 0x20]
nop word [eax + eax]
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x481ad3
inc ecx
cmp cx, 9
jl 0x481ab0
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
movsd xmm2, qword [ebp - 0x7b8]
movsx eax, cx
shl eax, 0xd
add eax, 0x2000
or dword [edi], eax
jmp 0x48289b
cmp cx, 0xc
jl 0x481bfd
lea edi, [edx + 4]
lea eax, [edx + 6]
mov esi, 0xff3b
cmp word [edx], si
jne 0x481bfd
mov ecx, 0xff03
cmp word [edx + 2], cx
mov ecx, dword [ebp - 0x780]
jne 0x481bfd
mov ecx, 0x3053
cmp word [edi], cx
mov ecx, dword [ebp - 0x780]
jne 0x481bfd
mov edi, 0x3053
cmp word [eax], di
jne 0x481bfd
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x481bfd
mov eax, 0x3089
cmp word [edx + 0xa], ax
jne 0x481bfd
mov eax, 0x5b57
cmp word [edx + 0x10], ax
jne 0x481bfd
mov eax, 0x4e0b
cmp word [edx + 0x12], ax
jne 0x481bfd
mov eax, 0x3052
cmp word [edx + 0x14], ax
jne 0x481bfd
movzx esi, word [edx + 0xc]
mov ecx, 9
nop word [eax + eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x481bbf
mov eax, dword [ebp - 0x7bc]
mov ax, word [eax + 0xe]
cmp ax, word [edx + 2]
je 0x481bc8
inc ecx
cmp cx, 0x1e
jl 0x481ba0
jmp 0x481bf7
mov edx, dword [ebp - 0x904]
movsx eax, cx
lea ecx, [eax + 1]
inc eax
shl eax, 8
shl ecx, 0xd
or ecx, eax
mov eax, dword [edx]
and eax, 0xfffc00ff
or ecx, eax
mov eax, dword [ebp - 0x77c]
or ecx, 8
mov dword [edx], ecx
or dword [eax], 0x20000
mov ecx, dword [ebp - 0x780]
mov edx, dword [ebp - 0x7bc]
cmp cx, 0x17
jne 0x481f49
movzx edi, word [edx]
mov eax, 0xff3b
cmp di, ax
jne 0x48268a
mov eax, 0xff03
cmp word [edx + 2], ax
lea eax, [edx + 4]
jne 0x4820ff
mov edi, 0x3053
lea esi, [edx + 6]
cmp word [eax], di
jne 0x481dbb
cmp word [esi], di
jne 0x481dbb
mov edi, 0x304b
cmp word [edx + 8], di
lea edi, [edx + 0xa]
jne 0x481dbe
mov ecx, 0x3089
cmp word [edi], cx
jne 0x481dbe
mov esi, 0x6539
cmp word [edx + 0xc], si
lea esi, [edx + 6]
jne 0x481dbe
mov ecx, 0x884c
cmp word [edx + 0xe], cx
jne 0x481dbe
mov esi, 0x5929
cmp word [edx + 0x10], si
lea esi, [edx + 6]
jne 0x481dbe
mov edi, 0x4ed8
cmp word [edx + 0x12], di
lea edi, [edx + 0xa]
jne 0x481dbe
mov esi, 0x304d
cmp word [edx + 0x14], si
lea esi, [edx + 6]
jne 0x481dbe
mov esi, 0x3001
cmp word [edx + 0x16], si
lea esi, [edx + 6]
jne 0x481dbe
mov esi, 0x6298
cmp word [edx + 0x18], si
lea esi, [edx + 6]
jne 0x481dbe
mov ecx, 0x308a
cmp word [edx + 0x1a], cx
jne 0x481dbe
mov esi, 0x8fd4
cmp word [edx + 0x1c], si
lea esi, [edx + 6]
jne 0x481dbe
mov edi, 0x3057
cmp word [edx + 0x1e], di
lea edi, [edx + 0xa]
jne 0x481dbe
mov esi, 0x3066
cmp word [edx + 0x20], si
lea esi, [edx + 6]
jne 0x481dbe
mov ecx, 0x5b57
cmp word [edx + 0x26], cx
jne 0x481dbe
mov edi, 0x4e0b
cmp word [edx + 0x28], di
lea edi, [edx + 0xa]
jne 0x481dbe
mov edi, 0x3052
cmp word [edx + 0x2a], di
lea edi, [edx + 0xa]
jne 0x481dbe
mov ecx, 0xff3d
cmp word [edx + 0x2c], cx
jne 0x481dbe
movzx esi, word [edx + 0x22]
mov ecx, 9
nop dword [eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x481d8f
mov eax, dword [ebp - 0x7bc]
mov ax, word [eax + 0x24]
cmp ax, word [edx + 2]
je 0x481d9b
inc ecx
cmp cx, 0x1e
jl 0x481d70
jmp 0x48288d
mov edx, dword [ebp - 0x904]
movsx ecx, cx
inc ecx
shl ecx, 0xd
mov eax, dword [edx]
and eax, 0xfffc00ff
or ecx, eax
or ecx, 8
mov dword [edx], ecx
jmp 0x48288d
lea edi, [edx + 0xa]
mov ecx, 0x3053
cmp word [eax], cx
mov ecx, dword [ebp - 0x780]
jne 0x4820ff
mov ecx, 0x3053
cmp word [esi], cx
mov ecx, dword [ebp - 0x780]
jne 0x4820ff
mov esi, 0x304b
cmp word [edx + 8], si
jne 0x4820ff
mov ecx, 0x3089
cmp word [edi], cx
mov ecx, dword [ebp - 0x780]
jne 0x4820ff
mov edi, 0x5b57
cmp word [edx + 0x10], di
jne 0x4820ff
mov edi, 0x4e0b
cmp word [edx + 0x12], di
jne 0x4820ff
mov edi, 0x3052
cmp word [edx + 0x14], di
jne 0x4820ff
mov edi, 0x3001
cmp word [edx + 0x16], di
jne 0x4820ff
mov edi, 0x6298
cmp word [edx + 0x18], di
jne 0x4820ff
mov edi, 0x308a
cmp word [edx + 0x1a], di
jne 0x4820ff
mov edi, 0x8fd4
cmp word [edx + 0x1c], di
jne 0x4820ff
mov edi, 0x3057
cmp word [edx + 0x1e], di
jne 0x4820ff
mov edi, 0x3066
cmp word [edx + 0x20], di
mov edi, 0x5b57
jne 0x4820ff
cmp word [edx + 0x26], di
jne 0x4820ff
mov edi, 0x4e0b
cmp word [edx + 0x28], di
jne 0x4820ff
mov edi, 0x3052
cmp word [edx + 0x2a], di
jne 0x4820ff
movzx esi, word [edx + 0xc]
mov ecx, 9
nop word [eax + eax]
mov edi, dword [ebp - 0x7bc]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x481eef
mov ax, word [edi + 0xe]
cmp ax, word [edx + 2]
je 0x481ef8
inc ecx
cmp cx, 0x1e
jl 0x481ed0
jmp 0x481f13
mov edx, dword [ebp - 0x904]
movsx ecx, cx
inc ecx
shl ecx, 8
mov eax, dword [edx]
and eax, 0xfffc00ff
or ecx, eax
or ecx, 8
mov dword [edx], ecx
movzx esi, word [edi + 0x22]
mov ecx, 9
nop dword [eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x481f3d
mov ax, word [edi + 0x24]
cmp ax, word [edx + 2]
je 0x4818e7
inc ecx
cmp cx, 0x1e
jl 0x481f20
jmp 0x48288d
cmp cx, 0x16
jne 0x481149
mov eax, 0xff3b
movzx edi, word [edx]
cmp di, ax
jne 0x48268a
mov eax, 0xff03
cmp word [edx + 2], ax
lea eax, [edx + 4]
jne 0x4820ff
mov edi, 0x3053
cmp word [eax], di
jne 0x4820ff
cmp word [edx + 6], di
jne 0x4820ff
mov edi, 0x304b
cmp word [edx + 8], di
jne 0x4820ff
mov ecx, 0x3089
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x780]
jne 0x4820ff
mov edi, 0x5b57
cmp word [edx + 0x10], di
jne 0x4820ff
mov edi, 0x4e0b
cmp word [edx + 0x12], di
jne 0x4820ff
mov edi, 0x3052
cmp word [edx + 0x14], di
jne 0x4820ff
mov edi, 0x3001
cmp word [edx + 0x16], di
jne 0x4820ff
mov edi, 0x6298
cmp word [edx + 0x18], di
jne 0x4820ff
mov edi, 0x308a
cmp word [edx + 0x1a], di
jne 0x4820ff
mov edi, 0x8fd4
cmp word [edx + 0x1c], di
jne 0x4820ff
mov edi, 0x3057
cmp word [edx + 0x1e], di
jne 0x4820ff
mov edi, 0x3066
cmp word [edx + 0x20], di
mov edi, 0x5b57
jne 0x4820ff
cmp word [edx + 0x24], di
jne 0x4820ff
mov edi, 0x4e0b
cmp word [edx + 0x26], di
jne 0x4820ff
mov edi, 0x3052
cmp word [edx + 0x28], di
jne 0x4820ff
mov edi, 0xff3d
cmp word [edx + 0x2a], di
jne 0x4820ff
movzx esi, word [edx + 0xc]
mov ecx, 9
nop
mov edi, dword [ebp - 0x7bc]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x48209f
mov ax, word [edi + 0xe]
cmp ax, word [edx + 2]
je 0x4820cd
inc ecx
cmp cx, 0x1e
jl 0x482080
mov esi, dword [ebp - 0x904]
movzx edx, word [edi + 0x22]
xor ecx, ecx
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x4820ea
inc ecx
cmp cx, 9
jl 0x4820b2
jmp 0x48288d
mov esi, dword [ebp - 0x904]
movsx ecx, cx
inc ecx
shl ecx, 8
mov eax, dword [esi]
and eax, 0xfffc00ff
or ecx, eax
or ecx, 8
mov dword [esi], ecx
jmp 0x4820ac
movsx eax, cx
shl eax, 0xd
add eax, 0x2000
or dword [esi], eax
jmp 0x48288d
lea eax, [edx + 4]
movzx edi, word [edx]
mov esi, 0xff3b
cmp di, si
lea esi, [edx + 6]
jne 0x4823e2
mov ecx, 0xff03
cmp word [edx + 2], cx
mov ecx, dword [ebp - 0x780]
jne 0x4823e2
mov ecx, 0x3053
cmp word [eax], cx
mov ecx, dword [ebp - 0x780]
jne 0x4823e2
mov ecx, 0x3053
cmp word [esi], cx
mov ecx, dword [ebp - 0x780]
jne 0x4823e2
mov esi, 0x3067
cmp word [edx + 8], si
lea esi, [edx + 6]
jne 0x4823e2
mov ecx, 0x5b57
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x780]
jne 0x4823e2
mov esi, 0x4e0b
cmp word [edx + 0xc], si
lea esi, [edx + 6]
jne 0x4823e2
mov esi, 0x3052
cmp word [edx + 0xe], si
lea esi, [edx + 6]
jne 0x4823e2
mov eax, dword [ebp - 0x904]
mov esi, dword [ebp - 0x77c]
and dword [eax], 0xfffc00f7
mov eax, dword [esi]
test eax, 0x80000
je 0x476551
test al, 1
je 0x4823cf
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7f6]
movzx eax, byte [edx + 0x7f5]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7f4]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x944]
push 0
call dword [ebp - 0x9cc]
push eax
push dword [ebp - 0x770]
mov dword [ebp - 0x8f4], eax
call dword [ebp - 0x78c]
mov dword [ebp - 0x98c], eax
mov eax, dword [ebp - 0x9c4]
movsx ecx, ax
mov eax, dword [ebp - 0x7e4]
cdq
sub eax, edx
movd xmm0, ecx
mov edx, eax
mov eax, dword [ebp - 0x9c8]
mov ecx, dword [ebp - 0x7e0]
cvtdq2pd xmm0, xmm0
movsx esi, ax
sar edx, 1
cmp word [ebp - 0x834], 0x40
push 0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
jne 0x48231d
cmp byte [ebp - 0x881], 0
mov dword [ebp - 0x7d4], eax
cvttsd2si eax, xmm0
mov dword [ebp - 0x88c], eax
je 0x4822d5
mov eax, dword [ebp - 0x77c]
or dword [eax], 0x4000
mov edi, dword [ecx + 8]
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ecx + 4]
mov esi, ecx
sub edi, dword [eax]
mov eax, dword [eax + 4]
sub esi, eax
sub edi, dword [ebp - 0x94c]
sub ecx, eax
add edi, dword [ebp - 0x824]
sub ecx, edx
add esi, dword [ebp - 0x7d4]
cvttsd2si eax, xmm0
add esi, edx
add ecx, eax
push ecx
push edi
push dword [ebp - 0x770]
call dword [ebp - 0x920]
push esi
push edi
jmp 0x48239e
mov edi, dword [ecx + 8]
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ecx + 4]
mov esi, ecx
sub edi, dword [eax]
mov eax, dword [eax + 4]
sub esi, eax
sub edi, dword [ebp - 0x918]
sub ecx, eax
add edi, dword [ebp - 0x824]
sub ecx, edx
add ecx, dword [ebp - 0x88c]
add esi, dword [ebp - 0x7d4]
push ecx
push edi
push dword [ebp - 0x770]
add esi, edx
call dword [ebp - 0x920]
push esi
push edi
jmp 0x48239e
add eax, edx
mov dword [ebp - 0x7d4], eax
cvttsd2si eax, xmm0
sub eax, edx
cmp byte [ebp - 0x881], 0
mov dword [ebp - 0x854], eax
je 0x482360
mov eax, dword [ebp - 0x77c]
or dword [eax], 0x4000
mov eax, dword [ebp - 0x7ec]
mov edi, dword [ecx + 4]
sub edi, dword [eax + 4]
sub edi, dword [ebp - 0x824]
add edi, dword [ebp - 0x94c]
jmp 0x482378
mov eax, dword [ebp - 0x7ec]
mov edi, dword [ecx + 4]
sub edi, dword [eax + 4]
sub edi, dword [ebp - 0x824]
add edi, dword [ebp - 0x918]
mov ecx, dword [ecx]
mov esi, ecx
mov eax, dword [eax]
sub ecx, eax
add ecx, dword [ebp - 0x854]
sub esi, eax
add esi, dword [ebp - 0x7d4]
push edi
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x920]
push edi
push esi
mov edi, dword [ebp - 0x770]
push edi
call dword [ebp - 0x924]
mov esi, dword [ebp - 0x8f4]
test esi, esi
je 0x4823c9
push dword [ebp - 0x98c]
push edi
call dword [ebp - 0x78c]
push esi
call dword [ebp - 0x9c0]
mov esi, dword [ebp - 0x77c]
and dword [esi], 0xfff7fffc
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
cmp cx, 6
jne 0x482467
mov esi, 0xff3b
cmp di, si
lea esi, [edx + 6]
jne 0x48268d
mov ecx, 0xff03
cmp word [edx + 2], cx
mov ecx, dword [ebp - 0x780]
jne 0x48268d
mov ecx, 0x5730
cmp word [eax], cx
mov ecx, dword [ebp - 0x780]
jne 0x48268d
mov eax, 0x4ed8
cmp word [esi], ax
jne 0x48268d
mov eax, 0x304d
cmp word [edx + 8], ax
jne 0x48268d
mov ecx, 0xff3d
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x780]
jne 0x48268d
mov dword [ebp - 0x954], 1
jmp 0x48269b
cmp cx, 0xa
jne 0x482565
mov eax, 0xff3b
cmp di, ax
jne 0x48268a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x48268a
mov esi, 0x5730
cmp word [edx + 4], si
jne 0x48268a
movzx eax, word [edx + 6]
mov esi, 0x304b
cmp ax, si
lea esi, [edx + 6]
jne 0x4824be
mov eax, 0x3089
cmp word [edx + 8], ax
je 0x4824da
jmp 0x48268d
cmp ax, word [ebp - 0xa54]
jne 0x48268d
mov eax, 0x308a
cmp word [edx + 8], ax
jne 0x48268d
mov eax, 0x5b57
cmp word [edx + 0xc], ax
jne 0x48268d
mov eax, 0x4e0a
cmp word [edx + 0xe], ax
jne 0x48268d
mov eax, 0x3052
cmp word [edx + 0x10], ax
jne 0x48268d
mov eax, 0xff3d
cmp word [edx + 0x12], ax
jne 0x48268d
mov eax, dword [ebp - 0x978]
xor ecx, ecx
movzx edx, word [eax]
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x482548
inc ecx
cmp cx, 9
jl 0x482521
mov edx, dword [ebp - 0x7bc]
mov ecx, dword [ebp - 0x780]
jmp 0x48268d
mov edx, dword [ebp - 0x7bc]
lea eax, [ecx + 2]
movzx ecx, ax
mov dword [ebp - 0x954], ecx
mov ecx, dword [ebp - 0x780]
jmp 0x48268d
cmp cx, 0xb
jne 0x48268d
mov esi, 0xff3b
cmp di, si
lea esi, [edx + 6]
jne 0x48268d
mov esi, 0xff03
cmp word [edx + 2], si
lea esi, [edx + 6]
jne 0x48268d
mov ecx, 0x5730
cmp word [eax], cx
mov ecx, dword [ebp - 0x780]
jne 0x48268d
movzx eax, word [esi]
mov ecx, 0x304b
cmp ax, cx
mov ecx, dword [ebp - 0x780]
jne 0x4825c9
mov eax, 0x3089
cmp word [edx + 8], ax
je 0x4825e5
jmp 0x48268d
cmp ax, word [ebp - 0xa54]
jne 0x48268d
mov eax, 0x308a
cmp word [edx + 8], ax
jne 0x48268d
mov eax, 0x5b57
cmp word [edx + 0xe], ax
jne 0x48268d
mov eax, 0x4e0a
cmp word [edx + 0x10], ax
jne 0x48268d
mov eax, 0x3052
cmp word [edx + 0x12], ax
jne 0x48268d
mov eax, 0xff3d
cmp word [edx + 0x14], ax
jne 0x48268d
mov eax, dword [ebp - 0x978]
mov ecx, 9
movzx esi, word [eax]
nop
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x48264f
mov eax, dword [ebp - 0x7bc]
mov ax, word [eax + 0xc]
cmp ax, word [edx + 2]
je 0x48266a
inc ecx
cmp cx, 0x1e
jl 0x482630
mov edx, dword [ebp - 0x7bc]
mov ecx, dword [ebp - 0x780]
mov esi, dword [ebp - 0x898]
jmp 0x48268d
mov edx, dword [ebp - 0x7bc]
lea eax, [ecx + 2]
mov esi, dword [ebp - 0x898]
movzx ecx, ax
mov dword [ebp - 0x954], ecx
mov ecx, dword [ebp - 0x780]
jmp 0x48268d
lea esi, [edx + 6]
cmp word [ebp - 0x954], 0
jle 0x482724
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x9f8]
cmp cx, word [eax + 0xa]
mov ecx, dword [ebp - 0x780]
je 0x482724
mov edi, dword [ebp - 0x770]
lea eax, [ebp - 0x6a8]
push eax
push dword [ebp - 0x7f0]
lea eax, [ebp - 0x6c8]
push 0
push 0
push 1
push eax
push edi
call dword [ebp - 0x878]
mov ecx, dword [ebp - 0x7c4]
mov eax, dword [ecx + 0x14]
movzx eax, word [eax + 8]
cmp ax, 2
je 0x482709
cmp ax, 1
je 0x482709
mov eax, dword [ebp - 0x798]
add eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x778]
movzx eax, word [ecx + 0xa]
mov cl, byte [ebp - 0x771]
mov dword [ebp - 0x9f8], eax
jmp 0x476c76
cmp cx, 0xa
jne 0x4827cb
mov eax, 0xff3b
cmp di, ax
jne 0x4829dc
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4829dc
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x4829dc
cmp word [esi], di
jne 0x4829dc
mov edi, 0x304b
cmp word [edx + 8], di
jne 0x4829dc
mov esi, 0x3089
cmp word [edx + 0xa], si
jne 0x4829dc
mov eax, 0x5730
cmp word [edx + 0xc], ax
jne 0x4829dc
mov eax, 0x4ed8
cmp word [edx + 0xe], ax
jne 0x4829dc
mov eax, 0x304d
cmp word [edx + 0x10], ax
jne 0x4829dc
mov eax, 0xff3d
cmp word [edx + 0x12], ax
jne 0x4829dc
mov eax, dword [ebp - 0x904]
or dword [eax], 4
jmp 0x482884
cmp cx, 0xc
jne 0x482af6
mov eax, 0xff3b
cmp di, ax
jne 0x4829dc
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4829dc
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x48295d
cmp word [esi], di
jne 0x48295d
mov edi, 0x3067
cmp word [edx + 8], di
lea edi, [edx + 0xa]
jne 0x482960
mov ecx, 0x5730
cmp word [edi], cx
jne 0x482960
mov ecx, 0x4ed8
cmp word [edx + 0xc], cx
jne 0x482960
mov ecx, 0x304d
cmp word [edx + 0xe], cx
jne 0x482960
mov esi, 0x7d42
cmp word [edx + 0x10], si
lea esi, [edx + 6]
jne 0x482960
mov edi, 0x308f
cmp word [edx + 0x12], di
lea edi, [edx + 0xa]
jne 0x482960
mov ecx, 0x308a
cmp word [edx + 0x14], cx
jne 0x482960
mov eax, dword [ebp - 0x904]
and dword [eax], 0xfffffffb
mov eax, dword [ebp - 0x974]
mov byte [eax], 0
movsd xmm2, qword [ebp - 0x7b8]
mov esi, dword [ebp - 0x77c]
mov cl, byte [ebp - 0x771]
mov edx, dword [ebp - 0x79c]
mov edi, dword [ebp - 0x770]
mov eax, dword [ebp - 0x778]
test byte [eax + 8], 0x40
jne 0x4828ea
cmp word [ebp - 0x834], 0x40
mov dword [ebp - 0x7d0], eax
jne 0x4828ce
test byte [esi], 0x20
jne 0x4828e3
mov edi, dword [ebp - 0x8e0]
movzx edi, di
mov dword [ebp - 0x850], edi
mov edi, dword [ebp - 0x770]
mov byte [ebp - 0x839], 1
mov dword [ebp - 0x7cc], eax
mov eax, dword [eax]
mov dword [ebp - 0x778], eax
mov eax, dword [esi]
test eax, 0x40000
je 0x485ed9
cmp word [ebp - 0x9d0], 0
jne 0x485ed9
mov esi, dword [ebp - 0x778]
test esi, esi
je 0x486330
mov edi, 0x400
test word [esi + 8], di
mov edi, dword [ebp - 0x770]
je 0x485ee6
mov esi, dword [ebp - 0x798]
mov dword [ebp - 0xa18], esi
mov esi, dword [ebp - 0x9f4]
mov dword [ebp - 0x9d0], 1
mov dword [ebp - 0x798], esi
jmp 0x485ee6
lea edi, [edx + 0xa]
mov ecx, 0x3053
cmp word [edx + 4], cx
mov ecx, dword [ebp - 0x780]
jne 0x4829dc
mov eax, 0x3053
cmp word [esi], ax
jne 0x4829dc
mov eax, 0x3067
cmp word [edx + 8], ax
jne 0x4829dc
movzx eax, word [edi]
mov esi, 0x5b57
cmp ax, si
je 0x4829a1
mov esi, 0x5730
cmp ax, si
jne 0x4829dc
mov eax, 0x4e0a
cmp word [edx + 0xc], ax
jne 0x4829dc
mov eax, 0x3052
cmp word [edx + 0xe], ax
jne 0x4829dc
mov eax, 0x7d42
cmp word [edx + 0x10], ax
jne 0x4829dc
mov eax, 0x308f
cmp word [edx + 0x12], ax
jne 0x4829dc
mov eax, 0x308a
cmp word [edx + 0x14], ax
je 0x48287b
cmp byte [ebp - 0x881], 0
mov esi, dword [ebp - 0x77c]
je 0x482d7f
test byte [esi], 2
je 0x482d7f
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7f6]
movzx eax, byte [edx + 0x7f5]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7f4]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x944]
push 0
call dword [ebp - 0x9cc]
push eax
push dword [ebp - 0x770]
mov dword [ebp - 0x854], eax
call dword [ebp - 0x78c]
mov dword [ebp - 0x8f4], eax
mov eax, dword [ebp - 0x9c8]
movsx ecx, ax
push 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x7e4]
cdq
sub eax, edx
mov edx, eax
mov eax, dword [ebp - 0x9c4]
movsx ecx, ax
sar edx, 1
cmp word [ebp - 0x834], 0x40
movd xmm0, ecx
mov ecx, dword [ebp - 0x7e0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
mov dword [ebp - 0x88c], eax
mov eax, dword [ebp - 0x7ec]
jne 0x482d09
mov edi, dword [ecx + 8]
mov esi, dword [ecx + 4]
mov ecx, esi
sub edi, dword [eax]
mov eax, dword [eax + 4]
sub ecx, eax
sub edi, dword [ebp - 0x918]
sub esi, eax
add edi, dword [ebp - 0x824]
sub ecx, edx
add ecx, dword [ebp - 0x7d4]
cvttsd2si eax, xmm0
push ecx
push edi
push dword [ebp - 0x770]
add esi, eax
add esi, edx
call dword [ebp - 0x920]
push esi
push edi
jmp 0x482d45
cmp cx, 0xe
jne 0x482bfc
mov eax, 0xff3b
cmp di, ax
jne 0x4829dc
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4829dc
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x4829dc
cmp word [esi], di
jne 0x4829dc
mov edi, 0x304b
cmp word [edx + 8], di
jne 0x4829dc
mov esi, 0x3089
cmp word [edx + 0xa], si
jne 0x4829dc
mov eax, 0x5730
cmp word [edx + 0xc], ax
jne 0x4829dc
cmp word [edx + 0xe], di
jne 0x4829dc
cmp word [edx + 0x10], si
jne 0x4829dc
mov eax, 0x5b57
cmp word [edx + 0x14], ax
jne 0x4829dc
mov eax, 0x4e0a
cmp word [edx + 0x16], ax
jne 0x4829dc
mov eax, 0x3052
cmp word [edx + 0x18], ax
jne 0x4829dc
mov eax, 0xff3d
cmp word [edx + 0x1a], ax
jne 0x4829dc
movzx esi, word [edx + 0x12]
xor ecx, ecx
nop dword [eax + eax]
lea eax, [ecx + 1]
movzx edx, ax
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp si, word [eax]
je 0x482be2
mov ecx, edx
cmp cx, 9
jl 0x482bc0
jmp 0x48288d
mov eax, dword [ebp - 0x904]
or dword [eax], 4
mov eax, dword [ebp - 0x974]
mov byte [eax], 0
or word [eax], dx
jmp 0x48288d
cmp cx, 0xf
jne 0x4829dc
mov eax, 0xff3b
cmp di, ax
jne 0x4829dc
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4829dc
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x4829dc
cmp word [esi], di
jne 0x4829dc
mov edi, 0x304b
cmp word [edx + 8], di
jne 0x4829dc
mov esi, 0x3089
cmp word [edx + 0xa], si
jne 0x4829dc
mov eax, 0x5730
cmp word [edx + 0xc], ax
jne 0x4829dc
cmp word [edx + 0xe], di
jne 0x4829dc
cmp word [edx + 0x10], si
jne 0x4829dc
mov eax, 0x5b57
cmp word [edx + 0x16], ax
jne 0x4829dc
mov eax, 0x4e0a
cmp word [edx + 0x18], ax
jne 0x4829dc
mov eax, 0x3052
cmp word [edx + 0x1a], ax
jne 0x4829dc
mov eax, 0xff3d
cmp word [edx + 0x1c], ax
jne 0x4829dc
movzx esi, word [edx + 0x12]
mov ecx, 9
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x482ce0
mov eax, dword [ebp - 0x7bc]
mov ax, word [eax + 0x14]
cmp ax, word [edx + 2]
je 0x482cec
inc ecx
cmp cx, 0x1e
jl 0x482cc1
jmp 0x48288d
mov eax, dword [ebp - 0x904]
mov edx, dword [ebp - 0x974]
or dword [eax], 4
lea eax, [ecx + 1]
mov byte [edx], 0
or word [edx], ax
jmp 0x48288d
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
mov ecx, esi
sub edi, dword [eax + 4]
mov eax, dword [eax]
sub ecx, eax
sub edi, dword [ebp - 0x824]
sub ecx, edx
add edi, dword [ebp - 0x918]
sub esi, eax
add ecx, dword [ebp - 0x7d4]
add esi, dword [ebp - 0x88c]
push edi
push ecx
push dword [ebp - 0x770]
add esi, edx
call dword [ebp - 0x920]
push edi
push esi
mov edi, dword [ebp - 0x770]
push edi
call dword [ebp - 0x924]
mov esi, dword [ebp - 0x854]
test esi, esi
je 0x482d70
push dword [ebp - 0x8f4]
push edi
call dword [ebp - 0x78c]
push esi
call dword [ebp - 0x9c0]
mov esi, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x780]
and dword [esi], 0xfffffffd
mov edx, dword [ebp - 0x7bc]
cmp cx, 0xa
jne 0x482e44
mov eax, 0xff3b
cmp word [edx], ax
jne 0x482e4e
mov edi, 0xff03
cmp word [edx + 2], di
jne 0x482e4e
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x482e4e
cmp word [edx + 6], di
jne 0x482e4e
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x482e4e
mov edi, 0x3089
cmp word [edx + 0xa], di
jne 0x482e4e
mov eax, 0x7f6b
cmp word [edx + 0xc], ax
jne 0x482e4e
mov eax, 0x56f2
cmp word [edx + 0xe], ax
jne 0x482e4e
mov eax, 0x307f
cmp word [edx + 0x10], ax
jne 0x482e4e
mov eax, 0xff3d
cmp word [edx + 0x12], ax
jne 0x482e4e
mov eax, dword [esi]
or eax, 3
mov dword [esi], eax
test eax, 0x20000
je 0x476551
movsd xmm2, qword [ebp - 0x7b8]
or eax, 0x80000
mov dword [esi], eax
jmp 0x48289b
movsd xmm2, qword [ebp - 0x7b8]
mov esi, eax
jmp 0x48289b
cmp cx, 6
jl 0x482ef6
movsx eax, cx
movzx ecx, word [edx + eax*2 - 0xa]
cmp cx, word [ebp - 0xa58]
je 0x482ef0
mov edi, 0x7f6b
cmp word [edx + eax*2 - 8], di
jne 0x482ef0
mov edi, 0x56f2
cmp word [edx + eax*2 - 6], di
jne 0x482ef0
mov edi, 0x307f
cmp word [edx + eax*2 - 4], di
jne 0x482ef0
mov edi, 0xff3d
cmp word [edx + eax*2 - 2], di
mov edi, 0xff03
jne 0x482ef0
cmp cx, di
je 0x482ed1
cmp word [ebp - 0x780], 7
jl 0x482edd
mov edi, 0x91cd
cmp cx, di
jne 0x482edd
mov ecx, 0x4e8c
cmp word [edx + eax*2 - 0xc], cx
jne 0x482edd
mov ecx, 0x306f
cmp word [edx + eax*2 - 0xe], cx
jne 0x482edd
test dword [esi], 0x20000
je 0x4808e4
or dword [esi], 0x80003
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov ecx, dword [ebp - 0x780]
cmp cx, 0xc
jne 0x482f90
mov eax, 0xff3b
cmp word [edx], ax
jne 0x482f9a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x482f9a
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x482f9a
cmp word [edx + 6], di
jne 0x482f9a
mov eax, 0x3067
cmp word [edx + 8], ax
jne 0x482f9a
mov edi, 0x7f6b
cmp word [edx + 0xa], di
jne 0x482f9a
mov eax, 0x56f2
cmp word [edx + 0xc], ax
jne 0x482f9a
mov eax, 0x307f
cmp word [edx + 0xe], ax
jne 0x482f9a
mov eax, 0x7d42
cmp word [edx + 0x10], ax
jne 0x482f9a
mov eax, 0x308f
cmp word [edx + 0x12], ax
jne 0x482f9a
mov eax, 0x308a
cmp word [edx + 0x14], ax
jne 0x482f9a
mov edi, 0xff3d
cmp word [edx + 0x16], di
je 0x48300d
jmp 0x482f9a
cmp cx, 9
jl 0x48323a
movsx eax, cx
mov edi, 0x7f6b
cmp word [edx + eax*2 - 0xe], di
jne 0x48323a
mov edi, 0x56f2
cmp word [edx + eax*2 - 0xc], di
jne 0x48323a
mov edi, 0x307f
cmp word [edx + eax*2 - 0xa], di
jne 0x48323a
mov edi, 0x7d42
cmp word [edx + eax*2 - 8], di
jne 0x48323a
mov edi, 0x308f
cmp word [edx + eax*2 - 6], di
jne 0x48323a
mov edi, 0x308a
cmp word [edx + eax*2 - 4], di
mov edi, 0xff3d
jne 0x48323a
cmp word [edx + eax*2 - 2], di
jne 0x48323a
test byte [esi], 1
je 0x4823cf
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7f6]
movzx eax, byte [edx + 0x7f5]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7f4]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x944]
push 0
call dword [ebp - 0x9cc]
push eax
push dword [ebp - 0x770]
mov dword [ebp - 0x8f4], eax
call dword [ebp - 0x78c]
mov dword [ebp - 0x98c], eax
mov eax, dword [ebp - 0x9c4]
movsx ecx, ax
mov eax, dword [ebp - 0x7e4]
cdq
sub eax, edx
movd xmm0, ecx
mov edx, eax
mov eax, dword [ebp - 0x9c8]
mov ecx, dword [ebp - 0x7e0]
cvtdq2pd xmm0, xmm0
movsx esi, ax
sar edx, 1
cmp word [ebp - 0x834], 0x40
push 0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
jne 0x483171
cmp byte [ebp - 0x881], 0
mov dword [ebp - 0x7d4], eax
cvttsd2si eax, xmm0
mov dword [ebp - 0x88c], eax
je 0x483129
mov eax, dword [ebp - 0x77c]
or dword [eax], 0x4000
mov edi, dword [ecx + 8]
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ecx + 4]
mov esi, ecx
sub edi, dword [eax]
mov eax, dword [eax + 4]
sub esi, eax
sub edi, dword [ebp - 0x94c]
sub ecx, eax
add edi, dword [ebp - 0x824]
sub ecx, edx
add esi, dword [ebp - 0x7d4]
cvttsd2si eax, xmm0
add esi, edx
add ecx, eax
push ecx
push edi
push dword [ebp - 0x770]
call dword [ebp - 0x920]
push esi
push edi
jmp 0x4831f2
mov edi, dword [ecx + 8]
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ecx + 4]
mov esi, ecx
sub edi, dword [eax]
mov eax, dword [eax + 4]
sub esi, eax
sub edi, dword [ebp - 0x918]
sub ecx, eax
add edi, dword [ebp - 0x824]
sub ecx, edx
add ecx, dword [ebp - 0x88c]
add esi, dword [ebp - 0x7d4]
push ecx
push edi
push dword [ebp - 0x770]
add esi, edx
call dword [ebp - 0x920]
push esi
push edi
jmp 0x4831f2
add eax, edx
mov dword [ebp - 0x7d4], eax
cvttsd2si eax, xmm0
sub eax, edx
cmp byte [ebp - 0x881], 0
mov dword [ebp - 0x854], eax
je 0x4831b4
mov eax, dword [ebp - 0x77c]
or dword [eax], 0x4000
mov eax, dword [ebp - 0x7ec]
mov edi, dword [ecx + 4]
sub edi, dword [eax + 4]
sub edi, dword [ebp - 0x824]
add edi, dword [ebp - 0x94c]
jmp 0x4831cc
mov eax, dword [ebp - 0x7ec]
mov edi, dword [ecx + 4]
sub edi, dword [eax + 4]
sub edi, dword [ebp - 0x824]
add edi, dword [ebp - 0x918]
mov ecx, dword [ecx]
mov esi, ecx
mov eax, dword [eax]
sub ecx, eax
add ecx, dword [ebp - 0x854]
sub esi, eax
add esi, dword [ebp - 0x7d4]
push edi
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x920]
push edi
push esi
mov edi, dword [ebp - 0x770]
push edi
call dword [ebp - 0x924]
mov esi, dword [ebp - 0x8f4]
test esi, esi
je 0x4823c9
push dword [ebp - 0x98c]
push edi
call dword [ebp - 0x78c]
push esi
call dword [ebp - 0x9c0]
mov esi, dword [ebp - 0x77c]
movsd xmm2, qword [ebp - 0x7b8]
and dword [esi], 0xfff7fffc
jmp 0x48289b
cmp word [ebp - 0x834], 0x40
jne 0x483a0e
cmp cx, 6
jne 0x4832f0
mov eax, 0xff3b
cmp word [edx], ax
jne 0x4853de
mov eax, 0xff03
lea edi, [edx + 4]
cmp word [edx + 2], ax
jne 0x4852ef
mov eax, 0x7e26
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x4852f2
mov ecx, 0x4e2d
cmp word [eax], cx
mov ecx, dword [ebp - 0x780]
jne 0x4852f2
mov esi, 0x6a2a
cmp word [edx + 8], si
jne 0x4852f2
mov esi, 0xff3d
cmp word [edx + 0xa], si
mov esi, dword [ebp - 0x77c]
jne 0x4852f2
mov eax, dword [ebp - 0x778]
or dword [esi], 0x20
movsd xmm2, qword [ebp - 0x7b8]
mov dword [ebp - 0x96c], eax
mov eax, dword [ebp - 0x8e0]
movzx eax, ax
mov dword [ebp - 0x8fc], 0
mov dword [ebp - 0x850], eax
jmp 0x48289b
cmp cx, 9
jne 0x483ac7
mov eax, 0xff3b
cmp word [edx], ax
jne 0x4853de
mov eax, 0xff03
lea edi, [edx + 4]
cmp word [edx + 2], ax
jne 0x483a1b
mov eax, 0x7e26
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x483a1e
mov esi, 0x4e2d
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x483a1e
mov esi, 0x6a2a
cmp word [edx + 8], si
mov esi, dword [ebp - 0x77c]
jne 0x483a1e
mov ecx, 0x7d42
cmp word [edx + 0xa], cx
jne 0x483a1e
mov esi, 0x308f
cmp word [edx + 0xc], si
mov esi, dword [ebp - 0x77c]
jne 0x483a1e
mov esi, 0x308a
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x483a1e
mov esi, 0xff3d
cmp word [edx + 0x10], si
mov esi, dword [ebp - 0x77c]
jne 0x483a1e
cmp dword [ebp - 0x96c], 0
je 0x483a1e
mov edi, dword [ebp - 0x8fc]
test di, di
jne 0x4833ca
and dword [esi], 0xffffffdf
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
cmp byte [ebp - 0x92d], 0
jne 0x48340e
mov eax, dword [esi]
test eax, 0x200
jne 0x48340e
cmp byte [ebp - 0x92e], 0
jne 0x4833fd
test eax, 0x400
jne 0x4833fd
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c8]
jmp 0x48341d
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1dc]
jmp 0x48341d
mov eax, dword [ebp - 0x778]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1d8]
push dword [ebp - 0x770]
call dword [ebp - 0x78c]
mov dword [ebp - 0x7c0], eax
lea ecx, [ebp - 0x6a8]
push ecx
movsx eax, di
mov edi, dword [ebp - 0x7f0]
push edi
push 0
push 0
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x770]
call dword [ebp - 0x878]
mov edx, dword [ebp - 0x784]
mov ecx, 1
mov eax, dword [edi]
mov dword [edx], eax
mov eax, dword [ebp - 0x8fc]
cmp cx, ax
jge 0x483491
mov esi, edx
lea ecx, [edi + 4]
sub esi, edi
dec eax
movzx edx, ax
nop word [eax + eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [esi + ecx - 4], eax
sub edx, 1
jne 0x483480
mov eax, dword [ebp - 0x81c]
sub eax, dword [ebp - 0x838]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x7e0]
sar edi, 1
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x6a8]
cdq
sub eax, edx
mov dword [ebp - 0x88c], ecx
mov esi, eax
mov eax, dword [ebp - 0x7ec]
sar esi, 1
mov edx, dword [eax]
sub ecx, edx
mov eax, dword [ebp - 0x7e0]
sub ecx, esi
sub ecx, edi
sub ecx, dword [ebp - 0x838]
mov dword [ebp - 0x7a4], ecx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax + 4]
add ecx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x6b4], ecx
mov dword [ebp - 0x7a0], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
add eax, ecx
mov ecx, dword [ebp - 0x88c]
sub ecx, edx
mov dword [ebp - 0x6ac], eax
mov eax, dword [ebp - 0x6a8]
sub ecx, esi
mov esi, dword [ebp - 0x7a4]
sub ecx, edi
sub ecx, dword [ebp - 0x838]
xor edi, edi
add eax, ecx
mov dword [ebp - 0x6b8], ecx
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x6b0], eax
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x844], esi
mov dword [ebp - 0x7cc], edi
cmp ecx, eax
je 0x4836fc
mov dx, word [ebp - 0x850]
nop word [eax + eax]
test byte [ecx + 8], 0x40
jne 0x4836e0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x483690
mov eax, dword [ebp - 0x96c]
movsx edi, dx
movzx eax, word [eax + 4]
cwde
lea edx, [eax + edi]
movsx eax, word [ecx + 4]
cmp edx, eax
jle 0x4835d0
mov eax, dword [ebp - 0x7ac]
movsx ecx, word [ecx + 6]
movsx eax, word [eax + 4]
add ecx, eax
cmp ecx, edi
mov ecx, dword [ebp - 0x7ac]
jg 0x4835d0
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x4835a1
jmp 0x48368a
movzx esi, word [ecx + 4]
movsx eax, si
cmp edx, eax
jle 0x48368a
mov eax, dword [ebp - 0x874]
test eax, eax
je 0x4835f6
cmp ecx, eax
je 0x4835f2
cmp dword [ecx + 8], eax
jne 0x4835f6
mov cl, 1
jmp 0x4835f8
xor cl, cl
push dword [ebp - 0x788]
mov eax, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x784]
cwde
lea eax, [edx + eax*4]
push eax
push ecx
mov ecx, dword [ebp - 0x96c]
lea eax, [ebp - 0x6b8]
push eax
mov eax, dword [ebp - 0x7ac]
movzx eax, word [eax + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, dword [ebp - 0x7c4]
push esi
mov esi, dword [ebp - 0x844]
push eax
push dword [ebp - 0x850]
push dword [ebp - 0x7a0]
push esi
push dword [ebp - 0x770]
call fcn.00486de0
mov ecx, dword [ebp - 0x96c]
movzx eax, word [ecx + 4]
cwde
lea edx, [eax + edi]
mov eax, dword [ebp - 0x7ac]
movsx ecx, word [eax + 4]
movsx eax, word [eax + 6]
add ecx, eax
cmp edx, ecx
jl 0x48368a
mov ecx, dword [ebp - 0x7ac]
mov ecx, dword [ecx]
mov dword [ebp - 0x7ac], ecx
test ecx, ecx
jne 0x4835d0
mov edi, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x96c]
movzx edx, word [eax + 4]
xor eax, eax
mov ecx, edx
cmp ax, cx
jge 0x4836c5
mov esi, dword [ebp - 0x784]
movsx eax, di
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0x844]
add esi, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x4836b5
mov dword [ebp - 0x844], esi
mov eax, dword [ebp - 0x778]
add edi, edx
mov ecx, dword [ebp - 0x96c]
mov dx, word [ebp - 0x850]
mov dword [ebp - 0x7cc], edi
add dx, word [ecx + 4]
mov ecx, dword [ecx]
mov word [ebp - 0x850], dx
mov dword [ebp - 0x96c], ecx
cmp ecx, eax
je 0x4836fc
jmp 0x483570
mov esi, dword [ebp - 0x8e4]
test esi, esi
je 0x483741
mov al, byte [esi + 8]
and al, 0xf
cmp al, 0xa
jae 0x483735
movzx eax, word [esi + 6]
mov edx, eax
cmp ax, 0xffff
je 0x4838a6
movsx ecx, word [esi + 4]
cwde
add ecx, eax
mov eax, dword [ebp - 0x8e0]
cwde
cmp eax, ecx
jl 0x4838a6
mov esi, dword [esi]
mov dword [ebp - 0x8e4], esi
test esi, esi
jne 0x483706
mov edi, dword [ebp - 0x770]
push 0
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x784]
mov ecx, dword [ebp - 0x8fc]
mov esi, dword [ebp - 0x7a0]
mov dword [ebp - 0x7c8], eax
movsx eax, cx
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x7f8]
push 4
push esi
push dword [ebp - 0x7a4]
push edi
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x8e4]
test eax, eax
je 0x4837ed
cmp byte [ebp - 0x68c], 0
je 0x4837ed
test byte [eax + 8], 0x10
je 0x4837c0
push dword [ebp - 0x788]
mov ecx, dword [ebp - 0x7c4]
lea eax, [ebp - 0x69c]
push dword [ebp - 0x7ec]
push eax
push 1
push edi
call fcn.004eea90
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7ea]
movzx eax, byte [edx + 0x7e9]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7e8]
shl ecx, 8
or ecx, eax
push ecx
push edi
call dword [ebp - 0x85c]
mov eax, dword [ebp - 0x778]
push dword [ebp - 0x7c8]
push edi
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mov eax, dword [eax + 0xae0]
mulsd xmm1, qword [ebp - 0x7b8]
cvttsd2si ecx, xmm1
add eax, ecx
add dword [ebp - 0x798], eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x830]
movaps xmm0, xmm1
movsd qword [ebp - 0x830], xmm0
movsd qword [ebp - 0x810], xmm0
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
cmp byte [ebp - 0x79c], 0
je 0x48394f
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x89c], esi
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7ec]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0x7f4]
xor eax, eax
mov dword [ebp - 0x870], ecx
mov dword [ebp - 0x7fc], eax
mov byte [ebp - 0x79c], al
mov byte [ebp - 0x771], al
jmp 0x483955
push dword [ebp - 0x97c]
mov edi, dword [ebp - 0x7c4]
lea eax, [ebp - 0x6a0]
push 0
push 0
push eax
push dword [ebp - 0x7ec]
lea eax, [ebp - 0x6b8]
mov ecx, edi
push dword [ebp - 0x784]
push eax
movzx eax, word [esi + 4]
push 0
push edx
push eax
push 9
push dword [ebp - 0x8e0]
push 1
call fcn.004ee4c0
mov eax, dword [ebp - 0x69c]
add eax, dword [ebp - 0x6a8]
cmp byte [ebp - 0x68c], 0
mov dword [ebp - 0x694], eax
je 0x483741
lea eax, [ebp - 0x69c]
mov ecx, edi
push eax
push esi
call fcn.004eedb0
mov edx, dword [ebp - 0x788]
mov edi, dword [ebp - 0x770]
movzx ecx, byte [edx + 0x81d]
movzx eax, byte [edx + 0x81c]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x81b]
shl ecx, 8
or ecx, eax
push ecx
push edi
call dword [ebp - 0x85c]
jmp 0x483747
mov eax, dword [ebp - 0x7fc]
xor ecx, ecx
mov byte [ebp - 0x839], 0
cmp cx, word [ebp - 0x8fc]
jge 0x4839a7
mov edx, dword [ebp - 0x820]
lea ecx, [ebp - 0x44]
mov esi, dword [ebp - 0x87c]
cwde
lea edx, [edx + eax*4]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x8fc]
movzx edi, ax
mov ax, word [ecx]
lea edx, [edx + 4]
mov word [esi], ax
lea ecx, [ecx + 2]
mov dword [edx - 4], 0
lea esi, [esi + 2]
sub edi, 1
jne 0x483986
mov edi, dword [ebp - 0x770]
mov esi, dword [ebp - 0x7fc]
mov eax, dword [ebp - 0x778]
mov edx, dword [ebp - 0x820]
movsd xmm2, qword [ebp - 0x7b8]
movsx ecx, si
add esi, dword [ebp - 0x8fc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x7fc], esi
mov esi, dword [ebp - 0x77c]
mov dword [ebp - 0x8fc], 0
mov eax, dword [eax + 0xae0]
mov dword [edx + ecx*4], eax
and dword [esi], 0xffffffdf
mov cl, byte [ebp - 0x771]
mov edx, dword [ebp - 0x79c]
mov byte [ebp - 0x92d], 0
mov byte [ebp - 0x92e], 0
jmp 0x4828ad
cmp cx, 9
jne 0x483ac7
lea edi, [edx + 4]
lea eax, [edx + 6]
mov ecx, 0xff3b
cmp word [edx], cx
mov ecx, dword [ebp - 0x780]
jne 0x48515a
mov esi, 0xff03
cmp word [edx + 2], si
mov esi, dword [ebp - 0x77c]
jne 0x48431a
mov ecx, 0x3053
cmp word [edi], cx
mov ecx, dword [ebp - 0x780]
jne 0x48431a
mov edi, 0x3053
cmp word [eax], di
jne 0x48431a
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x48431a
mov edi, 0x3089
cmp word [edx + 0xa], di
jne 0x48431a
mov eax, 0x592a
cmp word [edx + 0xc], ax
jne 0x48431a
mov eax, 0x5b57
cmp word [edx + 0xe], ax
jne 0x48431a
mov eax, 0xff3d
cmp word [edx + 0x10], ax
jne 0x48431a
or dword [esi], 0x200
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
cmp cx, 0xb
jne 0x483d8e
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
lea edi, [edx + 4]
cmp word [edx + 2], ax
jne 0x483b53
mov eax, 0x3053
cmp word [edi], ax
jne 0x483b53
mov esi, eax
cmp word [edx + 6], si
mov esi, dword [ebp - 0x77c]
jne 0x483b53
mov ecx, 0x3067
cmp word [edx + 8], cx
jne 0x483b53
mov eax, 0x592a
cmp word [edx + 0xa], ax
jne 0x483b53
mov ecx, 0x5b57
cmp word [edx + 0xc], cx
jne 0x483b53
mov esi, 0x7d42
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x483b53
mov eax, 0x308f
cmp word [edx + 0x10], ax
jne 0x483b53
mov eax, 0x308a
cmp word [edx + 0x12], ax
jne 0x483b53
and dword [esi], 0xfffffdff
mov ecx, 0xff3b
cmp word [edx], cx
mov ecx, dword [ebp - 0x780]
jne 0x48497f
mov ecx, 0xff03
cmp word [edx + 2], cx
mov ecx, dword [ebp - 0x780]
jne 0x483c10
mov eax, 0x30b4
cmp word [edi], ax
jne 0x483c10
mov esi, 0x30b7
cmp word [edx + 6], si
mov esi, dword [ebp - 0x77c]
jne 0x483c10
mov ecx, 0x30c3
cmp word [edx + 8], cx
mov ecx, dword [ebp - 0x780]
jne 0x483c10
mov eax, 0x30af
cmp word [edx + 0xa], ax
jne 0x483c10
mov ecx, 0x4f53
cmp word [edx + 0xc], cx
mov ecx, dword [ebp - 0x780]
jne 0x483c10
mov esi, 0x7d42
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x483c10
mov eax, 0x308f
cmp word [edx + 0x10], ax
jne 0x483c10
mov ecx, 0x308a
cmp word [edx + 0x12], cx
mov ecx, dword [ebp - 0x780]
jne 0x483c10
mov esi, 0xff3d
cmp word [edx + 0x14], si
mov esi, dword [ebp - 0x77c]
jne 0x483c10
and dword [esi], 0xffeffdff
mov eax, 0xff3b
cmp word [edx], ax
lea eax, [edx + 6]
jne 0x48497f
mov ecx, 0xff03
cmp word [edx + 2], cx
mov ecx, dword [ebp - 0x780]
jne 0x483ca7
mov esi, 0x3053
cmp word [edi], si
jne 0x483ca7
mov ecx, esi
cmp word [eax], cx
mov ecx, dword [ebp - 0x780]
jne 0x483ca7
mov esi, 0x3067
cmp word [edx + 8], si
jne 0x483ca7
mov esi, 0x659c
cmp word [edx + 0xa], si
jne 0x483ca7
mov eax, 0x4f53
cmp word [edx + 0xc], ax
lea eax, [edx + 6]
jne 0x483ca7
mov ecx, 0x7d42
cmp word [edx + 0xe], cx
mov ecx, dword [ebp - 0x780]
jne 0x483ca7
mov esi, 0x308f
cmp word [edx + 0x10], si
mov esi, dword [ebp - 0x77c]
jne 0x483ca7
mov eax, 0x308a
cmp word [edx + 0x12], ax
lea eax, [edx + 6]
jne 0x483ca7
and dword [esi], 0xfffffbff
mov esi, 0xff3b
cmp word [edx], si
mov esi, dword [ebp - 0x77c]
jne 0x48497f
mov ecx, 0xff03
cmp word [edx + 2], cx
mov ecx, dword [ebp - 0x780]
jne 0x4845e9
mov esi, 0x6bb5
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x4845e9
mov eax, 0x968e
cmp word [edx + 8], ax
jne 0x4845e9
mov ecx, 0x5927
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x780]
jne 0x4845e9
mov eax, 0x304d
cmp word [edx + 0xc], ax
jne 0x4845e9
mov eax, 0x306a
cmp word [edx + 0xe], ax
jne 0x4845e9
mov eax, 0x6587
cmp word [edx + 0x10], ax
jne 0x4845e9
mov eax, 0x5b57
cmp word [edx + 0x12], ax
jne 0x4845e9
mov eax, 0xff3d
cmp word [edx + 0x14], ax
jne 0x4845e9
or dword [esi], 0x800
mov cx, word [edi]
call fcn.0040d690
movzx ecx, ax
lea eax, [ecx + 1]
movsd xmm2, qword [ebp - 0x7b8]
movzx eax, ax
mov dword [ebp - 0x8cc], eax
mov eax, dword [esi]
movsx ecx, cx
and eax, 0xfffffff
shl ecx, 0x1c
or ecx, eax
mov dword [esi], ecx
jmp 0x48289b
cmp cx, 0xc
jne 0x483f29
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4845ee
mov eax, 0x3053
cmp word [edx + 4], ax
lea eax, [edx + 6]
jne 0x483e69
mov esi, 0x3053
cmp word [eax], si
jne 0x483e69
mov eax, 0x304b
cmp word [edx + 8], ax
lea eax, [edx + 6]
jne 0x483e69
mov ecx, 0x3089
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x780]
jne 0x483e69
mov ecx, 0x30b4
cmp word [edx + 0xc], cx
mov ecx, dword [ebp - 0x780]
jne 0x483e69
mov esi, 0x30b7
cmp word [edx + 0xe], si
jne 0x483e69
mov ecx, 0x30c3
cmp word [edx + 0x10], cx
mov ecx, dword [ebp - 0x780]
jne 0x483e69
mov eax, 0x30af
cmp word [edx + 0x12], ax
lea eax, [edx + 6]
jne 0x483e69
mov eax, 0x4f53
cmp word [edx + 0x14], ax
lea eax, [edx + 6]
jne 0x483e69
mov esi, 0xff3d
cmp word [edx + 0x16], si
mov esi, dword [ebp - 0x77c]
jne 0x483e69
or dword [esi], 0x200
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov esi, 0xff11
cmp word [edx + 4], si
mov esi, dword [ebp - 0x77c]
jne 0x4845e9
mov edi, 0xff10
cmp word [eax], di
jne 0x4845e9
mov eax, 0x6bb5
cmp word [edx + 8], ax
jne 0x4845e9
mov edi, 0x968e
cmp word [edx + 0xa], di
jne 0x4845e9
mov eax, 0x5927
cmp word [edx + 0xc], ax
jne 0x4845e9
mov eax, 0x304d
cmp word [edx + 0xe], ax
jne 0x4845e9
mov eax, 0x306a
cmp word [edx + 0x10], ax
jne 0x4845e9
mov eax, 0x6587
cmp word [edx + 0x12], ax
jne 0x4845e9
mov eax, 0x5b57
cmp word [edx + 0x14], ax
jne 0x4845e9
mov edi, 0xff3d
cmp word [edx + 0x16], di
jne 0x4845e9
mov eax, dword [esi]
movsd xmm2, qword [ebp - 0x7b8]
and eax, 0xffff7ff
or eax, 0x90000800
mov dword [ebp - 0x8cc], 0xa
mov dword [esi], eax
jmp 0x48289b
cmp cx, 0xe
jne 0x4840e8
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
lea edi, [edx + 4]
cmp word [edx + 2], ax
jne 0x483ff9
mov eax, 0x3053
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x483ffc
mov esi, 0x3053
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x483ffc
mov ecx, 0x3067
cmp word [edx + 8], cx
jne 0x483ffc
mov ecx, 0x30b4
cmp word [edx + 0xa], cx
jne 0x483ffc
mov esi, 0x30b7
cmp word [edx + 0xc], si
mov esi, dword [ebp - 0x77c]
jne 0x483ffc
mov eax, 0x30c3
cmp word [edx + 0xe], ax
lea eax, [edx + 6]
jne 0x483ffc
mov ecx, 0x30af
cmp word [edx + 0x10], cx
jne 0x483ffc
mov esi, 0x4f53
cmp word [edx + 0x12], si
mov esi, dword [ebp - 0x77c]
jne 0x483ffc
mov eax, 0x7d42
cmp word [edx + 0x14], ax
lea eax, [edx + 6]
jne 0x483ffc
mov ecx, 0x308f
cmp word [edx + 0x16], cx
jne 0x483ffc
mov ecx, 0x308a
cmp word [edx + 0x18], cx
jne 0x483ffc
and dword [esi], 0xfffffdff
jmp 0x483ffc
lea eax, [edx + 6]
mov ecx, 0xff3b
cmp word [edx], cx
mov ecx, dword [ebp - 0x780]
jne 0x48489e
mov ecx, 0xff03
cmp word [edx + 2], cx
mov ecx, dword [ebp - 0x780]
jne 0x4845e9
mov esi, 0x3053
cmp word [edi], si
mov esi, dword [ebp - 0x77c]
jne 0x4845e9
mov edi, 0x3053
cmp word [eax], di
jne 0x4845e9
mov eax, 0x3067
cmp word [edx + 8], ax
jne 0x4845e9
mov edi, 0x5927
cmp word [edx + 0xa], di
jne 0x4845e9
mov eax, 0x304d
cmp word [edx + 0xc], ax
jne 0x4845e9
mov eax, 0x306a
cmp word [edx + 0xe], ax
jne 0x4845e9
mov eax, 0x6587
cmp word [edx + 0x10], ax
jne 0x4845e9
mov eax, 0x5b57
cmp word [edx + 0x12], ax
jne 0x4845e9
mov eax, 0x7d42
cmp word [edx + 0x14], ax
jne 0x4845e9
mov eax, 0x308f
cmp word [edx + 0x16], ax
jne 0x4845e9
mov eax, 0x308a
cmp word [edx + 0x18], ax
mov eax, 0xff03
jne 0x4845ee
and dword [esi], 0xffff7ff
mov dword [ebp - 0x8cc], 0
jmp 0x4845ee
cmp cx, 5
jne 0x48419d
mov eax, 0xff3b
lea edi, [edx + 4]
cmp word [edx], ax
jne 0x48515d
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x48515d
mov eax, 0x592a
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x484153
mov esi, 0x5b57
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x484153
mov esi, 0xff3d
cmp word [edx + 8], si
mov esi, dword [ebp - 0x77c]
jne 0x484153
or dword [esi], 0x100200
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov ecx, 0x659c
cmp word [edi], cx
mov ecx, dword [ebp - 0x780]
jne 0x48515d
mov esi, 0x4f53
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x48515d
mov eax, 0xff3d
cmp word [edx + 8], ax
jne 0x48515d
or dword [esi], 0x400
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
cmp cx, 8
jne 0x484310
mov eax, 0xff3b
lea edi, [edx + 4]
cmp word [edx], ax
jne 0x48515d
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x48422d
mov eax, 0x592a
cmp word [edi], ax
jne 0x48422d
mov esi, 0x5b57
cmp word [edx + 6], si
mov esi, dword [ebp - 0x77c]
jne 0x48422d
mov eax, 0x7d42
cmp word [edx + 8], ax
jne 0x48422d
mov eax, 0x308f
cmp word [edx + 0xa], ax
lea eax, [edx + 6]
jne 0x48422d
mov ecx, 0x308a
cmp word [edx + 0xc], cx
jne 0x48422d
mov esi, 0xff3d
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x48422d
and dword [esi], 0xffeffdff
mov ecx, 0xff3b
cmp word [edx], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov ecx, 0xff03
cmp word [edx + 2], cx
mov ecx, dword [ebp - 0x780]
jne 0x484eb6
mov eax, 0x30b4
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x4842a7
mov esi, 0x30b7
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x4842a7
mov ecx, 0x30c3
cmp word [edx + 8], cx
jne 0x4842a7
mov eax, 0x30af
cmp word [edx + 0xa], ax
lea eax, [edx + 6]
jne 0x4842a7
mov ecx, 0x4f53
cmp word [edx + 0xc], cx
jne 0x4842a7
mov esi, 0xff3d
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x4842a7
or dword [esi], 0x100200
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov ecx, 0x659c
cmp word [edi], cx
mov ecx, dword [ebp - 0x780]
jne 0x484eb6
mov edi, 0x4f53
cmp word [eax], di
jne 0x484eb6
mov eax, 0x7d42
cmp word [edx + 8], ax
jne 0x484eb6
mov edi, 0x308f
cmp word [edx + 0xa], di
jne 0x484eb6
mov eax, 0x308a
cmp word [edx + 0xc], ax
jne 0x484eb6
mov eax, 0xff3d
cmp word [edx + 0xe], ax
jne 0x484eb6
and dword [esi], 0xfffffbff
jmp 0x484eb6
cmp cx, 9
jne 0x4843cc
mov eax, 0xff3b
lea edi, [edx + 4]
cmp word [edx], ax
jne 0x48515d
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x484bb6
mov eax, 0x3053
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x484bb9
mov esi, 0x3053
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x484bb9
mov ecx, 0x304b
cmp word [edx + 8], cx
jne 0x484bb9
mov ecx, 0x3089
cmp word [edx + 0xa], cx
jne 0x484bb9
mov esi, 0x659c
cmp word [edx + 0xc], si
mov esi, dword [ebp - 0x77c]
jne 0x484bb9
mov eax, 0x4f53
cmp word [edx + 0xe], ax
lea eax, [edx + 6]
jne 0x484bb9
mov esi, 0xff3d
cmp word [edx + 0x10], si
mov esi, dword [ebp - 0x77c]
jne 0x484bb9
or dword [esi], 0x400
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
cmp cx, 0xf
jne 0x4844de
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4845ee
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x4845ee
cmp word [edx + 6], di
jne 0x4845ee
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x4845e9
mov edi, 0x3089
cmp word [edx + 0xa], di
jne 0x4845e9
mov eax, 0x6bb5
cmp word [edx + 0xe], ax
jne 0x4845e9
mov eax, 0x968e
cmp word [edx + 0x10], ax
jne 0x4845e9
mov eax, 0x5927
cmp word [edx + 0x12], ax
jne 0x4845e9
mov eax, 0x304d
cmp word [edx + 0x14], ax
jne 0x4845e9
mov eax, 0x306a
cmp word [edx + 0x16], ax
jne 0x4845e9
mov eax, 0x6587
cmp word [edx + 0x18], ax
jne 0x4845e9
mov eax, 0x5b57
cmp word [edx + 0x1a], ax
jne 0x4845e9
mov edi, 0xff3d
cmp word [edx + 0x1c], di
jne 0x4845e9
or dword [esi], 0x800
mov cx, word [edx + 0xc]
call fcn.0040d690
movsd xmm2, qword [ebp - 0x7b8]
movzx ecx, ax
lea eax, [ecx + 1]
movsx ecx, cx
movzx eax, ax
mov dword [ebp - 0x8cc], eax
mov eax, dword [esi]
shl ecx, 0x1c
and eax, 0xfffffff
or ecx, eax
mov dword [esi], ecx
jmp 0x48289b
cmp cx, 0x10
jne 0x4845df
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4845ee
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x4845ee
cmp word [edx + 6], di
jne 0x4845ee
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x4845e9
mov edi, 0x3089
cmp word [edx + 0xa], di
jne 0x4845e9
mov eax, 0xff11
cmp word [edx + 0xc], ax
jne 0x4845e9
mov eax, 0xff10
cmp word [edx + 0xe], ax
jne 0x4845e9
mov eax, 0x6bb5
cmp word [edx + 0x10], ax
jne 0x4845e9
mov eax, 0x968e
cmp word [edx + 0x12], ax
jne 0x4845e9
mov eax, 0x5927
cmp word [edx + 0x14], ax
jne 0x4845e9
mov eax, 0x304d
cmp word [edx + 0x16], ax
jne 0x4845e9
mov eax, 0x306a
cmp word [edx + 0x18], ax
jne 0x4845e9
mov eax, 0x6587
cmp word [edx + 0x1a], ax
jne 0x4845e9
mov eax, 0x5b57
cmp word [edx + 0x1c], ax
jne 0x4845e9
mov edi, 0xff3d
cmp word [edx + 0x1e], di
jne 0x4845e9
mov eax, dword [esi]
movsd xmm2, qword [ebp - 0x7b8]
and eax, 0xffff7ff
or eax, 0x90000800
mov dword [ebp - 0x8cc], 0xa
mov dword [esi], eax
jmp 0x48289b
cmp cx, 0xb
jl 0x484689
mov eax, 0xff03
mov edi, 0xff3b
cmp word [edx], di
jne 0x484689
cmp word [edx + 2], ax
jne 0x484689
movsx eax, cx
mov edi, 0x5927
cmp word [edx + eax*2 - 0x12], di
jne 0x484689
mov edi, 0x304d
cmp word [edx + eax*2 - 0x10], di
jne 0x484689
mov edi, 0x306a
cmp word [edx + eax*2 - 0xe], di
jne 0x484689
mov edi, 0x6587
cmp word [edx + eax*2 - 0xc], di
jne 0x484689
mov edi, 0x5b57
cmp word [edx + eax*2 - 0xa], di
jne 0x484689
mov edi, 0x7d42
cmp word [edx + eax*2 - 8], di
jne 0x484689
mov edi, 0x308f
cmp word [edx + eax*2 - 6], di
jne 0x484689
mov edi, 0x308a
cmp word [edx + eax*2 - 4], di
mov edi, 0xff3d
jne 0x484689
cmp word [edx + eax*2 - 2], di
jne 0x484689
and dword [esi], 0xffff7ff
mov dword [ebp - 0x8cc], 0
cmp cx, 0xf
jne 0x48477b
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x484b0e
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x484b0e
cmp word [edx + 6], di
jne 0x484b0e
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x484b09
mov edi, 0x3089
cmp word [edx + 0xa], di
jne 0x484b09
mov eax, 0x6bb5
cmp word [edx + 0xe], ax
jne 0x484b09
mov eax, 0x968e
cmp word [edx + 0x10], ax
jne 0x484b09
mov eax, 0x5c0f
cmp word [edx + 0x12], ax
jne 0x484b09
mov eax, 0x3055
cmp word [edx + 0x14], ax
jne 0x484b09
mov eax, 0x306a
cmp word [edx + 0x16], ax
jne 0x484b09
mov eax, 0x6587
cmp word [edx + 0x18], ax
jne 0x484b09
mov eax, 0x5b57
cmp word [edx + 0x1a], ax
jne 0x484b09
mov edi, 0xff3d
cmp word [edx + 0x1c], di
jne 0x484b09
or dword [esi], 0x1000
mov cx, word [edx + 0xc]
call fcn.0040d690
movzx ecx, ax
or eax, 0xffffffff
sub eax, ecx
jmp 0x483d67
cmp cx, 0x10
jne 0x484894
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x484b0e
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x484b0e
cmp word [edx + 6], di
jne 0x484b0e
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x484b09
mov edi, 0x3089
cmp word [edx + 0xa], di
jne 0x484b09
mov eax, 0xff11
cmp word [edx + 0xc], ax
jne 0x484b09
mov eax, 0xff10
cmp word [edx + 0xe], ax
jne 0x484b09
mov eax, 0x6bb5
cmp word [edx + 0x10], ax
jne 0x484b09
mov eax, 0x968e
cmp word [edx + 0x12], ax
jne 0x484b09
mov eax, 0x5c0f
cmp word [edx + 0x14], ax
jne 0x484b09
mov eax, 0x3055
cmp word [edx + 0x16], ax
jne 0x484b09
mov eax, 0x306a
cmp word [edx + 0x18], ax
jne 0x484b09
mov eax, 0x6587
cmp word [edx + 0x1a], ax
jne 0x484b09
mov eax, 0x5b57
cmp word [edx + 0x1c], ax
jne 0x484b09
mov edi, 0xff3d
cmp word [edx + 0x1e], di
jne 0x484b09
mov eax, dword [esi]
movsd xmm2, qword [ebp - 0x7b8]
and eax, 0xfffefff
or eax, 0x90001000
mov dword [ebp - 0x8cc], 0xfffffff6
mov dword [esi], eax
jmp 0x48289b
cmp cx, 0xe
jne 0x484975
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x484b0e
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x484b0e
cmp word [edx + 6], di
jne 0x484b0e
mov eax, 0x3067
cmp word [edx + 8], ax
jne 0x484b09
mov edi, 0x5c0f
cmp word [edx + 0xa], di
jne 0x484b09
mov eax, 0x3055
cmp word [edx + 0xc], ax
jne 0x484b09
mov eax, 0x306a
cmp word [edx + 0xe], ax
jne 0x484b09
mov eax, 0x6587
cmp word [edx + 0x10], ax
jne 0x484b09
mov eax, 0x5b57
cmp word [edx + 0x12], ax
jne 0x484b09
mov eax, 0x7d42
cmp word [edx + 0x14], ax
jne 0x484b09
mov eax, 0x308f
cmp word [edx + 0x16], ax
jne 0x484b09
mov eax, 0x308a
cmp word [edx + 0x18], ax
mov eax, 0xff03
jne 0x484b0e
and dword [esi], 0xfffefff
mov dword [ebp - 0x8cc], 0
jmp 0x484b0e
cmp cx, 0xb
jne 0x484a35
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x484b0e
mov edi, 0x6bb5
cmp word [edx + 6], di
jne 0x484b0e
mov eax, 0x968e
cmp word [edx + 8], ax
jne 0x484b09
mov edi, 0x5c0f
cmp word [edx + 0xa], di
jne 0x484b09
mov eax, 0x3055
cmp word [edx + 0xc], ax
jne 0x484b09
mov eax, 0x306a
cmp word [edx + 0xe], ax
jne 0x484b09
mov eax, 0x6587
cmp word [edx + 0x10], ax
jne 0x484b09
mov eax, 0x5b57
cmp word [edx + 0x12], ax
jne 0x484b09
mov edi, 0xff3d
cmp word [edx + 0x14], di
jne 0x484b09
mov eax, dword [ebp - 0x91c]
or dword [esi], 0x1000
mov cx, word [eax]
call fcn.0040d690
movzx ecx, ax
or eax, 0xffffffff
sub eax, ecx
jmp 0x483d67
cmp cx, 0xc
jne 0x484aff
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x484b0e
mov edi, 0xff11
cmp word [edx + 4], di
jne 0x484b0e
mov edi, 0xff10
cmp word [edx + 6], di
jne 0x484b0e
mov eax, 0x6bb5
cmp word [edx + 8], ax
jne 0x484b09
mov edi, 0x968e
cmp word [edx + 0xa], di
jne 0x484b09
mov eax, 0x5c0f
cmp word [edx + 0xc], ax
jne 0x484b09
mov eax, 0x3055
cmp word [edx + 0xe], ax
jne 0x484b09
mov eax, 0x306a
cmp word [edx + 0x10], ax
jne 0x484b09
mov eax, 0x6587
cmp word [edx + 0x12], ax
jne 0x484b09
mov eax, 0x5b57
cmp word [edx + 0x14], ax
jne 0x484b09
mov edi, 0xff3d
cmp word [edx + 0x16], di
jne 0x484b09
mov eax, dword [esi]
movsd xmm2, qword [ebp - 0x7b8]
and eax, 0xfffefff
or eax, 0x90001000
mov dword [ebp - 0x8cc], 0xfffffff6
mov dword [esi], eax
jmp 0x48289b
cmp cx, 0xb
jl 0x484ba9
mov eax, 0xff03
mov edi, 0xff3b
cmp word [edx], di
jne 0x484ba9
cmp word [edx + 2], ax
jne 0x484ba9
movsx eax, cx
mov edi, 0x5c0f
cmp word [edx + eax*2 - 0x12], di
jne 0x484ba9
mov edi, 0x3055
cmp word [edx + eax*2 - 0x10], di
jne 0x484ba9
mov edi, 0x306a
cmp word [edx + eax*2 - 0xe], di
jne 0x484ba9
mov edi, 0x6587
cmp word [edx + eax*2 - 0xc], di
jne 0x484ba9
mov edi, 0x5b57
cmp word [edx + eax*2 - 0xa], di
jne 0x484ba9
mov edi, 0x7d42
cmp word [edx + eax*2 - 8], di
jne 0x484ba9
mov edi, 0x308f
cmp word [edx + eax*2 - 6], di
jne 0x484ba9
mov edi, 0x308a
cmp word [edx + eax*2 - 4], di
mov edi, 0xff3d
jne 0x484ba9
cmp word [edx + eax*2 - 2], di
jne 0x484ba9
and dword [esi], 0xfffefff
mov dword [ebp - 0x8cc], 0
cmp cx, 9
jne 0x484cf6
lea edi, [edx + 4]
lea eax, [edx + 6]
mov ecx, 0xff3b
cmp word [edx], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov esi, 0xff03
cmp word [edx + 2], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
mov eax, 0x4e0a
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x484c55
mov esi, 0x4ed8
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x484c55
mov ecx, 0x304d
cmp word [edx + 8], cx
jne 0x484c55
mov eax, 0x5c0f
cmp word [edx + 0xa], ax
lea eax, [edx + 6]
jne 0x484c55
mov esi, 0x6587
cmp word [edx + 0xc], si
mov esi, dword [ebp - 0x77c]
jne 0x484c55
mov esi, 0x5b57
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x484c55
mov ecx, 0xff3d
cmp word [edx + 0x10], cx
jne 0x484c55
or dword [esi], 0x40
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov ecx, 0x4e0b
cmp word [edi], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov edx, 0x4ed8
cmp word [eax], dx
mov edx, dword [ebp - 0x7bc]
jne 0x485160
mov esi, 0x304d
cmp word [edx + 8], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
mov ecx, 0x5c0f
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov eax, 0x6587
cmp word [edx + 0xc], ax
lea eax, [edx + 6]
jne 0x485160
mov ecx, 0x5b57
cmp word [edx + 0xe], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov esi, 0xff3d
cmp word [edx + 0x10], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
or dword [esi], 0x80
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
cmp cx, 0xc
jne 0x484eac
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
lea edi, [edx + 4]
cmp word [edx + 2], ax
jne 0x48515d
mov eax, 0x4e0a
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x484dcc
mov esi, 0x4ed8
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x484dcc
mov ecx, 0x304d
cmp word [edx + 8], cx
jne 0x484dcc
mov esi, 0x5c0f
cmp word [edx + 0xa], si
mov esi, dword [ebp - 0x77c]
jne 0x484dcc
mov esi, 0x6587
cmp word [edx + 0xc], si
mov esi, dword [ebp - 0x77c]
jne 0x484dcc
mov esi, 0x5b57
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x484dcc
mov eax, 0x7d42
cmp word [edx + 0x10], ax
lea eax, [edx + 6]
jne 0x484dcc
mov ecx, 0x308f
cmp word [edx + 0x12], cx
jne 0x484dcc
mov ecx, 0x308a
cmp word [edx + 0x14], cx
jne 0x484dcc
mov esi, 0xff3d
cmp word [edx + 0x16], si
mov esi, dword [ebp - 0x77c]
jne 0x484dcc
and dword [esi], 0xffffffbf
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov ecx, 0x4e0b
cmp word [edi], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov edx, 0x4ed8
cmp word [eax], dx
mov edx, dword [ebp - 0x7bc]
jne 0x485160
mov esi, 0x304d
cmp word [edx + 8], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
mov ecx, 0x5c0f
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov esi, 0x6587
cmp word [edx + 0xc], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
mov ecx, 0x5b57
cmp word [edx + 0xe], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov eax, 0x7d42
cmp word [edx + 0x10], ax
lea eax, [edx + 6]
jne 0x485160
mov esi, 0x308f
cmp word [edx + 0x12], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
mov esi, 0x308a
cmp word [edx + 0x14], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
mov esi, 0xff3d
cmp word [edx + 0x16], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
and dword [esi], 0xffffff7f
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
cmp cx, 8
jne 0x484fd3
mov eax, 0xff3b
lea edi, [edx + 4]
cmp word [edx], ax
jne 0x48515d
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x48515d
mov eax, 0x884c
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x484f47
mov esi, 0x53f3
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x484f47
mov ecx, 0x5c0f
cmp word [edx + 8], cx
mov ecx, dword [ebp - 0x780]
jne 0x484f47
mov esi, 0x66f8
cmp word [edx + 0xa], si
mov esi, dword [ebp - 0x77c]
jne 0x484f47
mov esi, 0x304d
cmp word [edx + 0xc], si
mov esi, dword [ebp - 0x77c]
jne 0x484f47
mov esi, 0xff3d
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x484f47
or dword [esi], 0x40
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov edx, 0x884c
cmp word [edi], dx
mov edx, dword [ebp - 0x7bc]
jne 0x485160
mov ecx, 0x5de6
cmp word [eax], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov esi, 0x5c0f
cmp word [edx + 8], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
mov eax, 0x66f8
cmp word [edx + 0xa], ax
lea eax, [edx + 6]
jne 0x485160
mov ecx, 0x304d
cmp word [edx + 0xc], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov esi, 0xff3d
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
or dword [esi], 0x80
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
cmp cx, 0xb
jne 0x48515a
mov eax, 0xff3b
cmp word [edx], ax
jne 0x48515a
mov eax, 0xff03
lea edi, [edx + 4]
cmp word [edx + 2], ax
jne 0x48515d
mov eax, 0x884c
cmp word [edi], ax
lea eax, [edx + 6]
jne 0x4850aa
mov esi, 0x53f3
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x4850aa
mov esi, 0x5c0f
cmp word [edx + 8], si
mov esi, dword [ebp - 0x77c]
jne 0x4850aa
mov ecx, 0x66f8
cmp word [edx + 0xa], cx
mov ecx, dword [ebp - 0x780]
jne 0x4850aa
mov ecx, 0x304d
cmp word [edx + 0xc], cx
mov ecx, dword [ebp - 0x780]
jne 0x4850aa
mov esi, 0x7d42
cmp word [edx + 0xe], si
mov esi, dword [ebp - 0x77c]
jne 0x4850aa
mov eax, 0x308f
cmp word [edx + 0x10], ax
lea eax, [edx + 6]
jne 0x4850aa
mov esi, 0x308a
cmp word [edx + 0x12], si
mov esi, dword [ebp - 0x77c]
jne 0x4850aa
mov esi, 0xff3d
cmp word [edx + 0x14], si
mov esi, dword [ebp - 0x77c]
jne 0x4850aa
and dword [esi], 0xffffffbf
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
mov edx, 0x884c
cmp word [edi], dx
mov edx, dword [ebp - 0x7bc]
jne 0x485160
mov esi, 0x5de6
cmp word [eax], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
mov ecx, 0x5c0f
cmp word [edx + 8], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov eax, 0x66f8
cmp word [edx + 0xa], ax
lea eax, [edx + 6]
jne 0x485160
mov esi, 0x304d
cmp word [edx + 0xc], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
mov ecx, 0x7d42
cmp word [edx + 0xe], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov eax, 0x308f
cmp word [edx + 0x10], ax
lea eax, [edx + 6]
jne 0x485160
mov ecx, 0x308a
cmp word [edx + 0x12], cx
mov ecx, dword [ebp - 0x780]
jne 0x485160
mov esi, 0xff3d
cmp word [edx + 0x14], si
mov esi, dword [ebp - 0x77c]
jne 0x485160
and dword [esi], 0xffffff7f
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
lea edi, [edx + 4]
lea eax, [edx + 6]
cmp word [ebp - 0x834], 0x40
jne 0x4853de
cmp cx, 0xa
jne 0x485222
mov ecx, 0xff3b
cmp word [edx], cx
mov ecx, dword [ebp - 0x780]
jne 0x4853de
mov esi, 0xff03
cmp word [edx + 2], si
mov esi, dword [ebp - 0x77c]
jne 0x4853de
mov ecx, 0x3053
cmp word [edi], cx
mov ecx, dword [ebp - 0x780]
jne 0x4853de
mov edi, 0x3053
cmp word [eax], di
jne 0x4853de
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x4853de
mov edi, 0x3089
cmp word [edx + 0xa], di
jne 0x4853de
mov eax, 0x6a2a
cmp word [edx + 0xc], ax
jne 0x4853de
mov eax, 0x7d44
cmp word [edx + 0xe], ax
jne 0x4853de
mov eax, 0x307f
cmp word [edx + 0x10], ax
jne 0x4853de
mov eax, 0xff3d
cmp word [edx + 0x12], ax
je 0x48535b
jmp 0x4853de
cmp cx, 6
je 0x4852f2
cmp cx, 0xc
jne 0x48536e
mov ecx, 0xff3b
cmp word [edx], cx
mov ecx, dword [ebp - 0x780]
jne 0x4853de
mov esi, 0xff03
cmp word [edx + 2], si
mov esi, dword [ebp - 0x77c]
jne 0x4853de
mov esi, 0x3053
cmp word [edi], si
mov esi, dword [ebp - 0x77c]
jne 0x4853de
mov edi, 0x3053
cmp word [eax], di
jne 0x4853de
mov eax, 0x3067
cmp word [edx + 8], ax
jne 0x4853de
mov edi, 0x6a2a
cmp word [edx + 0xa], di
jne 0x4853de
mov eax, 0x7d44
cmp word [edx + 0xc], ax
jne 0x4853de
mov eax, 0x307f
cmp word [edx + 0xe], ax
jne 0x4853de
mov eax, 0x7d42
cmp word [edx + 0x10], ax
jne 0x4853de
mov eax, 0x308f
cmp word [edx + 0x12], ax
jne 0x4853de
mov eax, 0x308a
cmp word [edx + 0x14], ax
je 0x4853d8
jmp 0x4853de
lea eax, [edx + 6]
mov esi, 0xff3b
cmp word [edx], si
mov esi, dword [ebp - 0x77c]
jne 0x4853de
mov esi, 0xff03
cmp word [edx + 2], si
mov esi, dword [ebp - 0x77c]
jne 0x4853de
mov ecx, 0x6a2a
cmp word [edi], cx
mov ecx, dword [ebp - 0x780]
jne 0x4853de
mov edi, 0x7d44
cmp word [eax], di
jne 0x4853de
mov eax, 0x307f
cmp word [edx + 8], ax
jne 0x4853de
mov edi, 0xff3d
cmp word [edx + 0xa], di
jne 0x4853de
or dword [esi], 0x100
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x48289b
cmp cx, 9
jne 0x4853de
mov eax, 0xff3b
cmp word [edx], ax
jne 0x4853de
mov eax, 0xff03
cmp word [edx + 2], ax
lea eax, [edx + 4]
jne 0x4853e1
mov edi, 0x6a2a
cmp word [eax], di
jne 0x4853e1
mov edi, 0x7d44
cmp word [edx + 6], di
jne 0x4853de
mov eax, 0x307f
cmp word [edx + 8], ax
jne 0x4853de
mov edi, 0x7d42
cmp word [edx + 0xa], di
jne 0x4853de
mov eax, 0x308f
cmp word [edx + 0xc], ax
jne 0x4853de
mov eax, 0x308a
cmp word [edx + 0xe], ax
jne 0x4853de
mov eax, 0xff3d
cmp word [edx + 0x10], ax
jne 0x4853de
and dword [esi], 0xfffffeff
lea eax, [edx + 4]
mov edi, dword [ebp - 0x788]
cmp byte [edi + 0x860], 0
jne 0x485538
cmp cx, 6
jne 0x485485
mov ecx, 0xff3b
cmp word [edx], cx
jne 0x485538
mov ecx, 0xff03
cmp word [edx + 2], cx
jne 0x485538
mov ecx, 0x5272
cmp word [eax], cx
jne 0x485538
mov ecx, 0x308a
cmp word [edx + 6], cx
jne 0x485538
mov eax, 0x6ce8
cmp word [edx + 8], ax
jne 0x485538
mov ecx, 0xff3d
cmp word [edx + 0xa], cx
mov cl, byte [ebp - 0x771]
jne 0x48553e
mov eax, dword [ebp - 0x798]
or dword [esi], 0x40000
mov dword [ebp - 0x9d0], 0
mov dword [ebp - 0x9f4], eax
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x4828a1
cmp cx, 9
jne 0x485538
mov ecx, 0xff3b
cmp word [edx], cx
jne 0x485538
mov ecx, 0xff03
cmp word [edx + 2], cx
jne 0x485538
mov ecx, 0x5272
cmp word [eax], cx
jne 0x485538
mov ecx, 0x308a
cmp word [edx + 6], cx
jne 0x485538
mov eax, 0x6ce8
cmp word [edx + 8], ax
jne 0x485538
mov ecx, 0x7d42
cmp word [edx + 0xa], cx
mov ecx, 0x308a
jne 0x485538
mov eax, 0x308f
cmp word [edx + 0xc], ax
jne 0x485538
cmp word [edx + 0xe], cx
jne 0x485538
mov eax, 0xff3d
cmp word [edx + 0x10], ax
jne 0x485538
mov eax, dword [esi]
test eax, 0x40000
je 0x485538
mov ecx, dword [ebp - 0xa18]
and eax, 0xfffbffff
mov dword [esi], eax
mov eax, dword [ebp - 0x798]
cmp ecx, eax
mov byte [ebp - 0x79c], 1
cmovg eax, ecx
xor cl, cl
mov dword [ebp - 0x798], eax
mov byte [ebp - 0x771], cl
jmp 0x48553e
mov cl, byte [ebp - 0x771]
cmp byte [edi + 0x860], 0
jne 0x4856f8
mov eax, dword [ebp - 0x780]
cmp ax, 0xa
jne 0x485607
mov eax, 0xff3b
cmp word [edx], ax
jne 0x4856f8
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4856f8
mov esi, 0x3053
cmp word [edx + 4], si
mov esi, dword [ebp - 0x77c]
jne 0x4856f8
mov edi, 0x3053
cmp word [edx + 6], di
mov edi, dword [ebp - 0x788]
jne 0x4856f8
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x4856f8
mov esi, 0x3089
cmp word [edx + 0xa], si
mov esi, dword [ebp - 0x77c]
jne 0x4856f8
mov eax, 0x5272
cmp word [edx + 0xc], ax
jne 0x4856f8
mov eax, 0x308a
cmp word [edx + 0xe], ax
jne 0x4856f8
mov eax, 0x6ce8
cmp word [edx + 0x10], ax
jne 0x4856f8
mov eax, 0xff3d
cmp word [edx + 0x12], ax
jne 0x4856f8
jmp 0x48545c
cmp ax, 0xc
jne 0x4856f8
mov eax, 0xff3b
cmp word [edx], ax
jne 0x4856f8
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x4856f8
mov edi, 0x3053
cmp word [edx + 4], di
mov edi, dword [ebp - 0x788]
jne 0x4856f8
mov esi, 0x3053
cmp word [edx + 6], si
mov esi, dword [ebp - 0x77c]
jne 0x4856f8
mov eax, 0x3067
cmp word [edx + 8], ax
jne 0x4856f8
mov edi, 0x5272
cmp word [edx + 0xa], di
mov edi, dword [ebp - 0x788]
jne 0x4856f8
mov eax, 0x308a
cmp word [edx + 0xc], ax
jne 0x4856f8
mov eax, 0x6ce8
cmp word [edx + 0xe], ax
jne 0x4856f8
mov eax, 0x7d42
cmp word [edx + 0x10], ax
jne 0x4856f8
mov eax, 0x308f
cmp word [edx + 0x12], ax
mov eax, 0x308a
jne 0x4856f8
cmp word [edx + 0x14], ax
jne 0x4856f8
mov eax, 0xff3d
cmp word [edx + 0x16], ax
jne 0x4856f8
mov eax, dword [esi]
test eax, 0x40000
je 0x4856f8
mov ecx, dword [ebp - 0xa18]
and eax, 0xfffbffff
mov dword [esi], eax
mov eax, dword [ebp - 0x798]
cmp ecx, eax
mov byte [ebp - 0x79c], 1
cmovg eax, ecx
xor cl, cl
mov dword [ebp - 0x798], eax
mov byte [ebp - 0x771], cl
cmp byte [edi + 0x863], 0
jne 0x485cf2
cmp word [ebp - 0x834], 0x40
jne 0x485cf2
cmp byte [edi + 0x77f], 0
je 0x485cf2
mov eax, dword [ebp - 0x910]
cmp word [eax], 2
jne 0x485cf2
mov eax, dword [esi]
test al, 8
je 0x485b4d
mov eax, dword [ebp - 0x780]
cmp ax, 0xc
jne 0x485965
mov edi, 0xff3b
cmp word [edx], di
jne 0x4857ef
mov edi, 0xff03
cmp word [edx + 2], di
jne 0x4857ef
mov eax, 0x30ad
cmp word [edx + 4], ax
mov eax, dword [ebp - 0x780]
jne 0x4857ef
mov eax, 0x30e3
cmp word [edx + 6], ax
mov eax, dword [ebp - 0x780]
jne 0x4857ef
mov edi, 0x30d7
cmp word [edx + 8], di
jne 0x4857ef
mov esi, 0x30b7
cmp word [edx + 0xa], si
mov esi, dword [ebp - 0x77c]
jne 0x4857ef
mov edi, 0x30e7
cmp word [edx + 0xc], di
jne 0x4857ef
mov edi, 0x30f3
cmp word [edx + 0xe], di
jne 0x4857ef
mov edi, 0x7d42
cmp word [edx + 0x10], di
jne 0x4857ef
mov edi, 0x308f
cmp word [edx + 0x12], di
jne 0x4857ef
mov edi, 0x308a
cmp word [edx + 0x14], di
jne 0x4857ef
mov edi, dword [ebp - 0x778]
test byte [edi + 8], 8
jne 0x485cf8
mov eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x770]
push dword [eax + 0x1c8]
push edi
call dword [ebp - 0x78c]
push 0
push edi
mov dword [ebp - 0x7c0], eax
call dword [ebp - 0x7a8]
mov dword [ebp - 0x7c8], eax
xor ecx, ecx
mov eax, dword [ebp - 0x780]
mov edx, 2
cwde
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00560858
mov edx, dword [ebp - 0x780]
add esp, 4
mov ecx, dword [ebp - 0x7bc]
mov esi, eax
mov dword [ebp - 0x854], esi
push 1
push esi
call fcn.0040c7c0
mov edx, dword [ebp - 0x910]
add esp, 8
movzx ecx, ax
mov dword [ebp - 0x7b0], ecx
xor ecx, ecx
mov ax, word [ebp - 0x7b0]
add dword [edx + 0x18], 0xa
mov dword [ebp - 0x7d4], ecx
mov dword [ebp - 0x814], ecx
test ax, ax
jle 0x485b01
nop dword [eax + eax]
lea ecx, [esi + ecx*2]
movzx eax, ax
lea esi, [ebp - 0x6a8]
mov dword [ebp - 0x88c], ecx
push esi
mov esi, dword [ebp - 0x7f0]
lea edi, [ebp - 0x6cc]
push esi
push edi
push dword [edx + 0xc]
mov edi, dword [ebp - 0x770]
push eax
push ecx
push edi
call dword [ebp - 0x878]
mov eax, dword [ebp - 0x6cc]
mov ecx, 1
cmp eax, 1
mov edx, 1
cmovl eax, ecx
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x6cc], eax
mov eax, dword [esi]
movzx edi, ax
mov dword [ecx], eax
mov esi, dword [ebp - 0x6cc]
cmp esi, edx
jle 0x485936
mov ecx, edx
nop dword [eax + eax]
mov esi, dword [ebp - 0x7f0]
inc edx
mov eax, dword [esi + ecx*4]
sub eax, dword [esi + ecx*4 - 4]
mov esi, dword [ebp - 0x784]
add edi, eax
mov dword [esi + ecx*4], eax
mov esi, dword [ebp - 0x6cc]
movsx ecx, dx
cmp ecx, esi
jl 0x485910
cmp word [ebp - 0x814], 0
jne 0x485a7a
movsx ecx, di
mov edi, dword [ebp - 0x910]
mov eax, dword [edi + 0xc]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 0x14]
mov dword [ebp - 0x7a4], eax
jmp 0x485a86
cmp ax, 0xf
jne 0x4857ef
mov edi, 0xff3b
cmp word [edx], di
jne 0x4857ef
mov edi, 0xff03
cmp word [edx + 2], di
jne 0x4857ef
mov esi, 0x3053
cmp word [edx + 4], si
mov esi, dword [ebp - 0x77c]
jne 0x4857ef
mov eax, 0x3053
cmp word [edx + 6], ax
mov eax, dword [ebp - 0x780]
jne 0x4857ef
mov edi, 0x3067
cmp word [edx + 8], di
jne 0x4857ef
mov eax, 0x30ad
cmp word [edx + 0xa], ax
mov eax, dword [ebp - 0x780]
jne 0x4857ef
mov edi, 0x30e3
cmp word [edx + 0xc], di
jne 0x4857ef
mov edi, 0x30d7
cmp word [edx + 0xe], di
jne 0x4857ef
mov edi, 0x30b7
cmp word [edx + 0x10], di
jne 0x4857ef
mov edi, 0x30e7
cmp word [edx + 0x12], di
jne 0x4857ef
mov eax, dword [ebp - 0x7a4]
mov edi, dword [ebp - 0x910]
push dword [ebp - 0x784]
mov ecx, dword [edi + 0x18]
mov edi, dword [ebp - 0x770]
push esi
push dword [ebp - 0x88c]
mov dword [ebp - 0x7a0], ecx
push dword [ebp - 0x7f8]
push 4
push ecx
push eax
push edi
call dword [ebp - 0x800]
mov eax, dword [ebp - 0x6cc]
sub dword [ebp - 0x7b0], eax
mov ecx, dword [ebp - 0x7d4]
mov edx, dword [ebp - 0x910]
add ecx, eax
mov eax, dword [ebp - 0x778]
inc dword [ebp - 0x814]
mov esi, dword [ebp - 0x854]
mov dword [ebp - 0x7d4], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
add dword [edx + 0x18], eax
mov ax, word [ebp - 0x7b0]
test ax, ax
jg 0x4858a0
push esi
call fcn.00560853
add esp, 4
push dword [ebp - 0x7c8]
push edi
call dword [ebp - 0x7a8]
push dword [ebp - 0x7c0]
push edi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x910]
mov cl, byte [ebp - 0x771]
mov edx, dword [ebp - 0x79c]
movsd xmm2, qword [ebp - 0x7b8]
add dword [eax + 0x18], 0xfffffff6
mov esi, dword [ebp - 0x77c]
jmp 0x4828ad
mov edi, dword [ebp - 0x780]
cmp di, 9
jne 0x485c02
mov edi, 0xff3b
cmp word [edx], di
jne 0x485478
mov edi, 0xff03
cmp word [edx + 2], di
jne 0x485478
mov esi, 0x30ad
cmp word [edx + 4], si
mov esi, dword [ebp - 0x77c]
jne 0x485478
mov esi, 0x30e3
cmp word [edx + 6], si
mov esi, dword [ebp - 0x77c]
jne 0x485478
mov edi, 0x30d7
cmp word [edx + 8], di
jne 0x485478
mov esi, 0x30b7
cmp word [edx + 0xa], si
mov esi, dword [ebp - 0x77c]
jne 0x485478
mov edi, 0x30e7
cmp word [edx + 0xc], di
jne 0x485478
mov edi, 0x30f3
cmp word [edx + 0xe], di
jne 0x485478
mov edi, 0xff3d
cmp word [edx + 0x10], di
je 0x485ce0
movsd xmm2, qword [ebp - 0x7b8]
jmp 0x4828a1
cmp di, 0xd
jne 0x485cf2
mov edi, 0xff3b
cmp word [edx], di
jne 0x485478
mov edi, 0xff03
cmp word [edx + 2], di
jne 0x485478
mov esi, 0x3053
cmp word [edx + 4], si
mov esi, dword [ebp - 0x77c]
jne 0x485478
mov esi, 0x3053
cmp word [edx + 6], si
mov esi, dword [ebp - 0x77c]
jne 0x485478
mov edi, 0x304b
cmp word [edx + 8], di
jne 0x485478
mov esi, 0x3089
cmp word [edx + 0xa], si
mov esi, dword [ebp - 0x77c]
jne 0x485478
mov edi, 0x30ad
cmp word [edx + 0xc], di
jne 0x485478
mov edi, 0x30e3
cmp word [edx + 0xe], di
jne 0x485478
mov edi, 0x30d7
cmp word [edx + 0x10], di
jne 0x485478
mov edi, 0x30b7
cmp word [edx + 0x12], di
jne 0x485478
movsd xmm2, qword [ebp - 0x7b8]
or eax, 8
mov dword [esi], eax
jmp 0x4828a1
mov eax, dword [ebp - 0x780]
cmp ax, 0xb
jne 0x485dcd
mov eax, 0xff3b
cmp word [edx], ax
jne 0x485478
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x485478
mov edi, 0x30da
cmp word [edx + 4], di
jne 0x485478
mov edi, 0x30fc
cmp word [edx + 6], di
jne 0x485478
mov eax, 0x30b8
cmp word [edx + 8], ax
jne 0x485478
mov edi, 0x306e
cmp word [edx + 0xa], di
jne 0x485478
mov eax, 0x5de6
cmp word [edx + 0xc], ax
jne 0x485478
mov eax, 0x53f3
cmp word [edx + 0xe], ax
jne 0x485478
mov eax, 0x4e2d
cmp word [edx + 0x10], ax
jne 0x485478
mov eax, 0x592e
cmp word [edx + 0x12], ax
jne 0x485478
movsd xmm2, qword [ebp - 0x7b8]
mov eax, 0xff3d
mov edi, dword [ebp - 0x770]
cmp word [edx + 0x14], ax
jne 0x47c448
mov eax, dword [ebp - 0x974]
mov edx, 0x4000
or word [eax], dx
mov edx, dword [ebp - 0x79c]
jmp 0x4828ad
cmp ax, 0xf
jne 0x485478
mov eax, 0xff3b
cmp word [edx], ax
jne 0x485478
mov eax, 0xff03
cmp word [edx + 2], ax
jne 0x485478
mov edi, 0x3053
cmp word [edx + 4], di
jne 0x485478
cmp word [edx + 6], di
jne 0x485478
mov eax, 0x304b
cmp word [edx + 8], ax
jne 0x485478
mov edi, 0x3089
cmp word [edx + 0xa], di
jne 0x485478
mov eax, 0x30da
cmp word [edx + 0xc], ax
jne 0x485478
mov eax, 0x30fc
cmp word [edx + 0xe], ax
jne 0x485478
mov eax, 0x30b8
cmp word [edx + 0x10], ax
jne 0x485478
mov eax, 0x306e
cmp word [edx + 0x12], ax
jne 0x485478
mov eax, 0x5de6
cmp word [edx + 0x14], ax
jne 0x485478
mov eax, 0x53f3
cmp word [edx + 0x16], ax
jne 0x485478
mov eax, 0x4e2d
cmp word [edx + 0x18], ax
jne 0x485478
mov eax, 0x592e
cmp word [edx + 0x1a], ax
jne 0x485478
cmp dword [ebp - 0x778], 0
je 0x486330
mov esi, dword [ebp - 0x780]
add dword [ebp - 0x8e0], esi
test dl, dl
je 0x485f50
test cl, cl
je 0x485f50
mov ecx, dword [ebp - 0x7a4]
xor dh, dh
mov dword [ebp - 0x870], ecx
xor dl, dl
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x89c], ecx
mov byte [ebp - 0x771], dh
cmp byte [ebp - 0x8e7], dh
je 0x485f2e
xor cl, cl
mov byte [ebp - 0x8e7], cl
jmp 0x485f38
mov dword [ebp - 0x7fc], 0
cmp byte [ebp - 0x97c], 0
mov ecx, 1
movzx edx, dl
cmovne edx, ecx
mov dword [ebp - 0x79c], edx
mov ecx, dword [ebp - 0x778]
cmp ecx, dword [ebp - 0x9e0]
jne 0x48631a
movsd xmm0, qword [ebp - 0xa20]
mov edx, SysReAllocString
mov dword [ebp - 0x90c], edx
xor dh, dh
movsd qword [ebp - 0x830], xmm0
movsd qword [ebp - 0x810], xmm0
mov dword [ebp - 0x988], 0
mov dword [ebp - 0x950], VariantInit
mov byte [ebp - 0x79c], 1
mov byte [ebp - 0x771], dh
mov dword [ebp - 0x798], 0
cmp byte [ebp - 0x881], dh
je 0x4861e7
test eax, 0x4001
je 0x4861e7
mov edx, dword [ebp - 0x788]
movzx ecx, byte [edx + 0x7f6]
movzx eax, byte [edx + 0x7f5]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x7f4]
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x944]
push 0
call dword [ebp - 0x9cc]
push eax
push edi
mov dword [ebp - 0x9e0], eax
call dword [ebp - 0x78c]
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x9c8]
movsx ecx, ax
push 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
mov dword [ebp - 0x790], eax
mov eax, dword [ebp - 0x7e4]
cdq
sub eax, edx
mov edx, eax
mov eax, dword [ebp - 0x9c4]
movsx ecx, ax
sar edx, 1
cmp word [ebp - 0x834], 0x40
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
mov dword [ebp - 0x88c], eax
jne 0x486118
mov ecx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x7ec]
mov esi, dword [ecx + 8]
sub esi, dword [eax]
mov eax, dword [eax + 4]
mov edi, esi
sub dword [ebp - 0x790], eax
sub dword [ebp - 0x790], edx
sub edx, eax
mov ecx, dword [ecx + 4]
add edx, ecx
add dword [ebp - 0x790], ecx
push dword [ebp - 0x790]
sub esi, dword [ebp - 0x94c]
add esi, dword [ebp - 0x824]
sub edi, dword [ebp - 0x918]
add edi, dword [ebp - 0x824]
cvttsd2si eax, xmm0
push esi
push dword [ebp - 0x770]
add edx, eax
mov dword [ebp - 0x844], edx
call dword [ebp - 0x920]
push dword [ebp - 0x790]
push edi
push dword [ebp - 0x770]
call dword [ebp - 0x924]
push 0
push dword [ebp - 0x844]
push esi
mov esi, dword [ebp - 0x770]
push esi
call dword [ebp - 0x920]
push dword [ebp - 0x844]
push edi
push esi
call dword [ebp - 0x924]
mov edi, esi
jmp 0x4861b7
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x7ec]
mov esi, dword [ebp - 0x918]
mov edi, dword [ebp - 0x94c]
mov eax, dword [eax + 4]
sub eax, dword [ecx + 4]
sub eax, dword [ebp - 0x824]
add esi, eax
add edi, eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x7e0]
sub dword [ebp - 0x790], eax
sub dword [ebp - 0x790], edx
sub edx, eax
add edx, dword [ebp - 0x88c]
mov ecx, dword [ecx]
add edx, ecx
add dword [ebp - 0x790], ecx
push esi
push dword [ebp - 0x790]
mov dword [ebp - 0x844], edx
push dword [ebp - 0x770]
call dword [ebp - 0x920]
push edi
push dword [ebp - 0x790]
push dword [ebp - 0x770]
call dword [ebp - 0x924]
push 0
push esi
mov esi, dword [ebp - 0x844]
push esi
push dword [ebp - 0x770]
call dword [ebp - 0x920]
push edi
mov edi, dword [ebp - 0x770]
push esi
push edi
call dword [ebp - 0x924]
mov esi, dword [ebp - 0x9e0]
test esi, esi
je 0x4861d5
push dword [ebp - 0x7d4]
push edi
call dword [ebp - 0x78c]
push esi
call dword [ebp - 0x9c0]
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x778]
and dword [eax], 0xffffbfff
movsd xmm0, qword [ebp - 0x708]
movsd xmm1, qword [ebp - 0x730]
movsd xmm2, qword [ebp - 0x750]
addsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x718]
comisd xmm2, xmm0
movsd xmm0, qword [ebp - 0x940]
jbe 0x486226
mov byte [ebp - 0x7ad], 1
addsd xmm0, xmm2
jmp 0x486231
mov byte [ebp - 0x7ad], 0
addsd xmm0, xmm1
sub esp, 8
movsd qword [ebp - 0x940], xmm0
movsd xmm0, qword [ebp - 0x7b8]
lea eax, [ebp - 0x6b9]
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x76c]
push eax
lea eax, [ebp - 0x6c1]
push eax
lea eax, [ebp - 0x750]
push eax
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x700]
push eax
lea eax, [ebp - 0x6f8]
push eax
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x708]
push eax
lea eax, [ebp - 0x6c0]
push eax
push dword [ebp - 0x948]
push dword [ebp - 0x84c]
push ecx
mov ecx, dword [ebp - 0x7c4]
call fcn.004e8ca0
movsd xmm2, qword [ebp - 0x7b8]
ucomisd xmm2, qword [ebp - 0x8f0]
mov dword [ebp - 0x9e0], eax
lahf
test ah, 0x44
jnp 0x4862e4
movd xmm0, dword [ebp - 0x6c0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
mov dword [ebp - 0x6c0], eax
cmp byte [ebp - 0x7ad], 0
jne 0x486323
movsd xmm0, qword [ebp - 0x708]
xor esi, esi
addsd xmm0, qword [ebp - 0x718]
mov dword [ebp - 0x780], esi
addsd xmm0, qword [ebp - 0x940]
movsd qword [ebp - 0x940], xmm0
jmp 0x486560
movsx eax, si
add dword [ebp - 0x988], eax
xor esi, esi
mov dword [ebp - 0x780], esi
jmp 0x486560
cmp byte [ebp - 0x881], 0
je 0x48633d
test al, 1
jne 0x486348
test eax, 0x4000
je 0x48654b
mov eax, dword [ebp - 0x788]
movzx ecx, byte [eax + 0x7f6]
movzx eax, byte [eax + 0x7f5]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x788]
shl ecx, 8
movzx eax, byte [eax + 0x7f4]
or ecx, eax
push ecx
push dword [ebp - 0x944]
push 0
call dword [ebp - 0x9cc]
push eax
push edi
mov dword [ebp - 0x854], eax
call dword [ebp - 0x78c]
mov dword [ebp - 0x8f4], eax
mov eax, dword [ebp - 0x9c8]
movsx ecx, ax
mov eax, dword [ebp - 0x7e4]
cdq
sub eax, edx
movd xmm0, ecx
mov edx, eax
mov eax, dword [ebp - 0x9c4]
cvtdq2pd xmm0, xmm0
sar edx, 1
cmp word [ebp - 0x834], 0x40
push 0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si ecx, xmm0
mov dword [ebp - 0x790], ecx
movsx ecx, ax
movd xmm0, ecx
mov ecx, dword [ebp - 0x7ec]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x7b8]
cvttsd2si eax, xmm0
mov dword [ebp - 0x88c], eax
jne 0x486490
mov esi, dword [ebp - 0x7e0]
mov edi, dword [esi + 8]
sub edi, dword [ecx]
mov esi, dword [esi + 4]
mov eax, edi
sub eax, dword [ebp - 0x918]
add eax, dword [ebp - 0x824]
sub edi, dword [ebp - 0x94c]
add edi, dword [ebp - 0x824]
mov dword [ebp - 0x7d4], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x790]
sub ecx, eax
sub ecx, edx
add ecx, esi
sub esi, eax
cvttsd2si eax, xmm0
push ecx
push edi
mov dword [ebp - 0x790], ecx
push dword [ebp - 0x770]
add esi, eax
add esi, edx
call dword [ebp - 0x920]
mov ecx, dword [ebp - 0x790]
push ecx
push dword [ebp - 0x7d4]
push dword [ebp - 0x770]
call dword [ebp - 0x924]
push 0
push esi
push edi
mov edi, dword [ebp - 0x770]
push edi
call dword [ebp - 0x920]
push esi
push dword [ebp - 0x7d4]
jmp 0x48651a
mov edi, dword [ebp - 0x7e0]
mov esi, dword [ebp - 0x918]
mov eax, dword [edi + 4]
sub eax, dword [ecx + 4]
sub eax, dword [ebp - 0x824]
mov edi, dword [edi]
add esi, eax
add eax, dword [ebp - 0x94c]
mov dword [ebp - 0x7d4], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x790]
sub ecx, eax
sub ecx, edx
add ecx, edi
sub edi, eax
add edi, dword [ebp - 0x88c]
push esi
push ecx
push dword [ebp - 0x770]
mov dword [ebp - 0x790], ecx
add edi, edx
call dword [ebp - 0x920]
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x790]
push ecx
push dword [ebp - 0x770]
call dword [ebp - 0x924]
push 0
push esi
push edi
push dword [ebp - 0x770]
call dword [ebp - 0x920]
push dword [ebp - 0x7d4]
push edi
mov edi, dword [ebp - 0x770]
push edi
call dword [ebp - 0x924]
mov esi, dword [ebp - 0x854]
test esi, esi
je 0x48653f
push dword [ebp - 0x8f4]
push edi
call dword [ebp - 0x78c]
push esi
call dword [ebp - 0x9c0]
mov eax, dword [ebp - 0x77c]
and dword [eax], 0xffffbfff
mov byte [ebp - 0x8e8], 0
mov esi, dword [ebp - 0x780]
movsd xmm2, qword [ebp - 0x7b8]
mov edi, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0x984]
mov ecx, dword [ebp - 0xa14]
movsx edx, di
inc ecx
mov dword [ebp - 0xa14], ecx
mov eax, dword [eax + edx*4 + 4]
mov edx, dword [ebp - 0x77c]
cmp cx, word [eax]
jl 0x469e20
mov al, byte [ebp - 0x8e8]
mov edx, dword [ebp - 0x9bc]
xor esi, esi
mov ecx, dword [ebp - 0x984]
inc edx
mov dword [ebp - 0x9bc], edx
cmp dx, word [ecx]
mov edx, dword [ebp - 0x77c]
jl 0x469de1
mov ecx, dword [ebp - 0x984]
xor eax, eax
xor esi, esi
mov ecx, dword [ecx + 0x1004]
mov dword [ebp - 0x984], ecx
test ecx, ecx
jne 0x469db0
push dword [ebp - 0x7bc]
call fcn.00560853
add esp, 4
push dword [ebp - 0x87c]
call fcn.00560853
add esp, 4
push dword [ebp - 0x7f0]
call fcn.00560853
add esp, 4
push dword [ebp - 0x784]
call fcn.00560853
add esp, 4
push dword [ebp - 0x820]
call fcn.00560853
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0056060a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x60
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x770]
test eax, eax
je 0x486664
push eax
push esi
call dword [ebp - 0x78c]
push dword [ebp - 0x928]
push esi
call dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x8d4]
test eax, eax
je 0x486676
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8d8]
test eax, eax
je 0x486688
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x48669a
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8bc]
test eax, eax
je 0x4866ac
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8b0]
test eax, eax
je 0x4866be
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8c0]
test eax, eax
je 0x4866d0
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8b4]
test eax, eax
je 0x4866e2
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8b8]
test eax, eax
je 0x4866f4
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8c4]
test eax, eax
je 0x486706
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8a8]
test eax, eax
je 0x486718
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8c8]
test eax, eax
je 0x48672a
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8a0]
test eax, eax
je 0x48673c
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8a4]
test eax, eax
je 0x48674e
push eax
push esi
call dword [ebp - 0x78c]
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x486760
push eax
push esi
call dword [ebp - 0x78c]
push edi
call fcn.00560853
add esp, 4
push dword [ebp - 0x87c]
call fcn.00560853
add esp, 4
push dword [ebp - 0x7f0]
call fcn.00560853
add esp, 4
push dword [ebp - 0x784]
call fcn.00560853
add esp, 4
push dword [ebp - 0x820]
call fcn.00560853
mov eax, dword [ebp - 0x798]
add esp, 4
jmp 0x48661f
call fcn.0056073a
int3