Function at 0x4a86e0
Capabilities:
Access peb ldr_data
Enumerate pe sections
Get kernel32 base address

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5846cb
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x968
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 edx, ecx
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x750], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x6f0], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x738], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x77c], eax
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0x844], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x73c], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x7d0], eax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x8a8], eax
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x8a0], eax
mov eax, dword [ebx + 0x34]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x6d8], eax
mov eax, dword [ebx + 0x3c]
movzx esi, word [edx + 0xe]
mov dword [ebp - 0x820], eax
mov eax, dword [ebx + 0x40]
mov edi, dword [ebx + 0x38]
mov dword [ebp - 0x858], eax
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x7cc], eax
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x7d4], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x82c], eax
movzx eax, word [edx + 0xc]
mov dword [ebp - 0x700], eax
xor eax, eax
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x80c], eax
mov dword [ebp - 0x724], eax
mov dword [ebp - 0x758], eax
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x6f8], eax
xor eax, eax
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x790], eax
mov dword [ebp - 0x780], eax
mov dword [ebp - 0x784], eax
mov dword [ebp - 0x788], eax
mov dword [ebp - 0x78c], eax
mov dword [ebp - 0x79c], eax
mov dword [ebp - 0x7b0], eax
mov dword [ebp - 0x7bc], eax
mov dword [ebp - 0x7b4], eax
mov dword [ebp - 0x7ac], eax
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x7b8], eax
mov dword [ebp - 0x7a8], eax
mov dword [ebp - 0x7a4], eax
mov dword [ebp - 0x8a4], eax
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x8bc], eax
mov byte [ebp - 0x771], al
mov byte [ebp - 0x7ea], al
mov byte [ebp - 0x7e9], al
mov eax, 0x3042
mov word [ebp - 0x684], ax
xor eax, eax
mov dword [ebp - 0x86c], 0
mov dword [ebp - 0x6e8], 0
mov dword [ebp - 0x7c8], 0
mov dword [ebp - 0x6dc], ecx
mov byte [ebp - 0x6e1], 1
mov dword [ebp - 0x714], 0
mov dword [ebp - 0x854], 0
mov word [ebp - 0x682], ax
mov dword [ebp - 0x838], eax
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x85c], eax
mov dword [ebp - 0x840], eax
mov eax, dword [ebp - 0x750]
mov dword [ebp - 0x880], 0xffffffff
mov byte [ebp - 0x83c], 0
mov dword [ebp - 0x868], 0
mov eax, dword [eax]
mov dword [ebp - 0x830], eax
and dword [ebp - 0x830], 3
mov dword [ebp - 0x84c], eax
shr dword [ebp - 0x84c], 8
and dword [ebp - 0x84c], 0x1f
shr eax, 0xd
and eax, 0x1f
mov dword [ebp - 0x884], 0xffffd8f1
cmp dword [ecx + 0xc], 0
mov dword [ebp - 0x900], eax
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x730], 0
mov dword [ebp - 0x7f8], 0
movzx eax, word [eax]
movzx eax, al
mov dword [ebp - 0x934], eax
mov dword [ebp - 0x74c], 0
mov byte [ebp - 0x765], 0
mov dword [ebp - 0x848], 0
je 0x4b8910
mov al, byte [ecx + 8]
shr al, 3
and al, 1
cmp word [ebx + 0x48], 1
mov byte [ebp - 0x805], al
jne 0x4a89c4
mov ecx, edx
call fcn.00468d80
cmp dword [ebp - 0x7cc], 0
je 0x4b8910
push 0x2002
call fcn.00560858
add esp, 4
mov dword [ebp - 0x704], eax
push 0x4004
call fcn.00560858
add esp, 4
mov dword [ebp - 0x72c], eax
push 0x4004
call fcn.00560858
mov dword [ebp - 0x6fc], eax
add esp, 4
mov eax, dword [ebp - 0x6d8]
mov ecx, 0
mov edx, dword [eax]
test dl, 0x20
mov eax, dword [ebp - 0x6dc]
cmovne ecx, eax
mov dword [ebp - 0x804], ecx
mov ecx, edx
shr ecx, 0x18
and ecx, 0xffffff01
mov dword [ebp - 0x850], ecx
mov ecx, dword [eax + 0xc]
mov eax, edx
and eax, 0xa00
cmp eax, 0xa00
jne 0x4a8a7b
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
shr edx, 0x1c
mov dword [ebp - 0x748], edx
mov dword [ebp - 0x6f4], eax
push dword [ecx + edx*4 + 0x244]
push dword [ebp - 0x6f0]
call eax
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x1b0]
mov dword [ebp - 0x790], eax
jmp 0x4a8bdb
mov eax, edx
and eax, 0x1200
cmp eax, 0x1200
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x6f4], eax
jne 0x4a8ac6
shr edx, 0x1c
mov dword [ebp - 0x748], edx
push dword [ecx + edx*4 + 0x2e4]
push dword [ebp - 0x6f0]
call eax
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x1b0]
mov dword [ebp - 0x780], eax
jmp 0x4a8bdb
test edx, 0x200
je 0x4a8af6
push dword [ecx + 0x1cc]
push dword [ebp - 0x6f0]
call eax
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x1b0]
mov dword [ebp - 0x784], eax
jmp 0x4a8bcf
test edx, 0x400
je 0x4a8b26
push dword [ecx + 0x1d0]
push dword [ebp - 0x6f0]
call eax
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x1b0]
mov dword [ebp - 0x788], eax
jmp 0x4a8bcf
test edx, 0x800
je 0x4a8b5d
shr edx, 0x1c
mov dword [ebp - 0x748], edx
push dword [ecx + edx*4 + 0x1f4]
push dword [ebp - 0x6f0]
call eax
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x1b0]
mov dword [ebp - 0x78c], eax
jmp 0x4a8bdb
test edx, 0x1000
je 0x4a8b94
shr edx, 0x1c
mov dword [ebp - 0x748], edx
push dword [ecx + edx*4 + 0x21c]
push dword [ebp - 0x6f0]
call eax
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x1b0]
mov dword [ebp - 0x79c], eax
jmp 0x4a8bdb
test edx, 0x100
je 0x4a8bc1
push dword [ecx + 0x1c4]
push dword [ebp - 0x6f0]
call eax
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x1b0]
mov dword [ebp - 0x798], eax
jmp 0x4a8bcf
push dword [ecx + 0x1b0]
push dword [ebp - 0x6f0]
call eax
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x748], eax
push 1
push dword [ebp - 0x6f0]
call dword [sym.imp.GDI32.dll_SetBkMode]
mov ecx, dword [ebp - 0x6dc]
sub esp, 8
movsd xmm1, qword [0x5ea578]
movsd qword [ebp - 0x898], xmm1
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x1b0]
movzx eax, word [eax + 0x64]
mov dword [ebp - 0x76c], eax
mov dword [ebp - 0x8fc], edx
mov edx, dword [ebp - 0x77c]
movsx eax, word [edx + 4]
movd xmm0, eax
lea eax, [ebp - 0x679]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5ea528]
addsd xmm0, xmm1
movsd qword [esp], xmm0
movaps xmm1, xmm0
push eax
lea eax, [ebp - 0x6d4]
unpcklpd xmm1, xmm1
push eax
lea eax, [ebp - 0x671]
movsd qword [ebp - 0x710], xmm0
push eax
lea eax, [ebp - 0x6c8]
movaps xmmword [ebp - 0x950], xmm1
push eax
lea eax, [ebp - 0x6a8]
push eax
lea eax, [ebp - 0x698]
push eax
lea eax, [ebp - 0x690]
push eax
lea eax, [ebp - 0x6b0]
push eax
lea eax, [ebp - 0x6b8]
push eax
lea eax, [ebp - 0x6a0]
push eax
lea eax, [ebp - 0x678]
push eax
push dword [ebp - 0x844]
push edx
push ecx
mov ecx, dword [ebp - 0x6ec]
call fcn.004e8ca0
mov dword [ebp - 0x8b4], eax
mov eax, dword [ebp - 0x6ec]
mov eax, dword [eax + 0x14]
movzx ecx, word [eax + 0x28]
cmp cx, 2
jne 0x4a8cec
movsd xmm1, qword [ebp - 0x6a0]
addsd xmm1, qword [ebp - 0x6b8]
addsd xmm1, qword [ebp - 0x6b0]
mulsd xmm1, qword [eax + 0x30]
jmp 0x4a8d1e
cmp cx, word [ebp - 0x844]
jne 0x4a8cfc
movsd xmm1, qword [eax + 0x30]
jmp 0x4a8d1e
movsd xmm0, qword [eax + 0x30]
test cx, cx
mov ecx, dword [ebp - 0x77c]
movaps xmm1, xmm0
jne 0x4a8d16
call fcn.00537bb0
jmp 0x4a8d1b
call fcn.00537bc0
movaps xmm1, xmm0
mov eax, dword [ebp - 0x6dc]
movzx eax, word [eax + 0xa]
mov dword [ebp - 0x8b8], eax
mov eax, dword [ebp - 0x6ec]
test byte [eax + 0x20], 2
movsd xmm0, qword [eax + 0x18]
jne 0x4a8d6d
comisd xmm0, xmmword [0x5ea4b0]
jbe 0x4a8d5b
addsd xmm1, qword [ebp - 0x6a0]
movsd qword [ebp - 0x818], xmm1
jmp 0x4a8d91
addsd xmm1, qword [ebp - 0x690]
movsd qword [ebp - 0x818], xmm1
jmp 0x4a8d91
comisd xmm0, xmmword [0x5ea4b0]
jbe 0x4a8d81
movsd xmm0, qword [ebp - 0x6a0]
jmp 0x4a8d89
movsd xmm0, qword [ebp - 0x690]
movsd qword [ebp - 0x818], xmm0
push 0
push dword [ebp - 0x6f0]
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp word [edi], 0
mov eax, dword [sym.imp.GDI32.dll_GetTextExtentExPointW]
mov dword [ebp - 0x7e0], eax
je 0x4a8e42
lea ecx, [ebp - 0x650]
push ecx
push dword [ebp - 0x72c]
lea ecx, [ebp - 0x684]
push 0
push 0
push 1
push ecx
push dword [ebp - 0x6f0]
call eax
movzx edx, word [edi]
movd xmm0, dword [ebp - 0x650]
movsd xmm2, qword [ebp - 0x710]
movzx ecx, dl
mov eax, ecx
shr dx, 8
mov dword [ebp - 0x838], eax
mov eax, dword [ebp - 0x6dc]
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 - 0x85c], eax
movzx eax, dx
mov dword [ebp - 0x800], eax
xor eax, eax
mov word [edi], ax
jmp 0x4a8e4a
movsd xmm2, qword [ebp - 0x710]
mov edi, dword [ebp - 0x82c]
test edi, edi
je 0x4b8815
movsd xmm0, qword [0x5ea500]
mov eax, dword [ebp - 0x704]
mov dl, byte [ebp - 0x679]
movsd qword [ebp - 0x878], xmm0
movsd xmm0, qword [0x5ea4f0]
movsd qword [ebp - 0x8f0], xmm0
lea ecx, [eax + 4]
movsd xmm0, qword [0x5ea518]
add eax, 6
movsd qword [ebp - 0x8f8], xmm0
movsd xmm0, qword [0x5ea660]
movsd qword [ebp - 0x828], xmm0
movsd xmm0, qword [0x5ea6e0]
mov dword [ebp - 0x7e8], eax
mov eax, dword [ebp - 0x858]
movsd qword [ebp - 0x8e0], xmm0
movsd xmm0, qword [str.333333]
mov dword [ebp - 0x81c], eax
mov eax, dword [ebp - 0x858]
movsd qword [ebp - 0x8e8], xmm0
movsd xmm0, qword [str.ffffff]
mov dword [ebp - 0x7d8], eax
mov eax, dword [ebp - 0x858]
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x858]
movsd qword [ebp - 0x958], xmm0
movsd xmm0, qword [0x5ea508]
mov dword [ebp - 0x810], ecx
mov cl, byte [ebp - 0x6e1]
mov dword [ebp - 0x794], eax
mov eax, dword [ebp - 0x700]
mov dword [ebp - 0x770], 0
mov dword [ebp - 0x91c], 0x214
mov dword [ebp - 0x8b0], 0xd800
mov dword [ebp - 0x87c], 0xdc00
mov dword [ebp - 0x8d4], 0xdfff
mov dword [ebp - 0x924], 0xdbff
mov dword [ebp - 0x914], 0x3015
mov dword [ebp - 0x920], 0x30ec
mov dword [ebp - 0x928], 0x4e00
mov dword [ebp - 0x92c], 0x4e8c
mov dword [ebp - 0x930], 0x4e09
mov dword [ebp - 0x918], 0xff08
mov dword [ebp - 0x8cc], 0xff0d
mov dword [ebp - 0x8c8], 0x2212
mov dword [ebp - 0x904], 0x3099
mov dword [ebp - 0x908], 0x309a
mov dword [ebp - 0x90c], 0x309b
mov dword [ebp - 0x910], 0x309c
mov dword [ebp - 0x8c0], 0x3088
movsd qword [ebp - 0x968], xmm0
mov byte [ebp - 0x7bd], dl
test cl, cl
je 0x4b8815
movzx edx, ax
mov dword [ebp - 0x870], edx
cmp ax, word [edi]
jge 0x4b87e7
test cl, cl
je 0x4b87e7
movzx eax, si
mov dword [ebp - 0x888], eax
movsx eax, dx
mov edi, dword [edi + eax*4 + 4]
cmp si, word [edi]
jge 0x4b87c7
mov esi, dword [ebp - 0x758]
mov edx, dword [ebp - 0x6e8]
nop dword [eax]
mov eax, dword [ebp - 0x850]
mov byte [ebp - 0x7eb], al
movzx eax, dx
mov dword [ebp - 0x864], eax
movzx eax, dx
mov dword [ebp - 0x7e4], eax
movzx eax, dx
mov dword [ebp - 0x764], eax
movzx eax, dx
mov dword [ebp - 0x720], eax
test cl, cl
je 0x4b87c1
mov eax, dword [ebx + 0x44]
cmp byte [eax + 0x2f4], 0
je 0x4a9196
test esi, esi
je 0x4a9196
movzx eax, word [esi + 8]
test al, 0x42
jne 0x4a9196
test al, 4
je 0x4a90aa
and al, 0x14
cmp al, 0x14
jne 0x4a9196
mov eax, dword [ebp - 0x6d8]
mov eax, dword [eax]
test al, 0x20
jne 0x4a9196
cmp byte [ebp - 0x765], 0
jne 0x4a9196
test dx, dx
jne 0x4a9196
mov edx, eax
and edx, 0x40
jne 0x4a90e4
and eax, 0x80
je 0x4a9190
jmp 0x4a90e9
and eax, 0x80
mov ecx, dword [ebp - 0x730]
test ecx, ecx
je 0x4a914e
test edx, edx
je 0x4a9101
cmp word [ebp - 0x7f8], 1
je 0x4a914e
test eax, eax
je 0x4a910f
cmp word [ebp - 0x7f8], 2
je 0x4a914e
mov eax, dword [esi + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, word [esi + 4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov eax, dword [ebp - 0x650]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
add eax, ecx
cmp eax, dword [ebp - 0x730]
jle 0x4a9183
mov dword [ebp - 0x730], eax
jmp 0x4a9183
mov eax, dword [esi + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, word [esi + 4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x650]
add ecx, eax
mov dword [ebp - 0x730], ecx
neg edx
sbb eax, eax
add eax, 2
mov dword [ebp - 0x7f8], eax
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x888]
cwde
movsx ecx, dx
mov ax, word [edi + eax*2 + 2]
mov edi, dword [ebp - 0x704]
mov word [edi + ecx*2], ax
mov eax, dword [ebx + 0x44]
mov al, byte [eax + 0x2f4]
test al, al
je 0x4a9223
cmp byte [ebp - 0x850], 0
je 0x4a91e5
mov ecx, dword [ebp - 0x6ec]
push edx
push edi
call fcn.004d5740
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebp - 0x6e8]
mov al, byte [ecx + 0x2f4]
test al, al
je 0x4a9223
cmp word [ebp - 0x76c], 0x40
jne 0x4a9223
mov ecx, dword [ebp - 0x6ec]
push edx
push 0
push edi
call fcn.004d5810
test al, al
je 0x4a9223
mov eax, dword [ebp - 0x6dc]
mov ecx, 1
test byte [eax + 8], 0x40
mov eax, dword [ebp - 0x83c]
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp - 0x6e8]
mov ecx, dword [ebp - 0x6ec]
push eax
push edi
call fcn.004d5d80
mov edx, dword [ebp - 0x6e8]
mov ecx, dword [ebp - 0x6dc]
inc edx
mov dword [ebp - 0x6e8], edx
cmp dx, word [ecx + 4]
jl 0x4b877e
mov eax, dword [ebx + 0x44]
mov esi, dword [ebp - 0x6dc]
mov cl, byte [eax + 0x2f4]
mov dl, cl
test cl, cl
je 0x4a92ac
mov ax, word [esi + 8]
and ax, word [ebp - 0x91c]
cmp ax, 0x14
mov eax, dword [ebp - 0x6e8]
jne 0x4a92b2
cmp ax, 1
jne 0x4a92b2
mov cx, word [edi]
call fcn.0040d690
mov ecx, dword [ebx + 0x44]
cwde
mov eax, dword [eax*4 + 0x591aa4]
mov ax, word [eax]
mov word [edi], ax
mov dl, byte [ecx + 0x2f4]
mov eax, dword [ebp - 0x6e8]
jmp 0x4a92b5
mov eax, dword [ebp - 0x6e8]
mov ecx, dword [ebx + 0x44]
mov byte [ebp - 0x765], 0
test dl, dl
je 0x4a92e0
cmp byte [ecx + 0x7e4], 0
je 0x4a92e0
test byte [esi + 8], 0x40
jne 0x4a92e0
mov ecx, 0x2015
mov byte [ebp - 0x6e2], 1
cmp word [edi], cx
je 0x4a92e7
mov byte [ebp - 0x6e2], 0
mov ecx, dword [ebp - 0x76c]
cmp cx, 0x40
jne 0x4a9326
cmp ax, 2
jl 0x4a9326
mov ax, word [edi]
mov esi, 0xfc00
and ax, si
mov edx, 0xd800
cmp ax, dx
jne 0x4a9326
mov ax, word [edi + 2]
mov edx, 0xdc00
and ax, si
mov byte [ebp - 0x73d], 1
cmp ax, dx
je 0x4a932d
mov byte [ebp - 0x73d], 0
cmp dword [ebp - 0x86c], 0
jne 0x4a9701
mov edi, dword [ebp - 0x6dc]
mov esi, dword [ebp - 0x6ec]
cmp word [edi + 0xa], 0
mov eax, dword [esi + 0x14]
jne 0x4a9360
test byte [esi + 0x20], 2
jne 0x4a9360
movsd xmm0, qword [eax + 0x2e8]
jmp 0x4a9368
movsd xmm0, qword [eax + 0x2f0]
cmp word [ebp - 0x844], 0
movaps xmm1, xmm0
mov ecx, dword [ebp - 0x77c]
jne 0x4a939e
call fcn.00537a90
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x6e0], eax
movsd xmm1, qword [ecx + 0x2f8]
mov ecx, dword [ebp - 0x77c]
call fcn.00537a90
jmp 0x4a93bf
call fcn.005379d0
mov ecx, dword [ebp - 0x77c]
mov dword [ebp - 0x6e0], eax
mov eax, dword [esi + 0x14]
movsd xmm1, qword [eax + 0x2f8]
call fcn.005379d0
mov edx, dword [ebp - 0x6e0]
mov dword [ebp - 0x80c], eax
mov eax, dword [ebp - 0x85c]
cwde
add edx, eax
cmp word [ebp - 0x800], 0
mov dword [ebp - 0x6e0], edx
jle 0x4a94d6
mov eax, dword [esi + 0x14]
movzx eax, word [eax + 8]
cmp ax, 2
je 0x4a94d6
cmp ax, 1
je 0x4a94d6
cmp word [ebp - 0x838], 0
jne 0x4a94bc
mov eax, dword [ebp - 0x848]
test eax, eax
jne 0x4a9455
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
lea eax, [ebp - 0x684]
push 0
push 0
push 1
push eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x650]
mov edx, dword [ebp - 0x6e0]
mov dword [ebp - 0x848], eax
jmp 0x4a945b
mov dword [ebp - 0x650], eax
cmp word [edi + 0xa], 0
mov ecx, eax
jne 0x4a9490
test byte [esi + 0x20], 2
jne 0x4a9490
mov eax, dword [edi + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add eax, ecx
imul eax, dword [ebp - 0x84c]
jmp 0x4a94b4
mov eax, dword [edi + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add eax, ecx
imul eax, dword [ebp - 0x900]
add edx, eax
mov dword [ebp - 0x840], eax
mov esi, dword [ebp - 0x678]
add edx, esi
movzx eax, word [edi + 0xa]
mov dword [ebp - 0x6e0], edx
mov dword [ebp - 0x880], eax
jmp 0x4a94dc
mov esi, dword [ebp - 0x678]
mov eax, dword [ebp - 0x750]
mov edx, dword [ebp - 0x800]
mov eax, dword [eax]
mov ecx, eax
test al, 8
je 0x4a95d0
cmp word [ebp - 0x85c], 0
jne 0x4a95d0
test dx, dx
jg 0x4a95d0
mov ecx, dword [ebp - 0x848]
test ecx, ecx
jne 0x4a9557
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
lea eax, [ebp - 0x684]
push ecx
push ecx
push 1
push eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x650]
mov edx, eax
mov esi, dword [ebp - 0x678]
mov dword [ebp - 0x848], eax
mov eax, dword [ebp - 0x750]
mov ecx, dword [eax]
jmp 0x4a9561
mov dword [ebp - 0x650], ecx
mov edx, ecx
mov ecx, eax
cmp word [edi + 0xa], 0
jne 0x4a959a
mov eax, dword [ebp - 0x6ec]
test byte [eax + 0x20], 2
jne 0x4a959a
mov eax, dword [edi + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add eax, edx
imul eax, dword [ebp - 0x84c]
jmp 0x4a95be
mov eax, dword [edi + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add eax, edx
imul eax, dword [ebp - 0x900]
mov edx, dword [ebp - 0x800]
add dword [ebp - 0x6e0], eax
mov dword [ebp - 0x840], eax
test cl, 4
je 0x4a9691
cmp word [ebp - 0x85c], 0
jne 0x4a9691
test dx, dx
jg 0x4a9691
mov edx, dword [ebp - 0x848]
test edx, edx
jne 0x4a9632
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
lea eax, [ebp - 0x684]
push edx
push edx
push 1
push eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x650]
mov esi, dword [ebp - 0x678]
mov dword [ebp - 0x848], edx
jmp 0x4a9638
mov dword [ebp - 0x650], edx
mov eax, dword [ebp - 0x6ec]
mov ecx, edx
mov eax, dword [eax + 0x14]
movzx eax, word [eax + 8]
cmp ax, 2
je 0x4a9691
cmp ax, 1
je 0x4a9691
mov eax, dword [edi + 0xc]
mov edx, esi
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, dword [ebp - 0x6e0]
imul eax, dword [ebp - 0x934]
sub edx, eax
add ecx, edx
mov dword [ebp - 0x840], edx
mov dword [ebp - 0x6e0], ecx
jmp 0x4a9697
mov ecx, dword [ebp - 0x6e0]
mov edi, dword [ebp - 0x6ec]
mov eax, dword [edi + 0x14]
movsx eax, word [eax + 8]
sub eax, 1
je 0x4a96f6
sub eax, 1
jne 0x4a96b6
add ecx, esi
mov dword [ebp - 0x6e0], ecx
mov ecx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x820]
mov edx, 0x4000
test word [eax], dx
je 0x4a97f2
cmp cx, 0x40
mov ecx, dword [ebp - 0x738]
jne 0x4a9710
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
mov ecx, dword [ebx + 0x54]
cmp ecx, eax
jge 0x4a9709
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x4a97fe
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add ecx, eax
jmp 0x4a96b0
mov edi, dword [ebp - 0x6ec]
jmp 0x4a96bc
xor esi, esi
jmp 0x4a97fe
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 4]
mov ecx, dword [ebx + 0x54]
cmp ecx, eax
jge 0x4a97eb
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
cmp word [ebp - 0x844], 0
movsd xmm0, qword [edi + 0x18]
addsd xmm0, qword [ebp - 0x818]
mov ecx, dword [ebp - 0x77c]
movaps xmm1, xmm0
jne 0x4a99c6
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x818]
add eax, esi
subsd xmm1, qword [ebp - 0x690]
mov ecx, dword [ebp - 0x77c]
mov dword [ebp - 0x7dc], eax
addsd xmm1, qword [edi + 0x18]
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x818]
add eax, esi
addsd xmm1, qword [ebp - 0x698]
mov dword [ebp - 0x754], eax
addsd xmm1, qword [edi + 0x18]
mov edi, dword [ebp - 0x77c]
mov ecx, edi
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x690]
add eax, esi
mov ecx, edi
mov dword [ebp - 0x760], eax
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x698]
mov ecx, edi
mov dword [ebp - 0x75c], eax
call fcn.00537ae0
movsd xmm1, qword [ebp - 0x6a8]
mov ecx, edi
mov dword [ebp - 0x7c4], eax
call fcn.00537ae0
jmp 0x4a9a5e
xor esi, esi
jmp 0x4a972a
xor esi, esi
cmp cx, 0x40
jne 0x4a972a
cmp word [ebp - 0x844], 0
movsd xmm0, qword [edi + 0x18]
addsd xmm0, qword [ebp - 0x818]
mov ecx, dword [ebp - 0x77c]
movaps xmm1, xmm0
jne 0x4a98ca
call fcn.00537a90
movsd xmm1, qword [ebp - 0x818]
add eax, esi
subsd xmm1, qword [ebp - 0x690]
mov ecx, dword [ebp - 0x77c]
mov dword [ebp - 0x7dc], eax
addsd xmm1, qword [edi + 0x18]
call fcn.00537a90
movsd xmm1, qword [ebp - 0x818]
addsd xmm1, qword [ebp - 0x698]
mov ecx, dword [ebp - 0x77c]
lea edi, [esi + eax]
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0x754], edi
addsd xmm1, qword [eax + 0x18]
call fcn.00537a90
movsd xmm1, qword [ebp - 0x690]
add eax, esi
mov esi, dword [ebp - 0x77c]
mov ecx, esi
mov dword [ebp - 0x760], eax
call fcn.00537a90
movsd xmm1, qword [ebp - 0x698]
mov ecx, esi
mov dword [ebp - 0x75c], eax
call fcn.00537a90
movsd xmm1, qword [ebp - 0x6a8]
mov ecx, esi
mov dword [ebp - 0x7c4], eax
call fcn.00537a90
jmp 0x4a996d
call fcn.005379d0
movsd xmm1, qword [ebp - 0x818]
add eax, esi
subsd xmm1, qword [ebp - 0x690]
mov ecx, dword [ebp - 0x77c]
mov dword [ebp - 0x7dc], eax
addsd xmm1, qword [edi + 0x18]
call fcn.005379d0
movsd xmm1, qword [ebp - 0x818]
addsd xmm1, qword [ebp - 0x698]
mov ecx, dword [ebp - 0x77c]
lea edi, [esi + eax]
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0x754], edi
addsd xmm1, qword [eax + 0x18]
call fcn.005379d0
movsd xmm1, qword [ebp - 0x690]
add eax, esi
mov esi, dword [ebp - 0x77c]
mov ecx, esi
mov dword [ebp - 0x760], eax
call fcn.005379d0
movsd xmm1, qword [ebp - 0x698]
mov ecx, esi
mov dword [ebp - 0x75c], eax
call fcn.005379d0
movsd xmm1, qword [ebp - 0x6a8]
mov ecx, esi
mov dword [ebp - 0x7c4], eax
call fcn.005379d0
mov esi, dword [ebp - 0x738]
mov dword [ebp - 0x71c], eax
mov eax, dword [ebp - 0x73c]
mov ecx, dword [esi + 8]
mov edx, dword [eax]
sub ecx, edx
mov eax, ecx
sub ecx, dword [ebp - 0x760]
sub eax, edi
mov dword [ebp - 0x670], ecx
mov dword [ebp - 0x668], eax
mov eax, dword [ebp - 0x73c]
mov edi, dword [eax + 4]
mov eax, dword [esi + 0xc]
sub eax, edi
sub eax, dword [ebp - 0x80c]
mov dword [ebp - 0x664], eax
mov eax, dword [esi + 4]
sub eax, edi
mov dword [ebp - 0x66c], eax
jmp 0x4a9ab1
call fcn.00537a10
movsd xmm1, qword [ebp - 0x818]
add eax, esi
subsd xmm1, qword [ebp - 0x690]
mov ecx, dword [ebp - 0x77c]
mov dword [ebp - 0x7dc], eax
addsd xmm1, qword [edi + 0x18]
call fcn.00537a10
movsd xmm1, qword [ebp - 0x818]
add eax, esi
addsd xmm1, qword [ebp - 0x698]
mov dword [ebp - 0x754], eax
addsd xmm1, qword [edi + 0x18]
mov edi, dword [ebp - 0x77c]
mov ecx, edi
call fcn.00537a10
movsd xmm1, qword [ebp - 0x690]
add eax, esi
mov ecx, edi
mov dword [ebp - 0x760], eax
call fcn.00537a10
movsd xmm1, qword [ebp - 0x698]
mov ecx, edi
mov dword [ebp - 0x75c], eax
call fcn.00537a10
movsd xmm1, qword [ebp - 0x6a8]
mov ecx, edi
mov dword [ebp - 0x7c4], eax
call fcn.00537a10
mov esi, dword [ebp - 0x738]
mov edx, dword [ebp - 0x73c]
mov dword [ebp - 0x71c], eax
mov eax, dword [ebp - 0x754]
mov ecx, dword [esi + 4]
mov edi, dword [edx + 4]
sub ecx, edi
add eax, ecx
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x760]
add eax, ecx
mov dword [ebp - 0x664], eax
mov edx, dword [edx]
mov eax, dword [esi + 8]
sub eax, edx
sub eax, dword [ebp - 0x80c]
mov dword [ebp - 0x668], eax
mov eax, dword [esi]
sub eax, edx
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x758], edx
movzx ecx, word [eax + 8]
test cl, 0x48
je 0x4a9ad9
mov eax, ecx
and eax, 0x210
cmp eax, 0x200
je 0x4a9ad9
test cl, 4
je 0x4a9ae0
mov byte [ebp - 0x805], 1
mov esi, dword [ebx + 0xc]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
sub eax, edi
mov esi, dword [esi]
sub ecx, edi
sub esi, edx
mov dword [ebp - 0x88c], eax
sub ecx, eax
mov dword [ebp - 0x8a4], esi
mov esi, dword [ebx + 0xc]
mov eax, 0x55555556
mov esi, dword [esi + 8]
sub esi, edx
imul ecx
mov ecx, dword [ebp - 0x88c]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + ecx]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x8ac], edx
mov ecx, dword [ebp - 0x8a4]
sub esi, ecx
mov dword [ebp - 0x8c4], eax
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + ecx]
mov dword [ebp - 0x89c], edx
lea eax, [ecx + eax*2]
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x8bc], eax
movzx ecx, word [edx + 8]
test cl, 2
je 0x4a9bb7
mov eax, dword [ebp - 0x6d8]
xor esi, esi
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x730], esi
mov byte [ebp - 0x771], 1
mov eax, dword [eax]
and eax, 0x40000
test eax, eax
je 0x4a9c16
test ecx, 0x400
je 0x4a9c16
mov eax, dword [edx]
mov edi, dword [ebp - 0x704]
mov esi, dword [ebp - 0x6e8]
test eax, eax
je 0x4a9c22
mov ecx, 0x400
or word [eax + 8], cx
jmp 0x4a9c22
mov al, cl
and al, 0x54
cmp al, 4
jne 0x4a9c63
mov ecx, dword [ebp - 0x6d8]
mov esi, dword [ebp - 0x6e8]
test byte [ecx], 0x20
je 0x4a9c1c
xor eax, eax
cmp ax, si
jge 0x4a9c1c
mov edx, dword [ebp - 0x704]
mov edi, dword [ebp - 0x770]
movzx esi, si
nop word [eax + eax]
cmp di, 0x14
jge 0x4a9c02
mov ax, word [edx]
movsx ecx, di
inc edi
mov word [ebp + ecx*2 - 0x44], ax
add edx, 2
sub esi, 1
jne 0x4a9bf0
mov dword [ebp - 0x770], edi
mov edx, dword [ebp - 0x6dc]
mov esi, dword [ebp - 0x6e8]
mov edi, dword [ebp - 0x704]
mov eax, dword [ebx + 0x44]
cmp byte [eax + 0x2f4], 0
je 0x4b5dd7
test byte [edx + 8], 0x40
je 0x4b44ff
movzx eax, word [edi]
mov ecx, 0x3014
cmp ax, cx
jne 0x4b446d
cmp si, 1
jne 0x4b44a1
mov byte [ebp - 0x850], 1
jmp 0x4b44a1
mov eax, ecx
and eax, 0x20
mov dword [ebp - 0x700], eax
mov eax, ecx
and eax, 0x214
cmp eax, 0x10
jne 0x4aa059
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x730], 0
jne 0x4a9f2b
mov edx, dword [ebp - 0x6f8]
test edx, edx
je 0x4a9cf0
mov eax, dword [ebp - 0x7c8]
mov esi, dword [ebp - 0x6f8]
movsx edx, ax
mov eax, dword [ebp - 0x6e8]
movsx ecx, ax
movsx eax, word [esi + 4]
add ecx, edx
cmp ecx, eax
jle 0x4a9cea
nop dword [eax]
movsx ecx, word [esi + 6]
movsx eax, word [esi + 4]
add ecx, eax
cmp ecx, edx
jg 0x4a9ce4
mov esi, dword [esi]
test esi, esi
jne 0x4a9cd0
mov dword [ebp - 0x6f8], esi
mov edx, dword [ebp - 0x6f8]
cmp word [ebp - 0x76c], 0x40
jne 0x4a9e28
mov ecx, dword [ebp - 0x738]
mov eax, dword [ecx + 8]
sub eax, dword [ebp - 0x758]
sub eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x700], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x6e0]
sub eax, edi
add eax, ecx
mov dword [ebp - 0x720], eax
test edx, edx
je 0x4a9e0b
mov eax, dword [ebp - 0x7c8]
mov edi, dword [ebp - 0x700]
movsx esi, ax
mov eax, dword [ebp - 0x6e8]
cwde
add esi, eax
nop dword [eax]
movsx eax, word [edx + 4]
cmp esi, eax
jle 0x4a9e05
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x77c]
mov eax, dword [eax + 0xc]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x4a9d87
call fcn.00537a90
jmp 0x4a9d8c
call fcn.005379d0
mov ecx, dword [ebp - 0x6fc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x6fc]
movsx eax, word [eax + 6]
cmp dword [ecx], eax
jle 0x4a9daa
mov dword [ecx], eax
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x670]
mov dword [ecx + 4], 0
push ecx
mov ecx, dword [ebp - 0x7c8]
push eax
mov eax, dword [ebp - 0x6e8]
push eax
push ecx
push eax
push ecx
push dword [ebp - 0x720]
mov ecx, dword [ebp - 0x6ec]
push edi
call fcn.004874d0
mov edx, dword [ebp - 0x6f8]
movsx ecx, word [edx + 6]
movsx eax, word [edx + 4]
add ecx, eax
cmp esi, ecx
jl 0x4a9e05
mov edx, dword [edx]
mov dword [ebp - 0x6f8], edx
test edx, edx
jne 0x4a9d50
mov ecx, dword [ebp - 0x6e0]
mov edx, dword [ebp - 0x6dc]
mov esi, dword [ebp - 0x6e8]
movsx eax, word [edx + 6]
add ecx, eax
mov dword [ebp - 0x6e0], ecx
jmp 0x4a9c1c
mov esi, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x6e0]
mov eax, dword [esi]
sub eax, dword [ebp - 0x758]
add eax, ecx
mov dword [ebp - 0x700], eax
mov eax, dword [esi + 4]
sub eax, edi
add eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x720], eax
test edx, edx
je 0x4a9e0b
mov eax, dword [ebp - 0x7c8]
mov edi, dword [ebp - 0x700]
movsx esi, ax
mov eax, dword [ebp - 0x6e8]
cwde
add esi, eax
movsx eax, word [edx + 4]
cmp esi, eax
jle 0x4a9e05
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x77c]
mov eax, dword [eax + 0xc]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x4a9ea4
call fcn.00537a90
jmp 0x4a9ea9
call fcn.005379d0
mov ecx, dword [ebp - 0x6fc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x6fc]
movsx eax, word [eax + 6]
cmp dword [ecx], eax
jle 0x4a9ec7
mov dword [ecx], eax
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x670]
mov dword [ecx + 4], 0
push ecx
mov ecx, dword [ebp - 0x7c8]
push eax
mov eax, dword [ebp - 0x6e8]
push eax
push ecx
push eax
push ecx
push dword [ebp - 0x720]
mov ecx, dword [ebp - 0x6ec]
push edi
call fcn.00487090
mov edx, dword [ebp - 0x6f8]
movsx ecx, word [edx + 6]
movsx eax, word [edx + 4]
add ecx, eax
cmp esi, ecx
jl 0x4a9e05
mov edx, dword [edx]
mov dword [ebp - 0x6f8], edx
test edx, edx
jne 0x4a9e71
jmp 0x4a9e05
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x77c]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x4a9f50
call fcn.00537a90
jmp 0x4a9f55
call fcn.005379d0
mov edx, dword [ebp - 0x6fc]
mov ecx, edx
mov dword [ecx], eax
mov eax, dword [ebp - 0x6dc]
movsx eax, word [eax + 6]
cmp dword [edx], eax
jle 0x4a9f6f
mov dword [edx], eax
cmp word [ebp - 0x76c], 0x40
mov esi, dword [ebp - 0x73c]
push 0
push dword [ebp - 0x7d4]
mov dword [edx + 4], 0
push dword [ebp - 0x7cc]
jne 0x4a9ff7
mov edi, dword [ebp - 0x738]
mov ecx, dword [edi + 8]
sub ecx, dword [esi]
mov eax, dword [edi + 4]
sub eax, dword [esi + 4]
lea esi, [ebp - 0x670]
add eax, dword [ebp - 0x6e0]
sub ecx, dword [ebp - 0x7dc]
push esi
push esi
mov esi, dword [ebp - 0x6e8]
push edx
push esi
push dword [ebp - 0x7c8]
push eax
push ecx
mov ecx, dword [ebp - 0x6ec]
call fcn.004ece90
mov edx, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x6e0]
mov dword [ebp - 0x74c], eax
movsx eax, word [edx + 6]
add ecx, eax
mov dword [ebp - 0x6e0], ecx
jmp 0x4a9c1c
mov eax, dword [ebp - 0x738]
mov ecx, dword [eax]
sub ecx, dword [esi]
mov eax, dword [eax + 4]
sub eax, dword [esi + 4]
lea esi, [ebp - 0x670]
add eax, dword [ebp - 0x7dc]
add ecx, dword [ebp - 0x6e0]
push esi
push esi
mov esi, dword [ebp - 0x6e8]
push edx
push esi
push dword [ebp - 0x7c8]
push eax
push ecx
mov ecx, dword [ebp - 0x6ec]
call fcn.004ecc10
mov edx, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x6e0]
mov dword [ebp - 0x74c], eax
movsx eax, word [edx + 6]
add ecx, eax
mov dword [ebp - 0x6e0], ecx
jmp 0x4a9c1c
test cl, 8
je 0x4aa40b
mov esi, dword [ebx + 0x44]
mov al, byte [esi + 0x2f4]
test al, al
je 0x4aa09c
mov ecx, dword [ebp - 0x6d8]
mov eax, dword [ecx]
test eax, 0x100000
je 0x4aa08f
and eax, 0xffeffdff
mov dword [ecx], eax
mov al, byte [esi + 0x2f4]
test al, al
je 0x4aa09c
cmp byte [ebp - 0x805], 0
je 0x4a9c16
cmp word [ebx + 0x48], 0
jne 0x4aa2e2
mov edx, dword [ebp - 0x6f8]
test edx, edx
je 0x4aa0f3
mov eax, dword [ebp - 0x7c8]
mov esi, dword [ebp - 0x6f8]
movsx edx, ax
mov eax, dword [ebp - 0x6e8]
movsx ecx, ax
movsx eax, word [esi + 4]
add ecx, edx
cmp ecx, eax
jle 0x4aa0ed
movsx ecx, word [esi + 6]
movsx eax, word [esi + 4]
add ecx, eax
cmp ecx, edx
jg 0x4aa0e7
mov esi, dword [esi]
test esi, esi
jne 0x4aa0d3
mov dword [ebp - 0x6f8], esi
mov edx, dword [ebp - 0x6f8]
cmp word [ebp - 0x76c], 0x40
jne 0x4aa1f2
mov ecx, dword [ebp - 0x738]
mov esi, dword [ebp - 0x73c]
mov edi, dword [ecx + 8]
mov eax, dword [ecx + 4]
sub edi, dword [esi]
sub eax, dword [esi + 4]
add eax, dword [ebp - 0x6e0]
sub edi, dword [ebp - 0x7dc]
mov dword [ebp - 0x700], eax
test edx, edx
je 0x4a9c10
mov eax, dword [ebp - 0x7c8]
movsx esi, ax
mov eax, dword [ebp - 0x6e8]
cwde
add esi, eax
movsx eax, word [edx + 4]
cmp esi, eax
jle 0x4a9c10
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x77c]
mov eax, dword [eax + 0xc]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x4aa17b
call fcn.00537a90
jmp 0x4aa180
call fcn.005379d0
mov ecx, dword [ebp - 0x6fc]
push dword [ebp - 0x7d0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x6fc]
mov ecx, dword [ebp - 0x7c8]
push eax
mov dword [eax + 4], 0
lea eax, [ebp - 0x670]
push eax
mov eax, dword [ebp - 0x6e8]
push eax
push ecx
push eax
push ecx
push dword [ebp - 0x700]
mov ecx, dword [ebp - 0x6ec]
push edi
call fcn.004874d0
mov edx, dword [ebp - 0x6f8]
movsx ecx, word [edx + 6]
movsx eax, word [edx + 4]
add ecx, eax
cmp esi, ecx
jl 0x4a9c10
mov edx, dword [edx]
mov dword [ebp - 0x6f8], edx
test edx, edx
jne 0x4aa144
jmp 0x4a9c10
mov eax, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x73c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
sub edi, dword [ecx]
sub eax, dword [ecx + 4]
add eax, dword [ebp - 0x7dc]
add edi, dword [ebp - 0x6e0]
mov dword [ebp - 0x700], eax
test edx, edx
je 0x4a9c10
mov eax, dword [ebp - 0x7c8]
movsx esi, ax
mov eax, dword [ebp - 0x6e8]
cwde
add esi, eax
movsx eax, word [edx + 4]
cmp esi, eax
jle 0x4a9c10
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x77c]
mov eax, dword [eax + 0xc]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x4aa26b
call fcn.00537a90
jmp 0x4aa270
call fcn.005379d0
mov ecx, dword [ebp - 0x6fc]
push dword [ebp - 0x7d0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x6fc]
mov ecx, dword [ebp - 0x7c8]
push eax
mov dword [eax + 4], 0
lea eax, [ebp - 0x670]
push eax
mov eax, dword [ebp - 0x6e8]
push eax
push ecx
push eax
push ecx
push dword [ebp - 0x700]
mov ecx, dword [ebp - 0x6ec]
push edi
call fcn.00487090
mov edx, dword [ebp - 0x6f8]
movsx ecx, word [edx + 6]
movsx eax, word [edx + 4]
add ecx, eax
cmp esi, ecx
jl 0x4a9c10
mov edx, dword [edx]
mov dword [ebp - 0x6f8], edx
test edx, edx
jne 0x4aa234
jmp 0x4a9c10
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x77c]
cmp word [eax + 0xa50], 0
movsd xmm0, qword [eax + 0xa70]
movaps xmm1, xmm0
jne 0x4aa307
call fcn.00537a90
jmp 0x4aa30c
call fcn.005379d0
cmp word [ebp - 0x76c], 0x40
mov edx, dword [ebp - 0x6fc]
mov ecx, edx
mov esi, dword [ebp - 0x73c]
push 1
push dword [ebp - 0x7d4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x738]
push dword [ebp - 0x7cc]
mov dword [edx + 4], 0
movups xmm0, xmmword [ebp - 0x670]
jne 0x4aa3aa
mov ecx, dword [eax + 8]
sub ecx, dword [esi]
mov eax, dword [eax + 4]
sub eax, dword [esi + 4]
lea esi, [ebp - 0x670]
add eax, dword [ebp - 0x6e0]
sub ecx, dword [ebp - 0x7dc]
push esi
lea esi, [ebp - 0x660]
push esi
mov esi, dword [ebp - 0x6e8]
push edx
push esi
push dword [ebp - 0x7c8]
movups xmmword [ebp - 0x660], xmm0
push eax
push ecx
mov ecx, dword [ebp - 0x6ec]
mov dword [ebp - 0x654], 0x98967f
call fcn.004ece90
mov dword [ebp - 0x74c], eax
mov edx, dword [ebp - 0x6dc]
jmp 0x4a9c1c
mov ecx, dword [eax]
sub ecx, dword [esi]
mov eax, dword [eax + 4]
sub eax, dword [esi + 4]
lea esi, [ebp - 0x670]
add eax, dword [ebp - 0x7dc]
add ecx, dword [ebp - 0x6e0]
push esi
lea esi, [ebp - 0x660]
push esi
mov esi, dword [ebp - 0x6e8]
push edx
push esi
push dword [ebp - 0x7c8]
movups xmmword [ebp - 0x660], xmm0
push eax
push ecx
mov ecx, dword [ebp - 0x6ec]
mov dword [ebp - 0x658], 0x98967f
call fcn.004ecc10
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x74c], eax
jmp 0x4a9c1c
test cl, 0x40
jne 0x4ad746
mov edi, dword [edx + 0xc]
mov esi, dword [ebp - 0x6f4]
mov eax, dword [edi + 0x1b0]
cmp eax, dword [ebp - 0x8fc]
je 0x4aa449
push eax
push dword [ebp - 0x6f0]
call esi
mov edx, dword [ebp - 0x6dc]
mov edi, dword [edx + 0xc]
mov eax, dword [edi + 0x1b0]
mov dword [ebp - 0x8fc], eax
mov eax, dword [ebx + 0x44]
xor cl, cl
cmp byte [eax + 0x2f4], cl
je 0x4aa472
mov eax, 0x214
movzx ecx, cl
and ax, word [edx + 8]
mov edx, 0x214
cmp ax, dx
mov eax, 1
cmove ecx, eax
cmp byte [ebp - 0x73d], 0
je 0x4aa5e5
cmp dword [ebp - 0x7bc], 0
jne 0x4abef7
mov eax, dword [ebp - 0x7b0]
mov edi, dword [ebp - 0x6f0]
test eax, eax
je 0x4aa4a8
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b0], eax
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4aa4be
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a8], eax
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4aa4d4
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4aa4ea
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4aa500
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4aa516
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4aa52c
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4aa542
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4aa558
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4aa56e
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4aa584
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4aa59a
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4aa5b0
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4aa5c8
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c8]
push edi
call esi
mov dword [ebp - 0x7bc], eax
jmp 0x4abefd
cmp byte [ebp - 0x83c], 0
je 0x4aa75a
cmp dword [ebp - 0x7b0], 0
jne 0x4abef7
mov eax, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
test eax, eax
je 0x4aa61d
push eax
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4aa633
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a8], eax
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4aa649
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4aa65f
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4aa675
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4aa68b
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4aa6a1
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4aa6b7
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4aa6cd
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4aa6e3
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4aa6f9
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4aa70f
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4aa725
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4aa73d
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e0]
push edi
call esi
mov dword [ebp - 0x7b0], eax
jmp 0x4abefd
mov eax, dword [ebp - 0x6d8]
mov esi, dword [eax]
mov edx, esi
and edx, 0x200
jne 0x4aa774
test cl, cl
je 0x4aaaff
test esi, 0x800
je 0x4aaaef
cmp byte [ebp - 0x6e2], 0
jne 0x4aa93d
cmp dword [ebp - 0x790], 0
jne 0x4aa90f
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4aa7be
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4aa7d6
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov eax, dword [ebp - 0x7a8]
test eax, eax
je 0x4aa7ec
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a8], eax
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4aa802
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4aa818
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4aa82e
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4aa844
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4aa85a
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4aa870
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4aa886
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4aa89c
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4aa8b2
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4aa8c8
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4aa8e0
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6dc]
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x244]
push edi
call esi
mov dword [ebp - 0x790], eax
jmp 0x4abf03
shr esi, 0x1c
cmp dword [ebp - 0x748], esi
je 0x4abef7
push dword [edi + esi*4 + 0x244]
mov edi, dword [ebp - 0x6f0]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x748], esi
jmp 0x4abefd
cmp dword [ebp - 0x7a8], 0
jne 0x4aaac1
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4aa96e
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4aa986
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4aa99e
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4aa9b4
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4aa9ca
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4aa9e0
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4aa9f6
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4aaa0c
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4aaa22
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4aaa38
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4aaa4e
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4aaa64
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4aaa7a
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4aaa92
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6dc]
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x384]
push edi
call esi
mov dword [ebp - 0x7a8], eax
jmp 0x4abf03
shr esi, 0x1c
cmp dword [ebp - 0x748], esi
je 0x4abef7
push dword [edi + esi*4 + 0x384]
mov edi, dword [ebp - 0x6f0]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x748], esi
jmp 0x4abefd
test edx, edx
jne 0x4aac99
test cl, cl
jne 0x4aac99
mov eax, esi
and eax, 0x1000
test edx, edx
jne 0x4abbe3
test cl, cl
jne 0x4abbe3
test esi, 0x400
je 0x4ab01d
cmp dword [ebp - 0x788], edx
jne 0x4abef7
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4aab52
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4aab6a
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4aab82
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4aab9a
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4aabb2
push ecx
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4aabca
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4aabe0
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4aabf6
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4aac0c
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4aac22
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4aac38
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4aac4e
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4aac64
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4aac7c
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1d0]
push edi
call esi
mov dword [ebp - 0x788], eax
jmp 0x4abf03
mov eax, esi
and eax, 0x1000
je 0x4aab06
cmp byte [ebp - 0x6e2], 0
jne 0x4aae67
cmp dword [ebp - 0x780], 0
jne 0x4aae39
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4aace4
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4aacfc
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4aad14
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4aad2c
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov eax, dword [ebp - 0x7a4]
test eax, eax
je 0x4aad42
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4aad58
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4aad6e
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4aad84
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4aad9a
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4aadb0
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4aadc6
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4aaddc
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4aadf2
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4aae0a
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6dc]
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x2e4]
push edi
call esi
mov dword [ebp - 0x780], eax
jmp 0x4abf03
shr esi, 0x1c
cmp dword [ebp - 0x748], esi
je 0x4abef7
push dword [edi + esi*4 + 0x2e4]
mov edi, dword [ebp - 0x6f0]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x748], esi
jmp 0x4abefd
cmp dword [ebp - 0x7a4], 0
jne 0x4aafef
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4aae98
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4aaeb0
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4aaec8
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4aaee0
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4aaef8
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4aaf0e
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4aaf24
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4aaf3a
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4aaf50
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4aaf66
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4aaf7c
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4aaf92
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4aafa8
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4aafc0
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6dc]
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x3ac]
push edi
call esi
mov dword [ebp - 0x7a4], eax
jmp 0x4abf03
shr esi, 0x1c
cmp dword [ebp - 0x748], esi
je 0x4abef7
push dword [edi + esi*4 + 0x3ac]
mov edi, dword [ebp - 0x6f0]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x748], esi
jmp 0x4abefd
test esi, 0x800
je 0x4ab3ac
cmp byte [ebp - 0x6e2], 0
jne 0x4ab1f0
cmp dword [ebp - 0x78c], 0
jne 0x4ab1c2
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4ab067
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4ab07f
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4ab097
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4ab0af
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4ab0c7
push ecx
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4ab0df
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4ab0f5
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4ab10b
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4ab123
push eax
push edi
call esi
mov dword [ebp - 0x788], 0
mov eax, dword [ebp - 0x7a0]
test eax, eax
je 0x4ab139
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7a0], eax
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4ab14f
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4ab165
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4ab17b
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4ab193
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6dc]
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x1f4]
push edi
call esi
mov dword [ebp - 0x78c], eax
jmp 0x4abf03
shr esi, 0x1c
cmp dword [ebp - 0x748], esi
je 0x4abef7
push dword [edi + esi*4 + 0x1f4]
mov edi, dword [ebp - 0x6f0]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x748], esi
jmp 0x4abefd
cmp dword [ebp - 0x7a0], 0
jne 0x4ab37e
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4ab221
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4ab239
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4ab251
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4ab269
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4ab281
push ecx
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4ab299
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4ab2af
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4ab2c5
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4ab2dd
push eax
push edi
call esi
mov dword [ebp - 0x788], 0
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4ab2f5
push eax
push edi
call esi
mov dword [ebp - 0x78c], 0
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4ab30b
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4ab321
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4ab337
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4ab34f
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6dc]
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x334]
push edi
call esi
mov dword [ebp - 0x7a0], eax
jmp 0x4abf03
shr esi, 0x1c
cmp dword [ebp - 0x748], esi
je 0x4abef7
push dword [edi + esi*4 + 0x334]
mov edi, dword [ebp - 0x6f0]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x748], esi
jmp 0x4abefd
test eax, eax
je 0x4ab73f
cmp byte [ebp - 0x6e2], 0
jne 0x4ab57f
cmp dword [ebp - 0x79c], 0
jne 0x4ab551
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4ab3f2
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4ab40a
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4ab422
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4ab43a
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4ab452
push ecx
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4ab46a
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4ab480
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4ab496
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4ab4ae
push eax
push edi
call esi
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4ab4c6
push ecx
push edi
call esi
mov dword [ebp - 0x7a0], 0
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4ab4de
push eax
push edi
call esi
mov dword [ebp - 0x78c], 0
mov ecx, dword [ebp - 0x7b8]
test ecx, ecx
je 0x4ab4f4
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7b8], eax
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4ab50a
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4ab522
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6dc]
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x21c]
push edi
call esi
mov dword [ebp - 0x79c], eax
jmp 0x4abf03
shr esi, 0x1c
cmp dword [ebp - 0x748], esi
je 0x4abef7
push dword [edi + esi*4 + 0x21c]
mov edi, dword [ebp - 0x6f0]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x748], esi
jmp 0x4abefd
cmp dword [ebp - 0x7b8], 0
jne 0x4ab711
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4ab5b0
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4ab5c8
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4ab5e0
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4ab5f8
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4ab610
push ecx
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4ab628
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4ab63e
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4ab654
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4ab66c
push eax
push edi
call esi
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4ab684
push ecx
push edi
call esi
mov dword [ebp - 0x7a0], 0
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4ab69c
push eax
push edi
call esi
mov dword [ebp - 0x78c], 0
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4ab6b4
push ecx
push edi
call esi
mov dword [ebp - 0x79c], 0
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4ab6ca
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4ab6e2
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6dc]
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x35c]
push edi
call esi
mov dword [ebp - 0x7b8], eax
jmp 0x4abf03
shr esi, 0x1c
cmp dword [ebp - 0x748], esi
je 0x4abef7
push dword [edi + esi*4 + 0x35c]
mov edi, dword [ebp - 0x6f0]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x748], esi
jmp 0x4abefd
test esi, 0x100
jne 0x4aba61
cmp word [ebp - 0x700], 0
jne 0x4aba61
cmp byte [ebp - 0x6e2], 0
je 0x4ab8e8
cmp dword [ebp - 0x7b4], 0
jne 0x4abef7
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4ab797
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4ab7af
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4ab7c7
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4ab7df
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4ab7f7
push ecx
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4ab80f
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4ab825
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4ab83b
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4ab853
push eax
push edi
call esi
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4ab86b
push ecx
push edi
call esi
mov dword [ebp - 0x7a0], 0
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4ab883
push eax
push edi
call esi
mov dword [ebp - 0x78c], 0
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4ab89b
push eax
push edi
call esi
mov dword [ebp - 0x7b8], 0
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4ab8b3
push ecx
push edi
call esi
mov dword [ebp - 0x79c], 0
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4ab8cb
push eax
push edi
call esi
mov dword [ebp - 0x798], 0
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1e8]
push edi
call esi
mov dword [ebp - 0x7b4], eax
jmp 0x4abf03
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4ab90c
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4ab924
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4ab93c
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4ab954
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4ab96c
push ecx
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4ab984
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4ab99a
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4ab9b0
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4ab9c8
push eax
push edi
call esi
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4ab9e0
push ecx
push edi
call esi
mov dword [ebp - 0x7a0], 0
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4ab9f8
push eax
push edi
call esi
mov dword [ebp - 0x78c], 0
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4aba10
push eax
push edi
call esi
mov dword [ebp - 0x7b8], 0
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4aba28
push ecx
push edi
call esi
mov dword [ebp - 0x79c], 0
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4aba40
push eax
push edi
call esi
mov dword [ebp - 0x798], 0
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4abf03
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
jmp 0x4abf03
cmp dword [ebp - 0x798], 0
jne 0x4abef7
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4aba92
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4abaaa
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4abac2
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4abada
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4abaf2
push ecx
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4abb0a
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4abb20
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4abb36
push eax
push edi
call esi
xor eax, eax
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4abb4e
push eax
push edi
call esi
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4abb66
push ecx
push edi
call esi
mov dword [ebp - 0x7a0], 0
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4abb7e
push eax
push edi
call esi
mov dword [ebp - 0x78c], 0
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4abb96
push eax
push edi
call esi
mov dword [ebp - 0x7b8], 0
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4abbae
push ecx
push edi
call esi
mov dword [ebp - 0x79c], 0
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4abbc6
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c4]
push edi
call esi
mov dword [ebp - 0x798], eax
jmp 0x4abf03
cmp byte [ebp - 0x6e2], 0
jne 0x4abd74
cmp dword [ebp - 0x784], 0
jne 0x4abef7
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4abc21
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4abc39
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4abc51
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4abc69
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov ecx, dword [ebp - 0x7a4]
test ecx, ecx
je 0x4abc81
push ecx
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x780]
test eax, eax
je 0x4abc99
push eax
push edi
call esi
mov dword [ebp - 0x780], 0
mov ecx, dword [ebp - 0x7ac]
test ecx, ecx
je 0x4abcaf
push ecx
push edi
call esi
xor eax, eax
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4abcc7
push eax
push edi
call esi
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4abcdf
push ecx
push edi
call esi
mov dword [ebp - 0x7a0], 0
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4abcf7
push eax
push edi
call esi
mov dword [ebp - 0x78c], 0
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4abd0f
push eax
push edi
call esi
mov dword [ebp - 0x7b8], 0
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4abd27
push ecx
push edi
call esi
mov dword [ebp - 0x79c], 0
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4abd3f
push eax
push edi
call esi
mov dword [ebp - 0x798], 0
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4abd57
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1cc]
push edi
call esi
mov dword [ebp - 0x784], eax
jmp 0x4abf03
cmp dword [ebp - 0x7ac], 0
jne 0x4abef7
mov ecx, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
test ecx, ecx
je 0x4abda5
push ecx
push edi
call esi
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7b0]
test eax, eax
je 0x4abdbd
push eax
push edi
call esi
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7a8]
test ecx, ecx
je 0x4abdd5
push ecx
push edi
call esi
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x790]
test eax, eax
je 0x4abded
push eax
push edi
call esi
mov dword [ebp - 0x790], 0
mov eax, dword [ebp - 0x7a4]
test eax, eax
je 0x4abe05
push eax
push edi
call esi
mov dword [ebp - 0x7a4], 0
mov ecx, dword [ebp - 0x780]
test ecx, ecx
je 0x4abe1d
push ecx
push edi
call esi
mov dword [ebp - 0x780], 0
mov eax, dword [ebp - 0x784]
test eax, eax
je 0x4abe35
push eax
push edi
call esi
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x4abe4d
push eax
push edi
call esi
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x7a0]
test ecx, ecx
je 0x4abe65
push ecx
push edi
call esi
mov dword [ebp - 0x7a0], 0
mov eax, dword [ebp - 0x78c]
test eax, eax
je 0x4abe7d
push eax
push edi
call esi
mov dword [ebp - 0x78c], 0
mov eax, dword [ebp - 0x7b8]
test eax, eax
je 0x4abe95
push eax
push edi
call esi
mov dword [ebp - 0x7b8], 0
mov ecx, dword [ebp - 0x79c]
test ecx, ecx
je 0x4abead
push ecx
push edi
call esi
mov dword [ebp - 0x79c], 0
mov eax, dword [ebp - 0x798]
test eax, eax
je 0x4abec5
push eax
push edi
call esi
mov dword [ebp - 0x798], 0
mov eax, dword [ebp - 0x7b4]
test eax, eax
je 0x4abedd
push eax
push edi
call esi
mov dword [ebp - 0x7b4], 0
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1f0]
push edi
call esi
mov dword [ebp - 0x7ac], eax
jmp 0x4abf03
mov edi, dword [ebp - 0x6f0]
mov esi, dword [ebp - 0x6f4]
mov ecx, dword [ebp - 0x6d8]
mov ecx, dword [ecx]
test cl, 0x20
jne 0x4abf84
mov edx, dword [ebp - 0x6dc]
test cl, 0x40
jne 0x4abf62
mov eax, ecx
and eax, 0x40000
je 0x4abf39
mov edi, 0x400
test word [edx + 8], di
mov edi, dword [ebp - 0x6f0]
je 0x4abf62
test cl, cl
js 0x4abf62
test eax, eax
je 0x4abf4c
mov eax, 0x400
test word [edx + 8], ax
jne 0x4abf62
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x730], 0
jmp 0x4abf84
mov eax, dword [edx + 0xc]
test ecx, 0x400
je 0x4abf75
push dword [eax + 0x1ec]
jmp 0x4abf7b
push dword [eax + 0x1c0]
push edi
call esi
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x6e8]
mov edi, dword [ebp - 0x704]
movsx esi, ax
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
mov dword [ebp - 0x734], esi
push 0
push 0
push esi
push edi
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
cmp byte [ebp - 0x83c], 0
mov eax, dword [ebp - 0x72c]
mov edx, dword [ebp - 0x6dc]
movsd xmm1, qword [ebp - 0x710]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6fc]
mov dword [eax], ecx
jne 0x4ac006
test ecx, ecx
je 0x4ac006
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, dword [ebp - 0x6fc]
mov dword [ecx], eax
jmp 0x4ac00c
mov ecx, dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x6e8]
add eax, 0xfffffffe
mov dword [ebp - 0x758], 0
mov byte [ebp - 0x8d0], 0
cmp ax, 2
ja 0x4ac091
movzx eax, word [edi + esi*2 - 2]
cmp ax, word [ebp - 0x87c]
jb 0x4ac091
cmp ax, word [ebp - 0x8d4]
ja 0x4ac091
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x650]
mov dword [ecx], eax
mov eax, 1
cmp ax, word [ebp - 0x6e8]
jge 0x4ac2db
mov eax, dword [ebp - 0x720]
lea edi, [ecx + 4]
movzx edx, ax
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x758], edx
rep stosd dword es:[edi], eax
jmp 0x4ac2d5
mov eax, 1
cmp ax, word [ebp - 0x6e8]
jge 0x4ac2db
mov esi, dword [ebp - 0x72c]
mov edx, edi
mov edi, ecx
mov dword [ebp - 0x718], edx
lea eax, [esi + 4]
sub esi, ecx
mov ecx, dword [ebp - 0x764]
movzx ecx, cx
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x744], esi
mov dword [ebp - 0x778], ecx
mov ecx, dword [eax]
lea eax, [edi + 4]
sub ecx, dword [esi + edi]
cmp byte [ebp - 0x83c], 0
mov dword [ebp - 0x7fc], eax
mov dword [eax], ecx
jne 0x4ac117
test ecx, ecx
je 0x4ac117
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, dword [ebp - 0x7fc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0xc]
cmp byte [ecx + 0xa7c], 0
je 0x4ac29c
movzx eax, word [edx]
cmp ax, word [ebp - 0x8b0]
jb 0x4ac142
cmp ax, word [ebp - 0x924]
jbe 0x4ac199
cmp ax, word [ebp - 0x87c]
jb 0x4ac154
cmp ax, word [ebp - 0x8d4]
jbe 0x4ac199
mov ecx, eax
movzx eax, word [edx + 2]
shl ecx, 0x10
add ecx, eax
lea eax, [ebp - 0x6bc]
push eax
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x6bc], ecx
mov ecx, dword [eax + 0xc]
add ecx, 0xa8c
call fcn.00487660
mov edx, dword [ebp - 0x718]
mov eax, dword [eax]
add dword [edi], eax
add dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0xc]
cmp word [ecx + 0xa7e], 1
jne 0x4ac29c
movzx esi, word [edx + 2]
mov eax, 0x3001
cmp si, ax
jb 0x4ac1bf
mov eax, 0x3015
cmp si, ax
jbe 0x4ac1cf
lea eax, [esi + 0xf8]
cmp ax, 0x55
ja 0x4ac296
mov eax, dword [ebp - 0x718]
xor edx, edx
movzx ecx, word [eax]
mov eax, 0x300c
nop
cmp cx, ax
je 0x4ac1f6
inc edx
movsx eax, dx
movzx eax, word [eax*4 + 0x591aca]
test ax, ax
jne 0x4ac1e0
xor ecx, ecx
mov eax, 0x300c
nop dword [eax]
cmp si, ax
je 0x4ac216
inc ecx
movsx eax, cx
movzx eax, word [eax*4 + 0x591aca]
test ax, ax
jne 0x4ac200
movsx edx, dx
cmp word [edx*4 + 0x591aca], 0
je 0x4ac290
movsx eax, cx
cmp word [eax*4 + 0x591aca], 0
je 0x4ac290
movzx ecx, word [eax*4 + 0x591ac8]
movzx eax, word [edx*4 + 0x591ac8]
cmp ax, cx
je 0x4ac253
cmp ax, 2
jne 0x4ac290
cmp cx, 1
jne 0x4ac290
mov ecx, dword [edi]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
movzx eax, ax
movsx edx, ax
mov eax, dword [ebp - 0x718]
sub ecx, edx
mov dword [edi], ecx
mov ecx, 0x3002
movzx eax, word [eax]
cmp ax, cx
je 0x4ac283
mov ecx, 0x3001
cmp ax, cx
jne 0x4ac28a
mov byte [ebp - 0x8d0], 1
sub dword [ebp - 0x650], edx
mov edx, dword [ebp - 0x718]
mov esi, dword [ebp - 0x744]
mov eax, dword [ebp - 0x7f0]
add edx, 2
mov edi, dword [ebp - 0x7fc]
add eax, 4
sub dword [ebp - 0x778], 1
movsd xmm1, qword [ebp - 0x710]
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x718], edx
jne 0x4ac0d3
mov esi, dword [ebp - 0x734]
mov edi, dword [ebp - 0x704]
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0x7f0], 0
mov eax, dword [eax + 0x14]
cmp word [eax + 8], 3
jne 0x4ac393
mov edx, dword [ebp - 0x6dc]
movzx eax, word [edx + 6]
test ax, ax
je 0x4ac393
cmp dword [ebp - 0x678], 0
je 0x4ac393
cmp byte [ebp - 0x671], 0
jne 0x4ac393
mov ecx, dword [ebp - 0x750]
test byte [ecx], 4
jne 0x4ac393
cmp word [ebp - 0x800], 0
jne 0x4ac393
movsx ecx, ax
cmp edx, dword [ebp - 0x6d4]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
movzx eax, ax
mov dword [ebp - 0x7f0], eax
setne al
movzx eax, al
push eax
push dword [ebp - 0x8d0]
push ecx
push dword [ebp - 0x6e8]
mov ecx, dword [ebp - 0x6ec]
push dword [ebp - 0x6fc]
push edi
call fcn.004867e0
mov ecx, dword [ebp - 0x6dc]
movsx eax, word [ecx + 6]
add dword [ebp - 0x650], eax
cmp word [ebx + 0x48], 0
jne 0x4ac3da
mov edi, dword [ebp - 0x6f8]
test edi, edi
je 0x4ac3da
mov eax, dword [ebp - 0x7c8]
movsx edx, ax
movsx eax, word [edi + 4]
lea ecx, [edx + esi]
cmp ecx, eax
jle 0x4ac3da
nop dword [eax + eax]
movsx ecx, word [edi + 6]
movsx eax, word [edi + 4]
add ecx, eax
cmp ecx, edx
jg 0x4ac3d4
mov edi, dword [edi]
test edi, edi
jne 0x4ac3c0
mov dword [ebp - 0x6f8], edi
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov esi, ecx
and esi, 0x40
cmp word [ebp - 0x76c], 0x40
mov dword [ebp - 0x778], esi
jne 0x4acf37
test esi, esi
jne 0x4ac724
mov edi, dword [ebp - 0x6dc]
mov eax, ecx
and eax, 0x40000
je 0x4ac421
mov edx, 0x400
test word [edi + 8], dx
je 0x4ac724
mov edx, ecx
and edx, 0x80
mov dword [ebp - 0x700], edx
jne 0x4ac5f2
test eax, eax
je 0x4ac448
mov eax, 0x400
test word [edi + 8], ax
jne 0x4ac5f2
mov edx, dword [ebp - 0x738]
mov esi, dword [ebp - 0x73c]
mov edi, dword [edx + 8]
mov eax, dword [esi]
mov dword [ebp - 0x700], edi
sub edi, eax
sub edi, dword [ebp - 0x7dc]
mov dword [ebp - 0x7fc], eax
mov eax, dword [edx + 4]
sub eax, dword [esi + 4]
add eax, dword [ebp - 0x6e0]
mov dword [ebp - 0x778], eax
mov dword [ebp - 0x71c], eax
test ecx, 0x800
je 0x4ac514
mov eax, dword [ebp - 0x748]
inc eax
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [ebp - 0x878]
addsd xmm2, qword [ebp - 0x898]
movd xmm1, dword [ebp - 0x7c4]
cvtdq2pd xmm1, xmm1
movd xmm3, edi
cvtdq2pd xmm3, xmm3
mulsd xmm1, xmm2
movaps xmm0, xmm3
subsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x654], eax
mulsd xmm0, xmm2
addsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [ebp - 0x658], eax
jmp 0x4ac84c
test ecx, 0x1000
je 0x4ac544
mov eax, dword [ebp - 0x748]
movsd xmm2, qword [ebp - 0x898]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x878]
subsd xmm2, xmm0
jmp 0x4ac4b0
cmp byte [ebp - 0x73d], 0
je 0x4ac5df
mov eax, dword [ebp - 0x760]
sub eax, dword [ebp - 0x754]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x650]
cdq
sub eax, edx
sar esi, 1
mov edx, dword [ebp - 0x700]
mov ecx, eax
mov eax, dword [ebp - 0x778]
mov edi, edx
sub edx, dword [ebp - 0x7fc]
sub edi, dword [ebp - 0x7fc]
sub edx, dword [ebp - 0x754]
sub edi, dword [ebp - 0x754]
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x6dc]
sar ecx, 1
sub edx, ecx
sub edi, ecx
sub edx, esi
sub edi, esi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
add eax, dword [ebp - 0x778]
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x650]
add eax, edx
mov dword [ebp - 0x660], edx
mov dword [ebp - 0x658], eax
jmp 0x4ac84c
movups xmm0, xmmword [ebp - 0x670]
movups xmmword [ebp - 0x660], xmm0
jmp 0x4ac84c
mov esi, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
mov edi, dword [esi + 8]
mov ecx, dword [eax]
test edx, edx
jne 0x4ac633
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
cmp dword [ebp - 0x71c], edx
je 0x4ac625
mulsd xmm0, qword [ebp - 0x8f0]
jmp 0x4ac62d
mulsd xmm0, qword [ebp - 0x8f8]
cvttsd2si eax, xmm0
sub edi, eax
mov esi, dword [esi + 4]
sub edi, ecx
mov ecx, dword [ebp - 0x73c]
sub edi, dword [ebp - 0x760]
mov eax, dword [ebp - 0x6dc]
movd xmm0, dword [ebp - 0x734]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x764], esi
sub esi, edx
sub esi, dword [ebp - 0x730]
add esi, dword [ebp - 0x6e0]
mov dword [ebp - 0x660], edi
mov dword [ebp - 0x65c], esi
mov eax, dword [eax + 0xc]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x71c], esi
movd xmm1, dword [eax + 0xa80]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
mulsd xmm1, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
cvttsd2si ecx, xmm1
movd xmm1, eax
mov eax, dword [ebp - 0x6dc]
add ecx, esi
add ecx, dword [ebp - 0x650]
cmp dword [ebp - 0x700], 0
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x654], ecx
mov eax, dword [eax + 0xc]
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x658], eax
jne 0x4ac719
mov eax, dword [ebp - 0x81c]
mov esi, dword [ebp - 0x730]
sub eax, edx
sub eax, esi
add eax, dword [ebp - 0x764]
mov dword [ebp - 0x66c], eax
jmp 0x4ac852
mov dword [ebp - 0x664], ecx
jmp 0x4ac846
mov edx, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
mov edi, dword [edx + 8]
mov ecx, dword [eax]
test esi, esi
jne 0x4ac765
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
cmp dword [ebp - 0x71c], esi
je 0x4ac757
mulsd xmm0, qword [ebp - 0x8e0]
jmp 0x4ac75f
mulsd xmm0, qword [ebp - 0x8e8]
cvttsd2si eax, xmm0
sub edi, eax
mov esi, dword [edx + 4]
sub edi, ecx
mov ecx, dword [ebp - 0x73c]
mov edx, esi
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
sub edi, dword [ebp - 0x754]
mov ecx, dword [ecx + 4]
sub esi, ecx
sub esi, dword [ebp - 0x730]
add esi, dword [ebp - 0x6e0]
mov dword [ebp - 0x65c], esi
movd xmm0, eax
mov dword [ebp - 0x71c], esi
mov esi, dword [ebp - 0x6dc]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x658], edi
mov eax, dword [esi + 0xc]
movd xmm1, edi
mulsd xmm0, qword [eax + 0xad0]
cvtdq2pd xmm1, xmm1
divsd xmm0, qword [ebp - 0x828]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x734]
cvtdq2pd xmm0, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x660], eax
mov eax, dword [esi + 0xc]
mov esi, dword [ebp - 0x71c]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, esi
add eax, dword [ebp - 0x650]
cmp dword [ebp - 0x778], 0
mov dword [ebp - 0x654], eax
jne 0x4ac840
mov eax, dword [ebp - 0x81c]
mov esi, dword [ebp - 0x730]
sub eax, ecx
sub eax, esi
add eax, edx
mov dword [ebp - 0x66c], eax
jmp 0x4ac852
mov dword [ebp - 0x664], eax
mov dword [ebp - 0x66c], esi
mov esi, dword [ebp - 0x730]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0x6e8]
cmp byte [ecx + 0x86d], 0
je 0x4ac86d
cmp ax, word [ecx + 0x86e]
jle 0x4ac884
cmp byte [ecx + 0x887], 0
je 0x4acb9e
cmp ax, 3
jg 0x4acb9e
mov edx, dword [ebp - 0x6dc]
mov ecx, 0xf800
mov ax, word [edx + 8]
and ax, cx
cmp ax, cx
jne 0x4acba4
mov eax, dword [ebp - 0x6d8]
mov edx, dword [edx + 0xc]
mov ecx, dword [eax]
test cl, 0xc0
jne 0x4ac95e
mov eax, ecx
and eax, 0xa00
cmp eax, 0xa00
mov eax, ecx
jne 0x4ac8d8
shr eax, 0x1c
mov dword [ebp - 0x748], eax
push dword [edx + eax*4 + 0x2bc]
jmp 0x4ac964
and eax, 0x1200
cmp eax, 0x1200
jne 0x4ac8f8
mov eax, ecx
shr eax, 0x1c
mov dword [ebp - 0x748], eax
push dword [edx + eax*4 + 0x30c]
jmp 0x4ac964
test ecx, 0x800
je 0x4ac914
mov eax, ecx
shr eax, 0x1c
mov dword [ebp - 0x748], eax
push dword [edx + eax*4 + 0x26c]
jmp 0x4ac964
test ecx, 0x1000
je 0x4ac930
mov eax, ecx
shr eax, 0x1c
mov dword [ebp - 0x748], eax
push dword [edx + eax*4 + 0x294]
jmp 0x4ac964
test ecx, 0x200
je 0x4ac940
push dword [edx + 0x1d8]
jmp 0x4ac964
mov esi, dword [ebp - 0x6f0]
test ecx, 0x400
je 0x4ac956
push dword [edx + 0x1dc]
jmp 0x4ac96a
push dword [edx + 0x1c8]
jmp 0x4ac96a
push dword [edx + 0x1d4]
mov esi, dword [ebp - 0x6f0]
push esi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
mov eax, dword [ebx + 0x44]
cmp byte [eax + 0x887], 0
je 0x4ac994
mov edx, dword [ebp - 0x6e8]
mov ecx, dword [ebp - 0x704]
call fcn.0040ef10
mov edi, dword [ebp - 0x72c]
lea eax, [ebp - 0x650]
push eax
push edi
push 0
push 0
push dword [ebp - 0x734]
push dword [ebp - 0x704]
push esi
call dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x6fc]
mov eax, dword [edi]
mov dword [edx], eax
mov eax, 1
cmp ax, word [ebp - 0x6e8]
jge 0x4ac9f2
mov eax, dword [ebp - 0x7e4]
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 0x4ac9e1
mov eax, dword [ebp - 0x6d8]
mov eax, dword [eax]
test al, 0x40
je 0x4aca4f
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x738]
mov esi, dword [eax + 8]
mov edi, esi
mov eax, dword [ebp - 0x650]
cdq
sub eax, edx
mov edx, dword [ebp - 0x73c]
sar eax, 1
mov dword [ebp - 0x744], eax
mov eax, dword [edx]
mov dword [ebp - 0x718], eax
mov eax, dword [ecx + 0xb8c]
add eax, dword [ecx + 0xb88]
cdq
sub eax, edx
sar eax, 1
sub edi, eax
sub edi, dword [ebp - 0x718]
jmp 0x4acb04
test al, al
jns 0x4acac5
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x738]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x650]
cdq
sub eax, edx
mov edx, dword [ebp - 0x73c]
sar eax, 1
mov dword [ebp - 0x744], eax
mov eax, dword [edx]
mov dword [ebp - 0x718], eax
mov eax, dword [ecx + 0xb8c]
add eax, dword [ecx + 0xb88]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x738]
sar edi, 1
sub edi, dword [ebp - 0x718]
sub edi, dword [ebp - 0x760]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x73c]
sub edi, dword [ebp - 0x744]
add edi, esi
sub ecx, dword [eax + 4]
add ecx, dword [ebp - 0x6e0]
jmp 0x4acb2a
mov eax, dword [ebp - 0x738]
mov esi, dword [eax + 8]
mov edi, esi
mov eax, dword [ebp - 0x650]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x744], eax
mov eax, dword [ebp - 0x73c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x760]
sub eax, dword [ebp - 0x754]
cdq
sub eax, edx
mov dword [ebp - 0x718], ecx
sar eax, 1
sub edi, eax
sub edi, ecx
mov eax, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x73c]
sub edi, dword [ebp - 0x754]
sub edi, dword [ebp - 0x744]
mov eax, dword [eax + 4]
sub eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x6e0]
add ecx, eax
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x65c], ecx
mov dword [ebp - 0x71c], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
add eax, ecx
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x760]
sub eax, dword [ebp - 0x754]
cdq
sub eax, edx
mov edx, dword [ebp - 0x6dc]
sar eax, 1
sub esi, eax
mov eax, dword [ebp - 0x650]
sub esi, dword [ebp - 0x718]
sub esi, dword [ebp - 0x754]
sub esi, dword [ebp - 0x744]
add eax, esi
mov dword [ebp - 0x660], esi
mov dword [ebp - 0x658], eax
xor esi, esi
mov al, 1
mov dword [ebp - 0x730], esi
mov byte [ebp - 0x765], al
jmp 0x4acbaa
mov edx, dword [ebp - 0x6dc]
mov al, byte [ebp - 0x765]
cmp word [ebx + 0x48], 0
jne 0x4accd9
mov edx, dword [ebp - 0x6f8]
test edx, edx
je 0x4acc70
mov eax, dword [ebp - 0x7c8]
mov esi, dword [ebp - 0x734]
cwde
add esi, eax
movzx ecx, word [edx + 4]
movsx eax, cx
mov edx, ecx
cmp esi, eax
jle 0x4acc70
cmp byte [ebp - 0x6e1], 0
je 0x4acc70
mov eax, edx
mov edx, dword [ebp - 0x6f8]
cmp edx, dword [ebx + 0x20]
jne 0x4acc55
cmp byte [ebp - 0x765], 0
push dword [ebp - 0x7d0]
movzx eax, word [edx + 6]
lea edx, [ebp - 0x660]
push dword [ebp - 0x6fc]
push edx
push eax
push ecx
push dword [ebp - 0x6e8]
mov ecx, dword [ebp - 0x6ec]
push dword [ebp - 0x7c8]
push dword [ebp - 0x71c]
push edi
je 0x4acc3f
call fcn.00487090
jmp 0x4acc44
call fcn.004874d0
mov edx, dword [ebp - 0x6f8]
mov byte [ebp - 0x6e1], 0
movzx eax, word [edx + 4]
movsx ecx, word [edx + 6]
cwde
add ecx, eax
cmp esi, ecx
jl 0x4acc70
mov edx, dword [edx]
mov dword [ebp - 0x6f8], edx
test edx, edx
jne 0x4acbd2
mov esi, dword [ebp - 0x6e8]
cmp byte [ebp - 0x765], 0
je 0x4ad5d3
mov eax, dword [ebp - 0x6d8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0xc]
movd xmm0, dword [ecx + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
test dl, 0xc0
jne 0x4acef5
mov eax, edx
and eax, 0xa00
cmp eax, 0xa00
jne 0x4ace96
mov edx, dword [ebp - 0x748]
cvttsd2si eax, xmm0
add eax, dword [ecx + edx*4 + 0xae8]
jmp 0x4aceff
test al, al
jne 0x4ace4c
mov eax, dword [ebp - 0x6d8]
mov eax, dword [eax]
test eax, 0x400c0
jne 0x4acd4f
cmp byte [ebp - 0x73d], 0
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
je 0x4acd2e
cvttsd2si ecx, xmm1
add ecx, dword [eax + 0xae0]
mov eax, dword [ebp - 0x7f0]
add ecx, dword [ebp - 0x71c]
cwde
add eax, ecx
jmp 0x4acdfa
mov eax, dword [ebp - 0x734]
sub eax, dword [ebp - 0x758]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x4acdee
test esi, esi
je 0x4acdc3
mov ecx, dword [ebp - 0x7f8]
test al, 0x40
je 0x4acd63
cmp cx, 1
je 0x4acdc3
test al, al
jns 0x4acd6d
cmp cx, 2
je 0x4acdc3
mov eax, dword [edx + 0xc]
movd xmm0, dword [ebp - 0x734]
mov ecx, dword [ebp - 0x650]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
mulsd xmm1, xmm0
cvttsd2si edx, xmm1
lea eax, [ecx + edx]
cmp eax, esi
jle 0x4acdb3
mov eax, dword [ebp - 0x71c]
sub eax, esi
add eax, ecx
add eax, edx
jmp 0x4acdfa
mov eax, dword [ebp - 0x650]
add eax, dword [ebp - 0x71c]
add eax, edx
jmp 0x4acdfa
mov eax, dword [edx + 0xc]
movd xmm0, dword [ebp - 0x734]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x650]
mov esi, dword [ebp - 0x6e8]
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
push dword [ebp - 0x7cc]
mov dword [ebp - 0x654], eax
lea eax, [ebp - 0x670]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
push esi
push dword [ebp - 0x7c8]
push dword [ebp - 0x71c]
push edi
call fcn.004ece90
mov dword [ebp - 0x74c], eax
jmp 0x4ad5d3
push dword [ebp - 0x7d4]
mov esi, dword [ebp - 0x6e8]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x6ec]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
push esi
push dword [ebp - 0x7c8]
push dword [ebp - 0x71c]
push edi
call fcn.004ed110
mov dword [ebp - 0x74c], eax
jmp 0x4acc76
mov eax, edx
and eax, 0x1200
cmp eax, 0x1200
cvttsd2si eax, xmm0
jne 0x4aceb7
mov edx, dword [ebp - 0x748]
add eax, dword [ecx + edx*4 + 0xb60]
jmp 0x4aceff
test edx, 0x800
je 0x4acece
mov edx, dword [ebp - 0x748]
add eax, dword [ecx + edx*4 + 0xb10]
jmp 0x4aceff
test edx, 0x1000
je 0x4aceed
mov edx, dword [ebp - 0x748]
mov ecx, dword [ecx + edx*4 + 0xb38]
add ecx, eax
add dword [ebp - 0x6e0], ecx
jmp 0x4acf05
add eax, dword [ecx + 0xae0]
jmp 0x4aceff
cvttsd2si eax, xmm0
add eax, dword [ecx + 0xae4]
add dword [ebp - 0x6e0], eax
push dword [ebp - 0x714]
mov esi, dword [ebp - 0x6f0]
mov edi, dword [ebp - 0x6f4]
push esi
call edi
mov eax, dword [ebp - 0x6d8]
test byte [eax], 0xc0
je 0x4a9c10
push dword [ebp - 0x854]
push esi
call edi
jmp 0x4a9c10
test esi, esi
jne 0x4ad33a
mov edx, dword [ebp - 0x6dc]
mov eax, ecx
and eax, 0x40000
je 0x4acf5d
mov edi, 0x400
test word [edx + 8], di
je 0x4ad33a
mov edi, ecx
and edi, 0x80
mov dword [ebp - 0x700], edi
jne 0x4ad0ff
test eax, eax
je 0x4acf84
mov eax, 0x400
test word [edx + 8], ax
jne 0x4ad0ff
mov eax, dword [ebp - 0x738]
mov edx, dword [ebp - 0x73c]
mov edi, dword [eax]
mov esi, dword [eax + 4]
sub edi, dword [edx]
sub esi, dword [edx + 4]
add edi, dword [ebp - 0x6e0]
add esi, dword [ebp - 0x7dc]
test ecx, 0x800
je 0x4ad040
mov eax, dword [ebp - 0x748]
movd xmm0, dword [ebp - 0x7c4]
inc eax
cvtdq2pd xmm0, xmm0
mov ecx, dword [ebp - 0x734]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movd xmm1, esi
mulsd xmm2, qword [ebp - 0x878]
cvtdq2pd xmm1, xmm1
addsd xmm2, qword [ebp - 0x898]
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x658], eax
mulsd xmm0, xmm2
movsd xmm2, qword [ebp - 0x710]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x65c], eax
jmp 0x4ad26c
mov edx, dword [ebp - 0x730]
test ecx, 0x1000
mov ecx, dword [ebp - 0x734]
je 0x4ad0e4
mov eax, dword [ebp - 0x748]
movsd xmm1, qword [ebp - 0x898]
inc eax
movd xmm2, esi
cvtdq2pd xmm2, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x878]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x7c4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x658], eax
mulsd xmm0, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
movsd xmm2, qword [ebp - 0x710]
mov dword [ebp - 0x65c], eax
jmp 0x4ad272
movups xmm0, xmmword [ebp - 0x670]
movsd xmm2, qword [ebp - 0x710]
movups xmmword [ebp - 0x660], xmm0
jmp 0x4ad272
mov edx, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
mov ecx, dword [edx]
sub ecx, dword [eax]
cmp word [ebp - 0x7f8], 2
jne 0x4ad123
mov eax, dword [ebp - 0x6e0]
add eax, ecx
jmp 0x4ad131
mov eax, ecx
sub eax, dword [ebp - 0x730]
add eax, dword [ebp - 0x6e0]
mov esi, dword [edx + 4]
mov dword [ebp - 0x744], eax
mov eax, dword [ebp - 0x73c]
test edi, edi
je 0x4ad149
sub esi, dword [eax + 4]
jmp 0x4ad17b
cmp dword [ebp - 0x71c], 0
movd xmm0, dword [ebp - 0x75c]
mov edx, dword [eax + 4]
cvtdq2pd xmm0, xmm0
je 0x4ad16b
mulsd xmm0, qword [ebp - 0x8e0]
jmp 0x4ad173
mulsd xmm0, qword [ebp - 0x8e8]
cvttsd2si eax, xmm0
sub esi, eax
sub esi, edx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
mov edi, dword [ebp - 0x6dc]
add esi, dword [ebp - 0x760]
mov edx, dword [ebp - 0x744]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x660], edx
mov dword [ebp - 0x654], esi
mov eax, dword [edi + 0xc]
movd xmm1, esi
mulsd xmm0, qword [eax + 0xad0]
cvtdq2pd xmm1, xmm1
divsd xmm0, qword [ebp - 0x828]
movsd xmm2, qword [ebp - 0x710]
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x734]
cvtdq2pd xmm0, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x65c], eax
mov eax, dword [edi + 0xc]
mov edi, edx
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, edx
add eax, dword [ebp - 0x650]
cmp dword [ebp - 0x700], 0
mov dword [ebp - 0x658], eax
jne 0x4ad25a
cmp word [ebp - 0x7f8], 2
mov edx, dword [ebp - 0x730]
jne 0x4ad244
mov eax, dword [ebp - 0x81c]
add eax, ecx
mov ecx, dword [ebp - 0x734]
mov dword [ebp - 0x670], eax
jmp 0x4ad272
sub ecx, edx
add ecx, dword [ebp - 0x81c]
mov dword [ebp - 0x670], ecx
mov ecx, dword [ebp - 0x734]
jmp 0x4ad272
mov ecx, dword [ebp - 0x734]
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x670], edi
mov edx, dword [ebp - 0x730]
cmp word [ebx + 0x48], 0
jne 0x4ad47b
mov edx, dword [ebp - 0x6f8]
test edx, edx
je 0x4ad5cd
mov eax, dword [ebp - 0x7c8]
cwde
add eax, ecx
mov dword [ebp - 0x778], eax
nop word [eax + eax]
movzx ecx, word [edx + 4]
movsx eax, cx
mov edx, ecx
cmp dword [ebp - 0x778], eax
jle 0x4ad5cd
cmp byte [ebp - 0x6e1], 0
je 0x4ad5cd
mov eax, edx
mov edx, dword [ebp - 0x6f8]
cmp edx, dword [ebx + 0x20]
jne 0x4ad312
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
push dword [ebp - 0x6e8]
mov ecx, dword [ebp - 0x6ec]
push dword [ebp - 0x7c8]
push esi
push edi
call fcn.00487090
mov edx, dword [ebp - 0x6f8]
mov byte [ebp - 0x6e1], 0
movzx eax, word [edx + 4]
movsx ecx, word [edx + 6]
cwde
add ecx, eax
cmp dword [ebp - 0x778], ecx
jl 0x4ad5cd
mov edx, dword [edx]
mov dword [ebp - 0x6f8], edx
test edx, edx
jne 0x4ad2a0
jmp 0x4ad5cd
mov eax, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x73c]
mov edx, dword [eax]
sub edx, dword [ecx]
cmp word [ebp - 0x7f8], 1
jne 0x4ad35e
mov edi, dword [ebp - 0x6e0]
add edi, edx
jmp 0x4ad36c
mov edi, edx
sub edi, dword [ebp - 0x730]
add edi, dword [ebp - 0x6e0]
test esi, esi
mov esi, dword [eax + 4]
je 0x4ad378
sub esi, dword [ecx + 4]
jmp 0x4ad3aa
cmp dword [ebp - 0x71c], 0
movd xmm0, dword [ebp - 0x75c]
mov ecx, dword [ecx + 4]
cvtdq2pd xmm0, xmm0
je 0x4ad39a
mulsd xmm0, qword [ebp - 0x8f0]
jmp 0x4ad3a2
mulsd xmm0, qword [ebp - 0x8f8]
cvttsd2si eax, xmm0
sub esi, eax
sub esi, ecx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
mov ecx, dword [ebp - 0x6dc]
add esi, dword [ebp - 0x754]
mov dword [ebp - 0x660], edi
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x65c], esi
mov eax, dword [ecx + 0xc]
movd xmm0, esi
mulsd xmm1, qword [eax + 0xad0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x828]
movsd xmm2, qword [ebp - 0x710]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x654], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x734]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, edi
add eax, dword [ebp - 0x650]
cmp dword [ebp - 0x778], 0
mov dword [ebp - 0x658], eax
jne 0x4ad260
cmp word [ebp - 0x7f8], 1
mov eax, dword [ebp - 0x81c]
jne 0x4ad468
add eax, edx
mov dword [ebp - 0x670], eax
jmp 0x4ad26c
sub eax, dword [ebp - 0x730]
add eax, edx
mov dword [ebp - 0x670], eax
jmp 0x4ad26c
mov eax, dword [ebp - 0x6d8]
mov eax, dword [eax]
test eax, 0x400c0
jne 0x4ad4e3
cmp byte [ebp - 0x73d], 0
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
je 0x4ad4c6
cvttsd2si ecx, xmm1
add ecx, dword [eax + 0xae0]
mov eax, dword [ebp - 0x7f0]
add ecx, edi
cwde
add eax, ecx
jmp 0x4ad586
mov eax, ecx
sub eax, dword [ebp - 0x758]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x4ad57e
test edx, edx
je 0x4ad555
mov edx, dword [ebp - 0x7f8]
test al, 0x40
je 0x4ad4f7
cmp dx, 1
je 0x4ad555
test al, al
jns 0x4ad501
cmp dx, 2
je 0x4ad555
mov eax, dword [ebp - 0x6dc]
movd xmm0, ecx
mov ecx, dword [ebp - 0x650]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
mulsd xmm1, xmm0
cvttsd2si edx, xmm1
lea eax, [ecx + edx]
cmp eax, dword [ebp - 0x730]
jle 0x4ad549
mov eax, edi
sub eax, dword [ebp - 0x730]
add eax, ecx
add eax, edx
jmp 0x4ad586
mov eax, dword [ebp - 0x650]
add eax, edi
add eax, edx
jmp 0x4ad586
mov eax, dword [ebp - 0x6dc]
movd xmm0, ecx
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, edi
add eax, dword [ebp - 0x650]
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
push dword [ebp - 0x7cc]
mov dword [ebp - 0x658], eax
lea eax, [ebp - 0x670]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
push dword [ebp - 0x6e8]
push dword [ebp - 0x7c8]
push esi
push edi
call fcn.004ecc10
mov dword [ebp - 0x74c], eax
mov esi, dword [ebp - 0x6e8]
mov edi, dword [ebp - 0x6d8]
mov eax, dword [edi]
test al, 0x20
jne 0x4aa39f
test eax, 0x400c0
jne 0x4ad66d
cmp byte [ebp - 0x73d], 0
mov edx, dword [ebp - 0x6dc]
mov edi, dword [ebp - 0x704]
mov ecx, dword [edx + 0xc]
movd xmm1, dword [ecx + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
je 0x4ad640
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [ecx + 0xae0]
cwde
add ecx, eax
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x6e0]
add eax, ecx
mov dword [ebp - 0x6e0], eax
jmp 0x4a9c22
mov eax, dword [ebp - 0x734]
sub eax, dword [ebp - 0x758]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x650]
add dword [ebp - 0x6e0], eax
jmp 0x4a9c22
push dword [ebp - 0x854]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov esi, dword [ebp - 0x730]
test esi, esi
je 0x4ad704
mov eax, dword [edi]
mov ecx, dword [ebp - 0x7f8]
test al, 0x40
je 0x4ad69b
cmp cx, 1
je 0x4ad704
test al, al
jns 0x4ad6a5
cmp cx, 2
je 0x4ad704
mov eax, dword [ebp - 0x6dc]
movd xmm0, dword [ebp - 0x734]
mov ecx, dword [ebp - 0x650]
mov edi, dword [ebp - 0x704]
mov eax, dword [eax + 0xc]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
mulsd xmm1, xmm0
cvttsd2si edx, xmm1
lea eax, [ecx + edx]
cmp eax, esi
jle 0x4ad6f3
sub ecx, esi
add ecx, edx
add dword [ebp - 0x6e0], ecx
mov edx, dword [ebp - 0x6dc]
mov esi, dword [ebp - 0x6e8]
jmp 0x4a9c22
mov edx, dword [ebp - 0x6dc]
movd xmm0, dword [ebp - 0x734]
cvtdq2pd xmm0, xmm0
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x650]
add dword [ebp - 0x6e0], eax
jmp 0x4a9c16
mov esi, dword [ebx + 0x44]
cmp byte [esi + 0x2f4], 0
je 0x4a9c16
cmp dword [ebp - 0x830], 2
je 0x4a9c16
mov ecx, dword [ebp - 0x704]
mov eax, 0xff3b
movzx edx, word [ecx]
lea esi, [ecx + 6]
cmp dx, ax
jne 0x4ad9d6
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4ad9d6
movzx eax, word [esi]
mov edi, 0xff3d
cmp ax, di
je 0x4ad7e9
cmp ax, word [ebp - 0x920]
je 0x4ad7c1
cmp ax, word [ebp - 0x928]
je 0x4ad7c1
cmp ax, word [ebp - 0x92c]
je 0x4ad7c1
cmp ax, word [ebp - 0x930]
jne 0x4ad8a7
cmp word [ecx + 8], di
jne 0x4ad8a7
mov ecx, 0x30ec
cmp ax, cx
je 0x4ad7f8
mov ecx, 0x4e00
cmp ax, cx
je 0x4ad7f8
mov ecx, 0x4e8c
cmp ax, cx
je 0x4ad7f8
mov ecx, 0x4e09
mov esi, 1
cmp ax, cx
jne 0x4ad7fd
mov esi, 2
mov eax, dword [ebp - 0x6dc]
mov edi, dword [ebp - 0x6f0]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c0]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
push 0
push 0
push esi
push dword [ebp - 0x810]
push edi
call dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x6dc]
movd xmm0, esi
mov esi, dword [ebp - 0x7f4]
cvtdq2pd xmm0, xmm0
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
add ecx, dword [ebp - 0x650]
cmp ecx, esi
jle 0x4ad88b
mov eax, ecx
mov dword [ebp - 0x7f4], ecx
sub eax, esi
add dword [ebp - 0x6e0], eax
push dword [ebp - 0x714]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x730], 0
jmp 0x4b5dd7
mov edi, 0xff08
lea eax, [ecx + 4]
cmp word [eax], di
mov edi, dword [ebp - 0x6e8]
jne 0x4ad9df
movsx eax, di
mov edx, 0xff09
cmp word [ecx + eax*2 - 4], dx
movzx edx, word [ecx]
jne 0x4ad9dc
mov esi, 0xff3d
cmp word [ecx + eax*2 - 2], si
lea esi, [ecx + 6]
jne 0x4ad9dc
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 - 0x6e8]
add esp, 4
mov edi, eax
mov ecx, esi
push 1
push edi
lea edx, [edx - 5]
call fcn.0040c7c0
movzx esi, ax
add esp, 8
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
movsx esi, si
push 0
push 0
push esi
push edi
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov ecx, dword [ebp - 0x6dc]
mov edx, dword [ebp - 0x7f4]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov eax, dword [ecx + 0xc]
movd xmm1, dword [eax + 0xa80]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x710]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
add ecx, dword [ebp - 0x650]
cmp ecx, edx
jle 0x4ad9c0
mov eax, ecx
mov dword [ebp - 0x7f4], ecx
sub eax, edx
add dword [ebp - 0x6e0], eax
push edi
call fcn.00560853
add esp, 4
xor esi, esi
mov dword [ebp - 0x730], esi
jmp 0x4b5dd7
mov edi, dword [ebp - 0x6e8]
lea eax, [ecx + 4]
cmp byte [ebp - 0x771], 0
je 0x4b03e5
mov edx, 0x300c
mov dword [ebp - 0x714], 0
xor ecx, ecx
mov byte [ebp - 0x6e2], 0
cmp word [eax], dx
mov edx, dword [ebp - 0x704]
mov byte [ebp - 0x73d], 0
mov dword [ebp - 0x778], ecx
jne 0x4ada48
mov eax, 0x203b
cmp word [esi], ax
jne 0x4ada48
mov eax, 0x300d
cmp word [edx + 8], ax
jne 0x4ada48
mov eax, 0x306f
cmp word [edx + 0xa], ax
mov eax, 4
cmove ecx, eax
mov dword [ebp - 0x778], ecx
mov edi, dword [0x59d2a0]
xor esi, esi
mov dword [ebp - 0x744], esi
cmp word [edi], si
je 0x4adb45
nop
lea edx, [edx + ecx*2]
mov dword [ebp - 0x758], ecx
xor esi, esi
mov dword [ebp - 0x860], 0
xor eax, eax
mov byte [ebp - 0x7bd], 1
add edx, 4
nop dword [eax]
nop word [eax + eax]
inc dword [ebp - 0x860]
movzx ecx, word [edx]
cmp cx, word [ebp - 0x8cc]
movzx eax, word [eax + edi]
cmove ecx, dword [ebp - 0x8c8]
cmp ax, word [ebp - 0x8cc]
cmove eax, dword [ebp - 0x8c8]
cmp cx, ax
jne 0x4adadc
inc dword [ebp - 0x758]
inc esi
movsx eax, si
add edx, 2
add eax, eax
cmp word [eax + edi], 0
jne 0x4ada90
mov cl, byte [ebp - 0x7bd]
jmp 0x4adae4
xor cl, cl
mov byte [ebp - 0x7bd], cl
mov eax, dword [ebp - 0x758]
mov esi, 0x3001
mov edx, dword [ebp - 0x704]
movzx eax, word [edx + eax*2 + 4]
cmp ax, si
je 0x4adb12
mov esi, 0xff3d
cmp ax, si
je 0x4adb12
mov byte [ebp - 0x7bd], 0
jmp 0x4adb16
test cl, cl
jne 0x4adb3f
mov esi, dword [ebp - 0x744]
mov ecx, dword [ebp - 0x778]
inc esi
movsx eax, si
mov dword [ebp - 0x744], esi
mov edi, dword [eax*4 + 0x59d2a0]
cmp word [edi], 0
jne 0x4ada60
jmp 0x4adb45
mov esi, dword [ebp - 0x744]
xor al, al
xor cl, cl
mov byte [ebp - 0x771], cl
mov byte [ebp - 0x7be], al
cmp byte [ebp - 0x7bd], al
jne 0x4adbcb
mov edi, dword [ebp - 0x704]
lea eax, [ebp - 0x6d0]
mov edx, dword [ebp - 0x6e8]
mov ecx, edi
push eax
lea eax, [ebp - 0x6cc]
push eax
lea eax, [ebp - 0x680]
push eax
call fcn.0040a9d0
mov cl, al
add esp, 0xc
mov byte [ebp - 0x771], cl
test cl, cl
je 0x4adb9c
mov al, byte [ebp - 0x7be]
jmp 0x4adbc4
mov edx, dword [ebp - 0x6e8]
lea eax, [ebp - 0x1c]
push eax
mov ecx, edi
call fcn.0040b2d0
add esp, 4
mov byte [ebp - 0x7be], al
test al, al
je 0x4b03d9
mov cl, byte [ebp - 0x771]
mov byte [ebp - 0x7bd], 1
mov edx, dword [ebp - 0x76c]
mov edi, dword [ebp - 0x6d8]
cmp dx, 0x40
jne 0x4add94
test byte [edi], 0x20
je 0x4add94
test al, al
je 0x4adc1d
mov ecx, dword [ebp - 0x724]
xor eax, eax
cmp word [ebp - 0x1a], ax
mov byte [ebp - 0x6e2], 1
setne al
inc eax
mov dword [ebp - 0x734], eax
sub ax, word [ecx + 4]
movzx edi, ax
mov dword [ebp - 0x794], edi
jmp 0x4aec08
mov dword [ebp - 0x734], 0
test cl, cl
je 0x4add39
movsx eax, word [ebp - 0x6cc]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
shl ecx, 5
add ecx, eax
cmp word [ebp - 0x680], 3
jne 0x4adcc2
mov ecx, dword [ecx*4 + 0x5a5888]
movzx edx, word [ecx]
mov dword [ebp - 0x700], edx
test dx, dx
je 0x4add2e
mov edx, dword [ebp - 0x734]
nop
inc edx
movsx eax, dx
cmp word [ecx + eax*2], 0
jne 0x4adc70
mov dword [ebp - 0x734], edx
test dx, dx
mov edx, dword [ebp - 0x700]
jle 0x4add2e
mov ecx, dword [ebp - 0x724]
and edx, 0xfc00
mov ax, word [ebp - 0x734]
sub ax, word [ecx + 4]
cmp edx, 0xd800
movzx edi, ax
mov dword [ebp - 0x794], edi
sete byte [ebp - 0x6e2]
jmp 0x4aec08
mov ecx, dword [ecx*4 + 0x59ab68]
movzx edx, word [ecx]
mov dword [ebp - 0x700], edx
test dx, dx
je 0x4add2e
mov edx, dword [ebp - 0x734]
nop dword [eax]
inc edx
movsx eax, dx
cmp word [ecx + eax*2], 0
jne 0x4adce0
mov dword [ebp - 0x734], edx
test dx, dx
mov edx, dword [ebp - 0x700]
jle 0x4add2e
mov ecx, dword [ebp - 0x724]
and edx, 0xfc00
mov ax, word [ebp - 0x734]
sub ax, word [ecx + 4]
cmp edx, 0xd800
movzx edi, ax
mov dword [ebp - 0x794], edi
sete byte [ebp - 0x6e2]
jmp 0x4aec08
mov edi, dword [ebp - 0x794]
jmp 0x4aec08
movsx eax, si
mov ecx, dword [eax*4 + 0x592508]
movzx edx, word [ecx]
mov dword [ebp - 0x700], edx
test dx, dx
je 0x4add77
mov edx, dword [ebp - 0x734]
inc edx
movsx eax, dx
cmp word [ecx + eax*2], 0
jne 0x4add57
mov dword [ebp - 0x734], edx
test dx, dx
mov edx, dword [ebp - 0x700]
jg 0x4adc90
mov ecx, dword [ebp - 0x724]
mov eax, 1
sub ax, word [ecx + 4]
movzx edi, ax
mov dword [ebp - 0x794], edi
jmp 0x4aec08
test al, al
je 0x4adf3d
mov eax, dword [edi]
cmp dx, 0x40
jne 0x4addfb
mov byte [ebp - 0x6e2], 1
test eax, 0x400c0
jne 0x4addea
test eax, 0x200
je 0x4addca
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1d8]
jmp 0x4ade15
mov ecx, dword [ebp - 0x6dc]
mov ecx, dword [ecx + 0xc]
test eax, 0x400
je 0x4adde2
push dword [ecx + 0x1dc]
jmp 0x4ade15
push dword [ecx + 0x1c8]
jmp 0x4ade15
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1d4]
jmp 0x4ade15
test al, 0xc0
jne 0x4ade06
test eax, 0x40000
je 0x4ade27
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
mov edi, dword [ebp - 0x72c]
xor eax, eax
cmp word [ebp - 0x1a], ax
setne al
inc eax
movzx esi, ax
mov dword [ebp - 0x734], eax
lea eax, [ebp - 0x650]
push eax
push edi
push 0
push 0
push esi
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x6fc]
mov eax, dword [edi]
mov dword [edx], eax
mov eax, 1
cmp ax, si
jae 0x4adeb1
mov eax, dword [ebp - 0x734]
lea ecx, [edx + 4]
mov edx, edi
mov edi, dword [ebp - 0x6fc]
sub edx, dword [ebp - 0x6fc]
dec eax
movzx esi, ax
nop dword [eax]
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 0x4ade90
mov edx, dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x6ec]
mov edi, dword [ebp - 0x734]
mov eax, dword [eax + 0x14]
cmp word [eax + 8], 3
jne 0x4adf35
mov esi, dword [ebp - 0x6dc]
movzx ecx, word [esi + 6]
test cx, cx
je 0x4adf35
cmp dword [ebp - 0x678], 0
je 0x4adf35
cmp esi, dword [ebp - 0x6d4]
setne al
movzx eax, al
push eax
movsx eax, cx
mov ecx, dword [ebp - 0x6ec]
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
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 - 0x710]
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
mov ax, di
jmp 0x4aeba3
mov dword [ebp - 0x734], 0
test cl, cl
je 0x4ae5fc
movsx eax, word [ebp - 0x6cc]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
shl ecx, 5
add ecx, eax
cmp word [ebp - 0x680], 3
jne 0x4ae2ab
mov eax, dword [ecx*4 + 0x5a5888]
movzx ecx, word [eax]
mov dword [ebp - 0x700], ecx
test cx, cx
je 0x4ae5eb
mov ecx, dword [ebp - 0x734]
movzx edx, cx
inc ecx
movsx esi, cx
mov dword [ebp - 0x720], edx
cmp word [eax + esi*2], 0
jne 0x4adf92
mov dword [ebp - 0x734], ecx
test cx, cx
mov ecx, dword [ebp - 0x700]
jle 0x4ae5eb
cmp word [ebp - 0x76c], 0x40
jne 0x4ae073
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x4ae073
mov eax, dword [edi]
mov edi, dword [ebp - 0x6dc]
mov byte [ebp - 0x6e2], 1
test eax, 0x400c0
jne 0x4ae056
test eax, 0x200
je 0x4ae018
mov eax, dword [edi + 0xc]
push dword [eax + 0x1d8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae0a9
mov ecx, dword [edi + 0xc]
test eax, 0x400
je 0x4ae03c
push dword [ecx + 0x1dc]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae0a9
push dword [ecx + 0x1c8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae0a9
mov eax, dword [edi + 0xc]
push dword [eax + 0x1d4]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae0a9
mov eax, dword [edi]
test al, 0xc0
jne 0x4ae080
test eax, 0x40000
je 0x4ae0a3
mov edi, dword [ebp - 0x6dc]
mov eax, dword [edi + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae0a9
mov edi, dword [ebp - 0x6dc]
lea eax, [ebp - 0x650]
push eax
movsx eax, word [ebp - 0x6cc]
push dword [ebp - 0x72c]
push 0
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
shl ecx, 5
push 0
add ecx, eax
push esi
push dword [ecx*4 + 0x5a5888]
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
cmp byte [ebp - 0x6e2], 0
movsd xmm1, qword [ebp - 0x710]
mov ecx, dword [ebp - 0x72c]
mov esi, dword [ebp - 0x6fc]
jne 0x4ae13b
mov eax, dword [edi + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [edi + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
jmp 0x4ae13f
mov eax, dword [ecx]
mov dword [esi], eax
mov edi, dword [ebp - 0x734]
mov eax, 1
cmp ax, di
jge 0x4ae229
lea edi, [eax + 1]
sub ecx, esi
mov eax, dword [ebp - 0x720]
lea edx, [esi + 4]
movzx eax, ax
mov dword [ebp - 0x700], ecx
mov dword [ebp - 0x778], eax
mov esi, dword [edx + ecx]
sub esi, dword [edx + ecx - 4]
mov dword [edx], esi
movsx eax, word [ebp - 0x6cc]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
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 0x4ae1fc
mov eax, 0xdc00
cmp cx, ax
je 0x4ae1fc
cmp byte [ebp - 0x6e2], 0
jne 0x4ae20a
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, esi
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
jmp 0x4ae20a
mov eax, dword [ebp - 0x6fc]
add dword [eax], esi
mov dword [edx], 0
mov ecx, dword [ebp - 0x700]
add edi, 2
add edx, 4
sub dword [ebp - 0x778], 1
jne 0x4ae170
mov edi, dword [ebp - 0x734]
mov edx, dword [ebp - 0x6ec]
mov eax, dword [edx + 0x14]
cmp word [eax + 8], 3
jne 0x4adf35
mov esi, dword [ebp - 0x6dc]
movzx ecx, word [esi + 6]
test cx, cx
je 0x4adf35
cmp dword [ebp - 0x678], 0
je 0x4adf35
cmp esi, dword [ebp - 0x6d4]
setne al
movzx eax, al
push eax
movsx eax, cx
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
push eax
movsx eax, word [ebp - 0x6cc]
push edi
push dword [ebp - 0x6fc]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
shl ecx, 5
add ecx, eax
push dword [ecx*4 + 0x5a5888]
mov ecx, edx
jmp 0x4adf12
mov eax, dword [ecx*4 + 0x59ab68]
movzx ecx, word [eax]
mov dword [ebp - 0x700], ecx
test cx, cx
je 0x4ae5eb
mov ecx, dword [ebp - 0x734]
nop word [eax + eax]
movzx edx, cx
inc ecx
movsx esi, cx
mov dword [ebp - 0x720], edx
cmp word [eax + esi*2], 0
jne 0x4ae2d0
mov dword [ebp - 0x734], ecx
test cx, cx
mov ecx, dword [ebp - 0x700]
jle 0x4ae5eb
cmp word [ebp - 0x76c], 0x40
jne 0x4ae3b1
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x4ae3b1
mov eax, dword [edi]
mov edi, dword [ebp - 0x6dc]
mov byte [ebp - 0x6e2], 1
test eax, 0x400c0
jne 0x4ae394
test eax, 0x200
je 0x4ae356
mov eax, dword [edi + 0xc]
push dword [eax + 0x1d8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae3e7
mov ecx, dword [edi + 0xc]
test eax, 0x400
je 0x4ae37a
push dword [ecx + 0x1dc]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae3e7
push dword [ecx + 0x1c8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae3e7
mov eax, dword [edi + 0xc]
push dword [eax + 0x1d4]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae3e7
mov eax, dword [edi]
test al, 0xc0
jne 0x4ae3be
test eax, 0x40000
je 0x4ae3e1
mov edi, dword [ebp - 0x6dc]
mov eax, dword [edi + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae3e7
mov edi, dword [ebp - 0x6dc]
lea eax, [ebp - 0x650]
push eax
movsx eax, word [ebp - 0x6cc]
push dword [ebp - 0x72c]
push 0
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
shl ecx, 5
push 0
add ecx, eax
push esi
push dword [ecx*4 + 0x59ab68]
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
cmp byte [ebp - 0x6e2], 0
movsd xmm1, qword [ebp - 0x710]
mov ecx, dword [ebp - 0x72c]
mov esi, dword [ebp - 0x6fc]
jne 0x4ae479
mov eax, dword [edi + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [edi + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
jmp 0x4ae47d
mov eax, dword [ecx]
mov dword [esi], eax
mov edi, dword [ebp - 0x734]
mov eax, 1
cmp ax, di
jge 0x4ae569
lea edi, [eax + 1]
sub ecx, esi
mov eax, dword [ebp - 0x720]
lea edx, [esi + 4]
movzx eax, ax
mov dword [ebp - 0x700], ecx
mov dword [ebp - 0x778], eax
nop
mov esi, dword [ecx + edx]
sub esi, dword [ecx + edx - 4]
mov dword [edx], esi
movsx eax, word [ebp - 0x6cc]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
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 0x4ae53c
mov eax, 0xdc00
cmp cx, ax
je 0x4ae53c
cmp byte [ebp - 0x6e2], 0
jne 0x4ae54a
mov ecx, dword [ebp - 0x6dc]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, esi
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
jmp 0x4ae54a
mov eax, dword [ebp - 0x6fc]
add dword [eax], esi
mov dword [edx], 0
mov ecx, dword [ebp - 0x700]
add edi, 2
add edx, 4
sub dword [ebp - 0x778], 1
jne 0x4ae4b0
mov edi, dword [ebp - 0x734]
mov edx, dword [ebp - 0x6ec]
mov eax, dword [edx + 0x14]
cmp word [eax + 8], 3
jne 0x4adf35
mov esi, dword [ebp - 0x6dc]
movzx ecx, word [esi + 6]
test cx, cx
je 0x4adf35
cmp dword [ebp - 0x678], 0
je 0x4adf35
cmp esi, dword [ebp - 0x6d4]
setne al
movzx eax, al
push eax
movsx eax, cx
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
push eax
movsx eax, word [ebp - 0x6cc]
push edi
push dword [ebp - 0x6fc]
lea ecx, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
shl ecx, 5
add ecx, eax
push dword [ecx*4 + 0x59ab68]
mov ecx, edx
jmp 0x4adf12
mov ecx, dword [ebp - 0x724]
mov edi, dword [ebp - 0x794]
jmp 0x4aebb6
movsx edi, si
shl edi, 2
mov dword [ebp - 0x720], edi
mov eax, dword [edi + 0x592508]
movzx ecx, word [eax]
test cx, cx
je 0x4aea41
mov ecx, dword [ebp - 0x734]
movzx edx, cx
inc ecx
movsx esi, cx
mov dword [ebp - 0x700], edx
cmp word [eax + esi*2], 0
jne 0x4ae620
mov dword [ebp - 0x734], ecx
test cx, cx
movzx ecx, word [eax]
jle 0x4aea41
cmp word [ebp - 0x76c], 0x40
jne 0x4ae7b7
cmp word [ebp - 0x734], 2
jne 0x4ae680
movzx eax, word [eax + 2]
mov edx, 0x3099
cmp ax, dx
je 0x4ae676
mov edx, 0x309a
cmp ax, dx
jne 0x4ae680
mov dl, 1
mov byte [ebp - 0x73d], dl
jmp 0x4ae686
mov dl, byte [ebp - 0x73d]
mov eax, 0xab
cmp cx, ax
je 0x4ae794
mov eax, 0xbb
cmp cx, ax
je 0x4ae794
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4ae6ea
test dl, dl
jne 0x4ae6ea
mov eax, 0x100
cmp cx, ax
jb 0x4ae6ea
mov eax, 0x216a
cmp cx, ax
je 0x4ae6ea
mov eax, 0x216b
cmp cx, ax
je 0x4ae6ea
mov eax, 0x217a
cmp cx, ax
je 0x4ae6ea
mov eax, 0x217b
cmp cx, ax
jne 0x4ae7b7
mov eax, dword [ebp - 0x6d8]
mov byte [ebp - 0x6e2], 1
mov eax, dword [eax]
test eax, 0x400c0
jne 0x4ae771
test eax, 0x200
je 0x4ae72d
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1d8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae7ca
mov ecx, dword [ebp - 0x6dc]
mov ecx, dword [ecx + 0xc]
test eax, 0x400
je 0x4ae757
push dword [ecx + 0x1dc]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae7ca
push dword [ecx + 0x1c8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae7ca
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1d4]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae7ca
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c4]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
jmp 0x4ae7ca
mov eax, dword [ebp - 0x6d8]
mov eax, dword [eax]
test al, 0xc0
jne 0x4ae807
test eax, 0x40000
jne 0x4ae807
cmp byte [ebp - 0x73d], 0
je 0x4ae828
mov eax, dword [edi + 0x592508]
mov ecx, 0x3099
cmp word [eax + 2], cx
jne 0x4ae828
mov esi, dword [ebp - 0x72c]
lea ecx, [ebp - 0x650]
push ecx
push esi
push 0
push 0
push 1
push eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
jmp 0x4ae852
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
push 0
push 0
push esi
push dword [edi + 0x592508]
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov esi, dword [ebp - 0x72c]
cmp byte [ebp - 0x6e2], 0
movsd xmm1, qword [ebp - 0x710]
mov ecx, dword [ebp - 0x6fc]
jne 0x4ae8a9
mov edx, dword [ebp - 0x6dc]
mov eax, dword [edx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
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, xmm1
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
jmp 0x4ae8ad
mov eax, dword [esi]
mov dword [ecx], eax
cmp byte [ebp - 0x73d], 0
je 0x4ae8d8
mov eax, dword [edi + 0x592508]
mov edx, 0x3099
cmp word [eax + 2], dx
jne 0x4ae8d8
mov eax, dword [ecx]
cdq
sub eax, edx
sar eax, 1
mov dword [ecx + 4], eax
mov dword [ecx], eax
jmp 0x4ae9ac
mov esi, dword [ebp - 0x734]
mov eax, 1
cmp ax, si
jge 0x4ae9b2
mov esi, dword [edi + 0x592508]
add ecx, 4
mov eax, dword [ebp - 0x700]
add esi, 2
mov edi, dword [ebp - 0x72c]
sub edi, dword [ebp - 0x6fc]
movzx eax, ax
mov dword [ebp - 0x778], eax
mov edx, dword [edi + ecx]
mov eax, 0xfc00
sub edx, dword [edi + ecx - 4]
mov dword [ecx], edx
and ax, word [esi]
cmp ax, word [ebp - 0x8b0]
je 0x4ae985
cmp ax, word [ebp - 0x87c]
je 0x4ae985
cmp byte [ebp - 0x6e2], 0
jne 0x4ae993
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, edx
mov dword [ecx], eax
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
jmp 0x4ae993
mov eax, dword [ebp - 0x6fc]
add dword [eax], edx
mov dword [ecx], 0
add esi, 2
add ecx, 4
sub dword [ebp - 0x778], 1
jne 0x4ae913
mov edi, dword [ebp - 0x720]
mov esi, dword [ebp - 0x734]
mov edx, dword [ebp - 0x6ec]
mov eax, dword [edx + 0x14]
cmp word [eax + 8], 3
jne 0x4aea39
mov eax, dword [ebp - 0x6dc]
movzx ecx, word [eax + 6]
test cx, cx
je 0x4aea39
cmp dword [ebp - 0x678], 0
je 0x4aea39
cmp eax, dword [ebp - 0x6d4]
setne al
movzx eax, al
push eax
movsx eax, cx
mov ecx, edx
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
push eax
push esi
push dword [ebp - 0x6fc]
push dword [edi + 0x592508]
call fcn.004867e0
mov ecx, dword [ebp - 0x6dc]
movsx eax, word [ecx + 6]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
mov ax, si
jmp 0x4aeba3
mov ecx, dword [ebp - 0x6d8]
mov eax, dword [ebp - 0x6dc]
test dword [ecx], 0x400c0
mov eax, dword [eax + 0xc]
jne 0x4aea60
push dword [eax + 0x1bc]
jmp 0x4aea66
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
mov eax, dword [ebp - 0x860]
movsx esi, ax
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
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 - 0x6f0]
call dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x6dc]
movsd xmm1, qword [ebp - 0x710]
mov edx, dword [ebp - 0x72c]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [edx]
mov edx, dword [ebp - 0x6fc]
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x6ec]
mov eax, dword [eax + 0x14]
cmp word [eax + 8], 3
jne 0x4aeb9e
movzx ecx, word [ecx + 6]
test cx, cx
je 0x4aeb9e
cmp dword [ebp - 0x678], 0
je 0x4aeb9e
cmp byte [ebp - 0x671], 0
jne 0x4aeb9e
mov eax, dword [ebp - 0x6dc]
cmp eax, dword [ebp - 0x6d4]
setne al
movzx eax, al
push eax
movsx eax, cx
mov ecx, dword [ebp - 0x6ec]
push 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
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 - 0x6dc]
movsx eax, word [ecx + 6]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add dword [ebp - 0x650], eax
mov eax, 1
mov ecx, dword [ebp - 0x724]
sub ax, word [ecx + 4]
movzx edi, ax
mov dword [ebp - 0x794], edi
cmp word [ebx + 0x48], 0
jne 0x4aebfa
mov esi, dword [ebp - 0x6f8]
test esi, esi
je 0x4aebfa
movsx edx, word [ebp - 0x728]
movsx ecx, word [ecx + 4]
movsx eax, word [esi + 4]
add ecx, edx
cmp ecx, eax
jle 0x4aebfa
nop dword [eax]
movsx ecx, word [esi + 6]
movsx eax, word [esi + 4]
add ecx, eax
cmp ecx, edx
jg 0x4aebf4
mov esi, dword [esi]
test esi, esi
jne 0x4aebe0
mov dword [ebp - 0x6f8], esi
cmp word [ebp - 0x76c], 0x40
jne 0x4af868
mov edx, dword [ebp - 0x734]
mov esi, dword [ebp - 0x714]
mov cl, byte [ebp - 0x6e2]
movzx eax, di
mov dword [ebp - 0x700], eax
movzx eax, di
mov dword [ebp - 0x764], eax
movzx eax, dx
mov dword [ebp - 0x7e4], eax
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x720], esi
mov dword [ebp - 0x7f0], esi
mov eax, dword [eax]
mov dword [ebp - 0x778], eax
test al, 0x20
jne 0x4af363
mov ecx, eax
and ecx, 0x40
cmp byte [ebp - 0x6e2], 0
je 0x4aef6d
test ecx, ecx
jne 0x4aeea1
mov esi, eax
and esi, 0x40000
je 0x4aec9a
mov eax, dword [ebp - 0x6dc]
movzx eax, word [eax + 8]
mov edx, eax
test eax, 0x400
je 0x4aeea1
mov eax, dword [ebp - 0x778]
jmp 0x4aeca4
mov ecx, dword [ebp - 0x6dc]
movzx edx, word [ecx + 8]
movzx ecx, dx
and eax, 0x80
jne 0x4aedd3
test esi, esi
je 0x4aecc2
test ecx, 0x400
jne 0x4aedd3
cmp byte [ebp - 0x73d], 0
mov eax, dword [ebp - 0x738]
mov edi, dword [eax + 8]
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x778], edi
je 0x4aed0e
movd xmm0, dword [ebp - 0x71c]
mov esi, edi
cvtdq2pd xmm0, xmm0
mov ecx, dword [eax]
mov dword [ebp - 0x758], ecx
divsd xmm0, qword [ebp - 0x958]
cvttsd2si eax, xmm0
sub esi, eax
sub esi, ecx
sub esi, dword [ebp - 0x760]
jmp 0x4aed48
mov eax, dword [eax]
mov dword [ebp - 0x758], eax
mov eax, dword [ebp - 0x760]
sub eax, dword [ebp - 0x754]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x650]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
mov esi, eax
neg esi
sub esi, ecx
sub esi, dword [ebp - 0x758]
sub esi, dword [ebp - 0x754]
add esi, edi
mov eax, dword [ebp - 0x71c]
mov ecx, dword [ebp - 0x738]
cdq
sub eax, edx
mov edx, dword [ebp - 0x6e0]
sar eax, 1
mov ecx, dword [ecx + 4]
neg eax
add edx, eax
mov edi, ecx
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x6e0], edx
mov eax, dword [eax + 4]
sub edi, eax
add edi, edx
sub ecx, eax
mov edx, dword [ebp - 0x778]
sub edx, dword [ebp - 0x758]
sub edx, dword [ebp - 0x7dc]
mov eax, dword [ebp - 0x650]
add ecx, dword [ebp - 0x6e0]
add eax, edx
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x660], edx
mov edx, esi
mov dword [ebp - 0x65c], ecx
mov dword [ebp - 0x7d8], edx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
add eax, ecx
mov dword [ebp - 0x654], eax
jmp 0x4af17b
mov edx, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x73c]
mov esi, dword [edx + 8]
mov ecx, dword [ecx]
test eax, eax
jne 0x4aee14
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
cmp dword [ebp - 0x71c], eax
je 0x4aee06
mulsd xmm0, qword [ebp - 0x8f0]
jmp 0x4aee0e
mulsd xmm0, qword [ebp - 0x8f8]
cvttsd2si eax, xmm0
sub esi, eax
mov edi, dword [edx + 4]
sub esi, ecx
mov eax, dword [ebp - 0x73c]
mov edx, dword [ebp - 0x6dc]
sub esi, dword [ebp - 0x760]
sub edi, dword [eax + 4]
sub edi, dword [ebp - 0x730]
add edi, dword [ebp - 0x6e0]
mov dword [ebp - 0x660], esi
mov dword [ebp - 0x65c], edi
mov eax, dword [edx + 0xc]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xae4]
add eax, edi
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
movd xmm1, eax
mov eax, dword [edx + 0xc]
mov edx, esi
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x7d8], edx
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x658], eax
jmp 0x4af17b
mov edi, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
mov esi, dword [edi + 8]
mov edx, dword [eax]
test ecx, ecx
jne 0x4aeee2
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
cmp dword [ebp - 0x71c], ecx
je 0x4aeed4
mulsd xmm0, qword [ebp - 0x8e0]
jmp 0x4aeedc
mulsd xmm0, qword [ebp - 0x8e8]
cvttsd2si eax, xmm0
sub esi, eax
mov edi, dword [edi + 4]
sub esi, edx
mov ecx, dword [ebp - 0x73c]
mov edx, dword [ebp - 0x6dc]
sub esi, dword [ebp - 0x754]
sub edi, dword [ecx + 4]
sub edi, dword [ebp - 0x730]
add edi, dword [ebp - 0x6e0]
mov dword [ebp - 0x658], esi
mov dword [ebp - 0x65c], edi
mov eax, dword [edx + 0xc]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
mov eax, dword [eax + 0xae4]
add eax, edi
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
movd xmm0, eax
mov eax, dword [edx + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x828]
subsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x7d8], edx
mov dword [ebp - 0x660], edx
jmp 0x4af17b
test ecx, ecx
jne 0x4af0b7
mov esi, eax
and esi, 0x40000
je 0x4aef9e
mov eax, dword [ebp - 0x6dc]
movzx eax, word [eax + 8]
mov edx, eax
test eax, 0x400
je 0x4af0b7
mov eax, dword [ebp - 0x778]
jmp 0x4aefa8
mov ecx, dword [ebp - 0x6dc]
movzx edx, word [ecx + 8]
movzx ecx, dx
and eax, 0x80
jne 0x4aeff4
test esi, esi
je 0x4aefbe
test ecx, 0x400
jne 0x4aeff4
mov edx, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
movups xmm0, xmmword [ebp - 0x670]
mov esi, dword [edx + 8]
sub esi, dword [eax]
mov edi, dword [edx + 4]
sub edi, dword [eax + 4]
sub esi, dword [ebp - 0x7dc]
add edi, dword [ebp - 0x6e0]
movups xmmword [ebp - 0x660], xmm0
jmp 0x4af175
mov edx, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x73c]
mov esi, dword [edx + 8]
mov ecx, dword [ecx]
test eax, eax
jne 0x4af035
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
cmp dword [ebp - 0x71c], eax
je 0x4af027
mulsd xmm0, qword [ebp - 0x8f0]
jmp 0x4af02f
mulsd xmm0, qword [ebp - 0x8f8]
cvttsd2si eax, xmm0
sub esi, eax
mov edi, dword [edx + 4]
sub esi, ecx
mov eax, dword [ebp - 0x73c]
sub esi, dword [ebp - 0x760]
sub edi, dword [eax + 4]
sub edi, dword [ebp - 0x730]
add edi, dword [ebp - 0x6e0]
mov eax, dword [ebp - 0x650]
add eax, edi
mov dword [ebp - 0x660], esi
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x65c], edi
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movd xmm1, eax
mov eax, dword [ebp - 0x6dc]
cvtdq2pd xmm1, xmm1
mov eax, dword [eax + 0xc]
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x658], eax
jmp 0x4af175
mov edi, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
mov esi, dword [edi + 8]
mov edx, dword [eax]
test ecx, ecx
jne 0x4af0f8
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
cmp dword [ebp - 0x71c], ecx
je 0x4af0ea
mulsd xmm0, qword [ebp - 0x8e0]
jmp 0x4af0f2
mulsd xmm0, qword [ebp - 0x8e8]
cvttsd2si eax, xmm0
sub esi, eax
mov edi, dword [edi + 4]
sub esi, edx
mov ecx, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x650]
sub esi, dword [ebp - 0x754]
sub edi, dword [ecx + 4]
sub edi, dword [ebp - 0x730]
add edi, dword [ebp - 0x6e0]
add eax, edi
mov dword [ebp - 0x658], esi
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x65c], edi
movd xmm1, esi
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov eax, dword [ebp - 0x6dc]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xc]
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x828]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x660], eax
mov edx, dword [ebp - 0x7d8]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x718], edi
jne 0x4af2d2
mov edx, dword [ebp - 0x6f8]
test edx, edx
je 0x4af357
mov eax, dword [ebp - 0x724]
movzx edx, word [edx + 4]
mov edi, dword [ebp - 0x718]
mov dword [ebp - 0x758], edx
movzx eax, word [eax + 4]
mov ecx, eax
mov dword [ebp - 0x778], ecx
movzx ecx, dx
mov dword [ebp - 0x7fc], ecx
movsx ecx, ax
movsx eax, word [ebp - 0x728]
add ecx, eax
movsx eax, dx
cmp ecx, eax
jle 0x4af357
mov ecx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x7fc]
movzx ecx, cx
mov dword [ebp - 0x7fc], ecx
mov ecx, dword [ebp - 0x6f8]
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4af293
mov edx, dword [ebp - 0x794]
mov eax, dword [ebp - 0x778]
push dword [ebp - 0x7d0]
movzx ecx, dx
lea edx, [ebp - 0x660]
push dword [ebp - 0x6fc]
add eax, ecx
movzx ecx, ax
mov eax, dword [ebp - 0x6f8]
push edx
mov edx, dword [ebp - 0x758]
movzx eax, word [eax + 6]
add eax, dword [ebp - 0x794]
cmp byte [ebp - 0x6e2], 0
push eax
push edx
push ecx
push dword [ebp - 0x728]
mov ecx, dword [ebp - 0x6ec]
push edi
je 0x4af266
push dword [ebp - 0x7d8]
call fcn.00487090
jmp 0x4af26c
push esi
call fcn.004874d0
mov ecx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x6f8]
mov byte [ebp - 0x6e1], 0
movzx ecx, word [ecx + 4]
movzx eax, word [eax + 4]
mov dword [ebp - 0x7fc], ecx
mov ecx, dword [ebp - 0x6f8]
movsx ecx, word [ecx + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
mov eax, dword [ebp - 0x7fc]
cwde
add eax, edx
cmp eax, ecx
jl 0x4af357
cmp byte [ebp - 0x6e1], 0
mov edx, dword [ebp - 0x6f8]
mov edx, dword [edx]
mov dword [ebp - 0x6f8], edx
jne 0x4af192
jmp 0x4af357
mov eax, dword [ebp - 0x724]
lea ecx, [ebp - 0x670]
movzx eax, word [eax + 4]
add eax, dword [ebp - 0x794]
cmp byte [ebp - 0x6e2], 0
je 0x4af321
push dword [ebp - 0x7d4]
push dword [ebp - 0x7cc]
push ecx
lea ecx, [ebp - 0x660]
push ecx
push dword [ebp - 0x6fc]
mov ecx, dword [ebp - 0x6ec]
push eax
push dword [ebp - 0x728]
push edi
push edx
call fcn.004ed110
jmp 0x4af351
push 0
push dword [ebp - 0x7d4]
push dword [ebp - 0x7cc]
push ecx
lea ecx, [ebp - 0x660]
push ecx
push dword [ebp - 0x6fc]
mov ecx, dword [ebp - 0x6ec]
push eax
push dword [ebp - 0x728]
push edi
push esi
call fcn.004ece90
mov dword [ebp - 0x74c], eax
mov cl, byte [ebp - 0x6e2]
mov edx, dword [ebp - 0x734]
cmp byte [ebp - 0x7be], 0
mov eax, dword [ebp - 0x74c]
mov esi, dword [ebp - 0x6e0]
mov edi, dword [ebp - 0x7d8]
mov ch, byte [ebp - 0x6e1]
mov dword [ebp - 0x718], eax
mov eax, dword [ebp - 0x6f8]
mov dword [ebp - 0x7c4], eax
mov eax, dword [ebp - 0x6e0]
mov dword [ebp - 0x7fc], eax
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x7dc], esi
mov esi, edi
mov dword [ebp - 0x758], esi
mov esi, dword [ebp - 0x74c]
mov eax, dword [eax]
mov dword [ebp - 0x778], esi
je 0x4af52b
test al, 0x20
je 0x4af401
mov edi, dword [ebp - 0x770]
xor eax, eax
cmp ax, dx
jge 0x4af428
mov eax, dword [ebp - 0x734]
lea edx, [ebp - 0x1c]
movzx esi, ax
cmp di, 0x14
jge 0x4af3f7
mov ax, word [edx]
movsx ecx, di
inc edi
mov word [ebp + ecx*2 - 0x44], ax
add edx, 2
sub esi, 1
jne 0x4af3e5
jmp 0x4af428
test cl, cl
jne 0x4af410
test al, 0xc0
jne 0x4af410
test eax, 0x40000
je 0x4af422
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov edi, dword [ebp - 0x770]
cmp word [ebp - 0x76c], 0x40
mov ecx, dword [ebp - 0x7fc]
mov esi, dword [ebp - 0x7e4]
mov dl, byte [ebp - 0x6e1]
mov dh, byte [ebp - 0x6e2]
mov dword [ebp - 0x6e0], ecx
mov ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0x714], ecx
movzx eax, di
mov edi, dword [ebp - 0x6f8]
mov ecx, eax
mov dword [ebp - 0x770], ecx
mov ecx, dword [ebp - 0x778]
mov dword [ebp - 0x74c], ecx
movzx ecx, si
mov esi, dword [ebp - 0x764]
mov dword [ebp - 0x734], ecx
movzx ecx, si
mov esi, dword [ebp - 0x758]
mov dword [ebp - 0x794], ecx
mov ecx, dword [ebp - 0x778]
mov dword [ebp - 0x6f8], edi
mov byte [ebp - 0x6e1], dl
mov byte [ebp - 0x6e2], dh
mov dword [ebp - 0x7d8], esi
jne 0x4afc02
mov esi, dword [ebp - 0x7fc]
mov dword [ebp - 0x6f8], edi
mov edi, eax
mov eax, dword [ebp - 0x7e4]
mov dword [ebp - 0x770], edi
mov edi, dword [ebp - 0x6d8]
mov dword [ebp - 0x74c], ecx
movzx ecx, ax
mov eax, dword [ebp - 0x764]
test byte [edi], 0x20
mov dword [ebp - 0x6e0], esi
mov esi, dword [ebp - 0x7f0]
mov byte [ebp - 0x6e1], dl
mov dl, dh
mov dword [ebp - 0x714], esi
mov esi, dword [ebp - 0x758]
movzx eax, ax
mov byte [ebp - 0x6e2], dl
mov dword [ebp - 0x794], eax
mov dword [ebp - 0x7d8], esi
jne 0x4b03d9
jmp 0x4afc14
mov ecx, eax
and ecx, 0x20
cmp byte [ebp - 0x771], 0
je 0x4af64d
cmp word [ebp - 0x680], 3
jne 0x4af5cc
test ecx, ecx
je 0x4af5b4
xor eax, eax
cmp ax, dx
jge 0x4afe58
movsx eax, word [ebp - 0x6cc]
mov ecx, dword [ebp - 0x770]
lea edi, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
shl edi, 5
add edi, eax
mov eax, dword [ebp - 0x734]
xor edx, edx
movzx esi, ax
cmp cx, 0x14
jge 0x4af5a7
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 - 0x770]
inc ecx
mov dword [ebp - 0x770], ecx
add edx, 2
sub esi, 1
jne 0x4af581
jmp 0x4afe58
test al, 0xc0
jne 0x4afe32
test eax, 0x40000
je 0x4afe58
jmp 0x4afe32
test ecx, ecx
je 0x4af635
xor eax, eax
cmp ax, dx
jge 0x4afe44
movsx eax, word [ebp - 0x6cc]
mov ecx, dword [ebp - 0x770]
lea edi, [eax + eax*2]
movsx eax, word [ebp - 0x6d0]
shl edi, 5
add edi, eax
mov eax, dword [ebp - 0x734]
xor edx, edx
movzx esi, ax
cmp cx, 0x14
jge 0x4af628
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 - 0x770]
inc ecx
mov dword [ebp - 0x770], ecx
add edx, 2
sub esi, 1
jne 0x4af602
jmp 0x4afe44
test al, 0xc0
jne 0x4afe32
test eax, 0x40000
je 0x4afe44
jmp 0x4afe32
test dx, dx
jle 0x4af6e4
test ecx, ecx
je 0x4af6a4
mov eax, dword [ebp - 0x744]
xor edx, edx
mov ecx, dword [ebp - 0x770]
movsx edi, ax
mov eax, dword [ebp - 0x734]
movzx esi, ax
cmp cx, 0x14
jge 0x4af69a
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 - 0x770]
inc ecx
mov dword [ebp - 0x770], ecx
add edx, 2
sub esi, 1
jne 0x4af674
jmp 0x4af6c1
test al, 0xc0
jne 0x4af6af
test eax, 0x40000
je 0x4af6c1
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
cmp word [ebp - 0x76c], 0x40
jne 0x4b016b
mov eax, dword [ebp - 0x6d8]
mov eax, dword [eax]
test al, 0x20
jne 0x4b03d9
jmp 0x4b0173
mov esi, dword [ebp - 0x770]
test ecx, ecx
je 0x4af719
cmp si, 0x14
jge 0x4af719
mov eax, dword [ebp - 0x744]
mov ecx, dword [ebp - 0x860]
cwde
movsx edx, cx
movsx ecx, si
inc esi
mov eax, dword [eax*4 + 0x59d2a0]
mov ax, word [eax + edx*2 - 2]
mov word [ebp + ecx*2 - 0x44], ax
push dword [ebp - 0x714]
movzx esi, si
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
cmp word [ebp - 0x76c], 0x40
mov ecx, dword [ebp - 0x720]
mov eax, dword [ebp - 0x7dc]
mov edx, dword [ebp - 0x7c4]
mov dword [ebp - 0x714], ecx
mov ecx, esi
mov dword [ebp - 0x770], ecx
mov ecx, dword [ebp - 0x718]
mov dword [ebp - 0x74c], ecx
mov ecx, dword [ebp - 0x700]
movzx ecx, cx
mov dword [ebp - 0x6e0], eax
mov al, byte [ebp - 0x6e1]
mov dword [ebp - 0x794], ecx
mov ecx, dword [ebp - 0x718]
mov dword [ebp - 0x6f8], edx
mov byte [ebp - 0x6e1], al
mov dword [ebp - 0x7d8], edi
jne 0x4b0379
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x6e0], edx
mov edx, dword [ebp - 0x7c4]
mov byte [ebp - 0x6e1], al
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x6f8], edx
mov edx, dword [ebp - 0x6d8]
mov dword [ebp - 0x714], eax
mov eax, esi
mov dword [ebp - 0x74c], ecx
mov ecx, dword [ebp - 0x700]
mov edx, dword [edx]
movzx esi, ax
movzx ecx, cx
mov dword [ebp - 0x770], esi
mov esi, ecx
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x7d8], edi
mov dword [ebp - 0x794], esi
test dl, 0x20
jne 0x4b03d9
mov al, byte [ebp - 0x6e1]
mov esi, dword [ebp - 0x6e0]
mov edi, dword [ebp - 0x6f8]
mov byte [ebp - 0x6e1], al
mov eax, dword [ebp - 0x714]
mov dword [ebp - 0x714], eax
mov eax, dword [ebp - 0x720]
movzx eax, ax
mov dword [ebp - 0x770], eax
mov eax, dword [ebp - 0x74c]
mov dword [ebp - 0x74c], eax
mov eax, ecx
mov dword [ebp - 0x794], eax
mov eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x6e0], esi
mov dword [ebp - 0x6f8], edi
mov dword [ebp - 0x7d8], eax
jmp 0x4b0387
mov eax, dword [ebp - 0x6d8]
mov edx, dword [eax]
mov esi, edx
and esi, 0x40
jne 0x4af894
mov eax, dword [ebp - 0x6dc]
mov edi, edx
and edi, 0x40000
je 0x4af8c9
movzx eax, word [eax + 8]
mov ecx, eax
test eax, 0x400
jne 0x4af8cd
mov edi, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
mov ecx, dword [edi]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0x730]
add ecx, dword [ebp - 0x6e0]
test esi, esi
mov esi, dword [edi + 4]
mov dword [ebp - 0x758], ecx
je 0x4af9d8
sub esi, dword [eax + 4]
jmp 0x4afa0a
movzx ecx, word [eax + 8]
movzx eax, cx
and edx, 0x80
jne 0x4af91e
test edi, edi
je 0x4af8e3
test eax, 0x400
jne 0x4af91e
mov edi, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
movups xmm0, xmmword [ebp - 0x670]
mov ecx, dword [edi]
sub ecx, dword [eax]
mov esi, dword [edi + 4]
add ecx, dword [ebp - 0x6e0]
sub esi, dword [eax + 4]
add esi, dword [ebp - 0x7dc]
mov dword [ebp - 0x758], ecx
movups xmmword [ebp - 0x660], xmm0
jmp 0x4afa6d
mov edi, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
mov ecx, dword [edi]
sub ecx, dword [eax]
sub ecx, dword [ebp - 0x730]
add ecx, dword [ebp - 0x6e0]
mov esi, dword [edi + 4]
mov dword [ebp - 0x758], ecx
test edx, edx
je 0x4af94c
sub esi, dword [eax + 4]
jmp 0x4af97e
cmp dword [ebp - 0x71c], 0
movd xmm0, dword [ebp - 0x75c]
mov edx, dword [eax + 4]
cvtdq2pd xmm0, xmm0
je 0x4af96e
mulsd xmm0, qword [ebp - 0x8e0]
jmp 0x4af976
mulsd xmm0, qword [ebp - 0x8e8]
cvttsd2si eax, xmm0
sub esi, eax
sub esi, edx
add esi, dword [ebp - 0x760]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x654], esi
movd xmm1, esi
movd xmm0, eax
mov eax, dword [ebp - 0x6dc]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0xc]
cvtdq2pd xmm1, xmm1
mulsd xmm0, qword [eax + 0xad0]
divsd xmm0, qword [ebp - 0x828]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x65c], eax
jmp 0x4afa5f
cmp dword [ebp - 0x71c], 0
movd xmm0, dword [ebp - 0x75c]
mov edx, dword [eax + 4]
cvtdq2pd xmm0, xmm0
je 0x4af9fa
mulsd xmm0, qword [ebp - 0x8f0]
jmp 0x4afa02
mulsd xmm0, qword [ebp - 0x8f8]
cvttsd2si eax, xmm0
sub esi, eax
sub esi, edx
add esi, dword [ebp - 0x754]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x65c], esi
movd xmm0, esi
movd xmm1, eax
mov eax, dword [ebp - 0x6dc]
cvtdq2pd xmm1, xmm1
mov eax, dword [eax + 0xc]
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [eax + 0xad0]
divsd xmm1, qword [ebp - 0x828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x650]
add eax, ecx
mov dword [ebp - 0x658], eax
cmp word [ebx + 0x48], 0
jne 0x4afb85
mov edi, dword [ebp - 0x6f8]
nop
test edi, edi
je 0x4afbd5
mov eax, dword [ebp - 0x724]
movzx edi, word [edi + 4]
movzx edx, word [eax + 4]
movzx eax, dx
mov dword [ebp - 0x764], eax
mov eax, edi
mov dword [ebp - 0x720], eax
movsx eax, word [ebp - 0x728]
movsx ecx, dx
add ecx, eax
mov dword [ebp - 0x700], edx
movsx eax, di
cmp ecx, eax
jle 0x4afbd5
mov ecx, dword [ebp - 0x764]
mov eax, edi
movzx ecx, cx
mov dword [ebp - 0x700], ecx
mov ecx, dword [ebp - 0x6f8]
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4afb47
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
mov ax, word [ecx + 6]
mov ecx, dword [ebp - 0x794]
add ax, cx
movzx eax, ax
push eax
push edi
lea eax, [edx + ecx]
mov ecx, dword [ebp - 0x6ec]
push eax
push dword [ebp - 0x728]
push esi
push dword [ebp - 0x758]
call fcn.00487090
mov ecx, dword [ebp - 0x724]
mov edi, dword [ebp - 0x6f8]
mov byte [ebp - 0x6e1], 0
movzx ecx, word [ecx + 4]
movzx eax, word [edi + 4]
mov dword [ebp - 0x700], ecx
jmp 0x4afb4d
mov edi, dword [ebp - 0x6f8]
movsx ecx, word [edi + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
mov eax, dword [ebp - 0x700]
cwde
add eax, edx
mov dword [ebp - 0x720], ecx
cmp eax, ecx
jl 0x4afbd5
cmp byte [ebp - 0x6e1], 0
mov edi, dword [edi]
mov dword [ebp - 0x6f8], edi
jne 0x4afa80
jmp 0x4afbd5
push 0
push dword [ebp - 0x7d4]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
mov eax, dword [ebp - 0x724]
push dword [ebp - 0x6fc]
mov ax, word [eax + 4]
add ax, word [ebp - 0x794]
movzx eax, ax
push eax
push dword [ebp - 0x728]
push esi
push ecx
mov ecx, dword [ebp - 0x6ec]
call fcn.004ecc10
mov dword [ebp - 0x74c], eax
cmp byte [ebp - 0x7be], 0
je 0x4afe04
mov ecx, dword [ebp - 0x6d8]
test dword [ecx], 0x400c0
je 0x4afc02
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov ecx, dword [ebp - 0x734]
mov dl, byte [ebp - 0x6e2]
mov edi, dword [ebp - 0x6d8]
mov edi, dword [edi]
and edi, 0x400c0
mov dword [ebp - 0x764], edi
je 0x4afc5c
test dl, dl
jne 0x4afc41
mov eax, dword [ebp - 0x730]
cmp eax, dword [ebp - 0x650]
jl 0x4afc5c
mov byte [ebp - 0x771], dl
jmp 0x4b5dd7
mov eax, dword [ebp - 0x6dc]
mov esi, dword [ebp - 0x730]
mov eax, dword [eax + 0xc]
cmp esi, dword [eax + 0xae4]
jge 0x4b03d9
xor eax, eax
cmp ax, cx
jge 0x4afd88
mov eax, dword [ebp - 0x6fc]
mov edi, dword [ebp - 0x6f8]
movzx esi, cx
nop word [eax + eax]
cmp byte [ebp - 0x6e2], 0
mov ecx, dword [ebp - 0x7d8]
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x7d8], ecx
mov ecx, dword [ebp - 0x794]
movzx ecx, cx
mov dword [ebp - 0x700], ecx
mov ecx, dword [ebp - 0x74c]
mov dword [ebp - 0x74c], ecx
mov ecx, dword [ebp - 0x714]
mov dword [ebp - 0x714], ecx
mov cl, byte [ebp - 0x6e1]
mov byte [ebp - 0x6e1], cl
mov ecx, dword [ebp - 0x700]
movzx edx, dx
jne 0x4afceb
mov ecx, dword [ebp - 0x6e0]
add ecx, dword [eax]
mov dword [ebp - 0x6e0], ecx
mov ecx, dword [ebp - 0x700]
movzx ecx, cx
add eax, 4
mov dword [ebp - 0x700], ecx
mov cl, byte [ebp - 0x6e2]
mov byte [ebp - 0x6e2], cl
mov ecx, edx
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x770], ecx
mov ecx, dword [ebp - 0x700]
movzx eax, cx
mov dword [ebp - 0x794], eax
mov eax, dword [ebp - 0x720]
sub esi, 1
jne 0x4afc80
mov al, byte [ebp - 0x6e1]
mov byte [ebp - 0x6e1], al
mov eax, dword [ebp - 0x714]
mov dword [ebp - 0x714], eax
mov eax, edx
mov dl, byte [ebp - 0x6e2]
mov dword [ebp - 0x770], eax
mov eax, dword [ebp - 0x74c]
mov dword [ebp - 0x74c], eax
movzx eax, cx
mov dword [ebp - 0x794], eax
mov eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x6f8], edi
mov edi, dword [ebp - 0x764]
mov byte [ebp - 0x6e2], dl
mov dword [ebp - 0x7d8], eax
mov eax, dword [ebp - 0x6dc]
test dl, dl
je 0x4afdd2
mov ecx, dword [eax + 0xc]
test edi, edi
jne 0x4afdc0
mov eax, dword [ebp - 0x71c]
mov ecx, dword [ecx + 0xae0]
cdq
sub eax, edx
mov dl, byte [ebp - 0x6e2]
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x6dc]
add dword [ebp - 0x6e0], ecx
jmp 0x4afdd2
mov esi, dword [ebp - 0x6e0]
add esi, dword [ecx + 0xae4]
mov dword [ebp - 0x6e0], esi
mov ecx, dword [ebp - 0x6d8]
test byte [ecx], 0xc0
je 0x4b03d9
test dl, dl
je 0x4b034f
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x771], 0
mov eax, dword [eax + 0xae4]
mov dword [ebp - 0x730], eax
jmp 0x4b5dd7
cmp byte [ebp - 0x771], 0
je 0x4b0146
mov ecx, dword [ebp - 0x6d8]
mov eax, dword [ecx]
and eax, 0x400c0
cmp word [ebp - 0x680], 3
jne 0x4afe2e
test eax, eax
je 0x4afe81
jmp 0x4afe32
test eax, eax
je 0x4afe4a
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov ecx, dword [ebp - 0x6d8]
cmp word [ebp - 0x680], 3
jne 0x4b006b
cmp word [ebp - 0x76c], 0x40
jne 0x4afe7b
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
mov dword [ebp - 0x720], ecx
test cl, 0x20
jne 0x4b03d9
jmp 0x4afe89
mov ecx, dword [ebp - 0x6d8]
mov ecx, dword [ecx]
mov dword [ebp - 0x720], ecx
mov al, byte [ebp - 0x6e2]
mov edi, ecx
and edi, 0x400c0
mov dword [ebp - 0x7e4], edi
je 0x4afed7
mov edx, dword [ebp - 0x730]
test al, al
jne 0x4afebc
cmp edx, dword [ebp - 0x650]
jl 0x4afed7
mov byte [ebp - 0x771], al
jmp 0x4b5dd7
mov esi, dword [ebp - 0x6dc]
mov eax, dword [esi + 0xc]
cmp edx, dword [eax + 0xae4]
jge 0x4b03d9
mov al, byte [ebp - 0x6e2]
mov edx, dword [ebp - 0x734]
xor esi, esi
cmp si, dx
jge 0x4b000e
mov eax, dword [ebp - 0x6fc]
mov edi, dword [ebp - 0x6f8]
movzx esi, dx
nop word [eax + eax]
cmp byte [ebp - 0x6e2], 0
mov ecx, dword [ebp - 0x7d8]
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x7d8], ecx
mov ecx, dword [ebp - 0x794]
movzx ecx, cx
mov dword [ebp - 0x700], ecx
mov ecx, dword [ebp - 0x74c]
mov dword [ebp - 0x74c], ecx
mov ecx, dword [ebp - 0x714]
mov dword [ebp - 0x714], ecx
mov cl, byte [ebp - 0x6e1]
mov byte [ebp - 0x6e1], cl
mov ecx, dword [ebp - 0x700]
movzx edx, dx
jne 0x4aff6b
mov ecx, dword [ebp - 0x6e0]
add ecx, dword [eax]
mov dword [ebp - 0x6e0], ecx
mov ecx, dword [ebp - 0x700]
movzx ecx, cx
add eax, 4
mov dword [ebp - 0x700], ecx
mov cl, byte [ebp - 0x6e2]
mov byte [ebp - 0x6e2], cl
mov ecx, edx
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x770], ecx
mov ecx, dword [ebp - 0x700]
movzx eax, cx
mov dword [ebp - 0x794], eax
mov eax, dword [ebp - 0x764]
sub esi, 1
jne 0x4aff00
mov al, byte [ebp - 0x6e1]
mov byte [ebp - 0x6e1], al
mov eax, dword [ebp - 0x714]
mov dword [ebp - 0x714], eax
mov eax, edx
mov edx, dword [ebp - 0x74c]
movzx ecx, cx
mov dword [ebp - 0x794], ecx
mov ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x770], eax
mov al, byte [ebp - 0x6e2]
mov dword [ebp - 0x6f8], edi
mov edi, dword [ebp - 0x7e4]
mov dword [ebp - 0x7d8], ecx
mov ecx, dword [ebp - 0x720]
mov byte [ebp - 0x6e2], al
mov dword [ebp - 0x74c], edx
mov esi, dword [ebp - 0x6dc]
test al, al
je 0x4b003f
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x6e0]
test edi, edi
jne 0x4b002d
add edx, dword [eax + 0xae0]
jmp 0x4b0033
add edx, dword [eax + 0xae4]
mov al, byte [ebp - 0x6e2]
mov dword [ebp - 0x6e0], edx
test cl, 0xc0
je 0x4b03d9
test al, al
je 0x4b034f
mov eax, dword [esi + 0xc]
mov byte [ebp - 0x771], 0
mov eax, dword [eax + 0xae4]
mov dword [ebp - 0x730], eax
jmp 0x4b5dd7
cmp word [ebp - 0x76c], 0x40
mov ecx, dword [ecx]
mov dword [ebp - 0x700], ecx
jne 0x4b0086
test cl, 0x20
jne 0x4b03d9
mov edx, ecx
and edx, 0x400c0
mov dword [ebp - 0x720], edx
je 0x4b00d4
cmp byte [ebp - 0x6e2], 0
jne 0x4b00b9
mov eax, dword [ebp - 0x730]
cmp eax, dword [ebp - 0x650]
jl 0x4b00d4
mov byte [ebp - 0x771], 0
jmp 0x4b5dd7
mov eax, dword [ebp - 0x6dc]
mov esi, dword [ebp - 0x730]
mov eax, dword [eax + 0xc]
cmp esi, dword [eax + 0xae4]
jge 0x4b03d9
mov esi, dword [ebp - 0x734]
xor eax, eax
cmp ax, si
jge 0x4b0116
mov eax, dword [ebp - 0x6fc]
mov dl, byte [ebp - 0x6e2]
movzx ecx, si
test dl, dl
jne 0x4b0102
mov esi, dword [ebp - 0x6e0]
add esi, dword [eax]
mov dword [ebp - 0x6e0], esi
add eax, 4
sub ecx, 1
jne 0x4b00f0
mov edx, dword [ebp - 0x720]
mov ecx, dword [ebp - 0x700]
mov al, byte [ebp - 0x6e2]
mov esi, dword [ebp - 0x6dc]
test al, al
je 0x4b003f
mov eax, dword [esi + 0xc]
test edx, edx
mov edx, dword [ebp - 0x6e0]
jne 0x4b002d
add edx, dword [eax + 0xae0]
jmp 0x4b0033
cmp word [ebp - 0x734], 0
jle 0x4b0367
mov eax, dword [ebp - 0x714]
test eax, eax
je 0x4b016b
push eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x6d8]
mov eax, dword [eax]
mov edi, eax
and edi, 0x400c0
mov dword [ebp - 0x720], edi
je 0x4b01d0
cmp byte [ebp - 0x6e2], 0
jne 0x4b01a6
mov eax, dword [ebp - 0x730]
cmp eax, dword [ebp - 0x650]
jl 0x4b01d0
mov byte [ebp - 0x771], 0
jmp 0x4b5dd7
mov esi, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x730]
mov eax, dword [esi + 0xc]
cmp ecx, dword [eax + 0xae4]
jge 0x4b03d9
xor eax, eax
cmp ax, word [ebp - 0x734]
jge 0x4b0302
mov ecx, dword [ebp - 0x734]
mov eax, dword [ebp - 0x6fc]
mov edi, dword [ebp - 0x6f8]
movzx esi, cx
nop word [eax + eax]
cmp byte [ebp - 0x6e2], 0
mov ecx, dword [ebp - 0x7d8]
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x7d8], ecx
mov ecx, dword [ebp - 0x794]
movzx ecx, cx
mov dword [ebp - 0x700], ecx
mov ecx, dword [ebp - 0x74c]
mov dword [ebp - 0x74c], ecx
mov ecx, dword [ebp - 0x714]
mov dword [ebp - 0x714], ecx
mov cl, byte [ebp - 0x6e1]
mov byte [ebp - 0x6e1], cl
mov ecx, dword [ebp - 0x700]
movzx edx, dx
mov dword [ebp - 0x6f8], edi
jne 0x4b0261
mov ecx, dword [ebp - 0x6e0]
add ecx, dword [eax]
mov dword [ebp - 0x6e0], ecx
mov ecx, dword [ebp - 0x700]
movzx ecx, cx
add eax, 4
mov dword [ebp - 0x700], ecx
mov cl, byte [ebp - 0x6e2]
mov byte [ebp - 0x6e2], cl
mov ecx, edx
mov dword [ebp - 0x770], ecx
mov ecx, dword [ebp - 0x700]
movzx edi, cx
mov dword [ebp - 0x794], edi
mov edi, dword [ebp - 0x6f8]
sub esi, 1
jne 0x4b01f0
mov al, byte [ebp - 0x6e1]
mov esi, dword [ebp - 0x6dc]
mov byte [ebp - 0x6e1], al
mov eax, dword [ebp - 0x714]
mov dword [ebp - 0x714], eax
mov eax, edx
mov edx, dword [ebp - 0x74c]
movzx ecx, cx
mov dword [ebp - 0x770], eax
mov al, byte [ebp - 0x6e2]
mov dword [ebp - 0x794], ecx
mov ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x6f8], edi
mov edi, dword [ebp - 0x720]
mov byte [ebp - 0x6e2], al
mov dword [ebp - 0x74c], edx
mov dword [ebp - 0x7d8], ecx
test al, al
je 0x4b0341
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x6e0]
test edi, edi
jne 0x4b032f
add ecx, dword [eax + 0xae0]
mov al, byte [ebp - 0x6e2]
mov dword [ebp - 0x6e0], ecx
mov ecx, dword [ebp - 0x6d8]
test byte [ecx], 0xc0
jmp 0x4b0042
add ecx, dword [eax + 0xae4]
mov al, byte [ebp - 0x6e2]
mov dword [ebp - 0x6e0], ecx
mov ecx, dword [ebp - 0x6d8]
test byte [ecx], 0xc0
jmp 0x4b0042
mov eax, dword [ebp - 0x650]
mov dword [ebp - 0x730], eax
mov byte [ebp - 0x771], 0
jmp 0x4b5dd7
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x6d8]
mov esi, dword [ebp - 0x6e0]
mov edx, dword [eax]
test edx, 0x400c0
je 0x4b039d
mov eax, dword [ebp - 0x730]
cmp eax, dword [ebp - 0x650]
jge 0x4b03d9
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [ebp - 0x650]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add eax, ecx
add esi, eax
mov dword [ebp - 0x6e0], esi
test dl, 0xc0
je 0x4b03d9
mov dword [ebp - 0x730], ecx
mov byte [ebp - 0x771], 0
jmp 0x4b5dd7
mov esi, dword [ebp - 0x724]
test esi, esi
je 0x4b1369
cmp word [ebp - 0x76c], 0x40
jne 0x4b0aad
cmp di, 0xa
jl 0x4b0aad
mov ecx, 0xff3b
cmp dx, cx
mov ecx, dword [ebp - 0x704]
jne 0x4b0aad
mov esi, 0xff03
cmp word [ecx + 2], si
mov esi, dword [ebp - 0x724]
jne 0x4b0aad
mov edi, 0x300c
cmp word [eax], di
mov edi, dword [ebp - 0x6e8]
jne 0x4b0aad
movsx edi, di
mov edx, 0x300d
cmp word [ecx + edi*2 - 0xc], dx
movzx edx, word [ecx]
jne 0x4b0aa7
mov esi, 0x306f
cmp word [ecx + edi*2 - 0xa], si
mov esi, dword [ebp - 0x724]
jne 0x4b0aa7
mov esi, 0x7e26
cmp word [ecx + edi*2 - 8], si
mov esi, dword [ebp - 0x724]
jne 0x4b0aa7
mov edx, 0x4e2d
cmp word [ecx + edi*2 - 6], dx
movzx edx, word [ecx]
jne 0x4b0aa7
mov esi, 0x6a2a
cmp word [ecx + edi*2 - 4], si
mov esi, dword [ebp - 0x724]
jne 0x4b0aa7
mov edx, 0xff3d
cmp word [ecx + edi*2 - 2], dx
movzx edx, word [ecx]
jne 0x4b0aa7
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
test cl, 0xc0
jne 0x4b0588
mov eax, ecx
and eax, 0xa00
cmp eax, 0xa00
jne 0x4b0503
mov eax, dword [ebp - 0x6dc]
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 0x2bc]
jmp 0x4b0597
mov eax, ecx
and eax, 0x1200
cmp eax, 0x1200
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
jne 0x4b052c
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
push dword [eax + ecx*4 + 0x30c]
jmp 0x4b0597
test ecx, 0x800
je 0x4b0546
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
push dword [eax + ecx*4 + 0x26c]
jmp 0x4b0597
test ecx, 0x1000
je 0x4b0560
shr ecx, 0x1c
mov dword [ebp - 0x748], ecx
push dword [eax + ecx*4 + 0x294]
jmp 0x4b0597
test ecx, 0x200
je 0x4b0570
push dword [eax + 0x1d8]
jmp 0x4b0597
test ecx, 0x400
je 0x4b0580
push dword [eax + 0x1dc]
jmp 0x4b0597
push dword [eax + 0x1c8]
jmp 0x4b0597
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1d4]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov esi, dword [ebp - 0x72c]
add edi, 0xfffffff7
mov dword [ebp - 0x714], eax
lea eax, [ebp - 0x650]
push eax
push esi
push 0
push 0
push edi
push dword [ebp - 0x7e8]
mov dword [ebp - 0x700], edi
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x6fc]
mov edx, 1
mov eax, dword [esi]
lea esi, [edi - 1]
mov dword [ecx], eax
cmp edi, edx
jle 0x4b06e5
cmp esi, 0x10
jb 0x4b06e5
movsx eax, si
shl eax, 2
add ecx, eax
mov dword [ebp - 0x720], ecx
mov ecx, dword [ebp - 0x72c]
add ecx, eax
mov eax, dword [ebp - 0x6fc]
add eax, 4
cmp eax, ecx
ja 0x4b062f
mov eax, dword [ebp - 0x72c]
cmp dword [ebp - 0x720], eax
jae 0x4b06eb
and esi, 0x8000000f
jns 0x4b063c
dec esi
or esi, 0xfffffff0
inc esi
sub edi, esi
mov eax, edx
mov dword [ebp - 0x764], edi
mov esi, 9
nop dword [eax + eax]
mov edi, dword [ebp - 0x72c]
add edx, 0x10
movzx ecx, si
mov dword [ebp - 0x720], ecx
movups xmm0, xmmword [edi + eax*4 - 4]
movups xmm1, xmmword [edi + eax*4]
mov edi, dword [ebp - 0x6fc]
psubd xmm1, xmm0
movups xmmword [edi + eax*4], xmm1
movsx eax, cx
mov ecx, dword [ebp - 0x72c]
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 - 0x720]
psubd xmm1, xmm0
movups xmmword [edi + eax*4], xmm1
movsx eax, cx
mov ecx, dword [ebp - 0x72c]
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 - 0x764]
jl 0x4b0650
mov edi, dword [ebp - 0x700]
mov eax, dword [ebp - 0x72c]
movsx ecx, dx
cmp ecx, edi
jge 0x4b0722
mov esi, dword [ebp - 0x6fc]
jmp 0x4b0706
mov eax, dword [ebp - 0x72c]
mov edi, dword [ebp - 0x72c]
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 - 0x700]
jl 0x4b0700
mov eax, dword [ebp - 0x6d8]
mov eax, dword [eax]
mov dword [ebp - 0x700], eax
test al, 0x40
je 0x4b074b
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0xb8c]
add eax, dword [ecx + 0xb88]
jmp 0x4b0794
test al, al
jns 0x4b0788
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0xb8c]
add eax, dword [ecx + 0xb88]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x650]
cdq
sub eax, edx
sar esi, 1
mov edx, dword [ebp - 0x73c]
sar eax, 1
sub esi, eax
sub esi, dword [edx]
sub esi, dword [ebp - 0x760]
jmp 0x4b07ba
mov eax, dword [ebp - 0x760]
sub eax, dword [ebp - 0x754]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x650]
cdq
sub eax, edx
sar ecx, 1
mov edx, dword [ebp - 0x73c]
sar eax, 1
mov esi, eax
neg esi
sub esi, ecx
sub esi, dword [edx]
sub esi, dword [ebp - 0x754]
mov eax, dword [ebp - 0x738]
mov ecx, dword [eax + 4]
add esi, dword [eax + 8]
sub ecx, dword [edx + 4]
add ecx, dword [ebp - 0x6e0]
mov eax, dword [ebp - 0x6dc]
mov edx, dword [ebp - 0x700]
mov dword [ebp - 0x65c], ecx
mov dword [ebp - 0x758], ecx
mov edi, dword [eax + 0xc]
test dl, 0xc0
jne 0x4b085f
mov eax, edx
and eax, 0xa00
cmp eax, 0xa00
jne 0x4b080c
mov eax, dword [ebp - 0x748]
mov eax, dword [edi + eax*4 + 0xae8]
jmp 0x4b0865
mov eax, edx
and eax, 0x1200
cmp eax, 0x1200
jne 0x4b0829
mov eax, dword [ebp - 0x748]
mov eax, dword [edi + eax*4 + 0xb60]
jmp 0x4b0865
test edx, 0x800
je 0x4b0840
mov eax, dword [ebp - 0x748]
mov eax, dword [edi + eax*4 + 0xb10]
jmp 0x4b0865
test edx, 0x1000
je 0x4b0857
mov eax, dword [ebp - 0x748]
mov eax, dword [edi + eax*4 + 0xb38]
jmp 0x4b0865
mov eax, dword [edi + 0xae0]
jmp 0x4b0865
mov eax, dword [edi + 0xae4]
add eax, ecx
mov dword [ebp - 0x660], esi
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x650]
add eax, esi
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x658], eax
jne 0x4b097e
mov edi, dword [ebp - 0x6f8]
test edi, edi
je 0x4b09c2
mov eax, dword [ebp - 0x724]
movzx edi, word [edi + 4]
mov ecx, edi
mov dword [ebp - 0x700], ecx
movzx edx, word [eax + 4]
mov eax, edx
movsx ecx, dx
mov dword [ebp - 0x720], eax
mov ax, word [ebp - 0x728]
cwde
add ecx, eax
movsx eax, di
cmp ecx, eax
jle 0x4b09c2
mov ecx, edx
mov eax, edi
movzx ecx, cx
mov dword [ebp - 0x700], ecx
mov ecx, dword [ebp - 0x6f8]
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4b0940
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp - 0x6ec]
push eax
push edi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x758]
push esi
call fcn.00487090
mov ecx, dword [ebp - 0x724]
mov edi, dword [ebp - 0x6f8]
mov byte [ebp - 0x6e1], 0
movzx ecx, word [ecx + 4]
movzx eax, word [edi + 4]
mov dword [ebp - 0x700], ecx
jmp 0x4b0946
mov edi, dword [ebp - 0x6f8]
movsx ecx, word [edi + 6]
movsx edx, word [ebp - 0x728]
mov edi, dword [ebp - 0x6f8]
cwde
add ecx, eax
mov eax, dword [ebp - 0x700]
cwde
add eax, edx
cmp eax, ecx
jl 0x4b09c2
cmp byte [ebp - 0x6e1], 0
mov edi, dword [edi]
mov dword [ebp - 0x6f8], edi
jne 0x4b0892
jmp 0x4b09c2
push dword [ebp - 0x7d4]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push ecx
mov ecx, dword [ebp - 0x6ec]
push esi
call fcn.004ed110
mov dword [ebp - 0x74c], eax
mov eax, dword [ebp - 0x6dc]
mov esi, dword [ebp - 0x6d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [esi]
movd xmm0, dword [ecx + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
test dl, 0xc0
jne 0x4b0a64
mov eax, edx
and eax, 0xa00
cmp eax, 0xa00
jne 0x4b0a0d
mov edx, dword [ebp - 0x748]
cvttsd2si eax, xmm0
add eax, dword [ecx + edx*4 + 0xae8]
jmp 0x4b0a6e
mov eax, edx
and eax, 0x1200
cmp eax, 0x1200
cvttsd2si eax, xmm0
jne 0x4b0a2e
mov edx, dword [ebp - 0x748]
add eax, dword [ecx + edx*4 + 0xb60]
jmp 0x4b0a6e
test edx, 0x800
je 0x4b0a45
mov edx, dword [ebp - 0x748]
add eax, dword [ecx + edx*4 + 0xb10]
jmp 0x4b0a6e
test edx, 0x1000
je 0x4b0a5c
mov edx, dword [ebp - 0x748]
add eax, dword [ecx + edx*4 + 0xb38]
jmp 0x4b0a6e
add eax, dword [ecx + 0xae0]
jmp 0x4b0a6e
cvttsd2si eax, xmm0
add eax, dword [ecx + 0xae4]
push dword [ebp - 0x714]
add dword [ebp - 0x6e0], eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
movsd xmm3, qword [ebp - 0x710]
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x730], 0
jmp 0x4b5de5
mov edi, dword [ebp - 0x6e8]
cmp di, 9
jl 0x4b0b43
mov edi, 0xff3b
cmp dx, di
mov edi, dword [ebp - 0x6e8]
jne 0x4b0b43
mov esi, 0xff03
cmp word [ecx + 2], si
mov esi, dword [ebp - 0x724]
jne 0x4b0b43
mov edi, 0x300c
cmp word [eax], di
mov edi, dword [ebp - 0x6e8]
jne 0x4b0b43
movsx eax, di
mov edx, 0x300d
cmp word [ecx + eax*2 - 0xa], dx
movzx edx, word [ecx]
jne 0x4b0b43
mov esi, 0x306f
cmp word [ecx + eax*2 - 8], si
mov esi, dword [ebp - 0x724]
jne 0x4b0b43
mov edi, 0x592a
cmp word [ecx + eax*2 - 6], di
mov edi, dword [ebp - 0x6e8]
jne 0x4b0b43
mov edx, 0x5b57
cmp word [ecx + eax*2 - 4], dx
movzx edx, word [ecx]
jne 0x4b0b43
mov esi, 0xff3d
cmp word [ecx + eax*2 - 2], si
mov esi, dword [ebp - 0x724]
je 0x4b0c1b
cmp di, 0xc
jl 0x4b0c65
mov eax, 0xff3b
cmp dx, ax
jne 0x4b0c65
mov eax, 0xff03
cmp word [ecx + 2], ax
lea eax, [ecx + 4]
jne 0x4b0c68
mov esi, 0x300c
cmp word [eax], si
mov esi, dword [ebp - 0x724]
jne 0x4b0c68
movsx eax, di
mov edx, 0x300d
cmp word [ecx + eax*2 - 0x10], dx
movzx edx, word [ecx]
jne 0x4b0c65
mov esi, 0x306f
cmp word [ecx + eax*2 - 0xe], si
mov esi, dword [ebp - 0x724]
jne 0x4b0c65
mov edx, 0x30b4
cmp word [ecx + eax*2 - 0xc], dx
movzx edx, word [ecx]
jne 0x4b0c65
mov edi, 0x30b7
cmp word [ecx + eax*2 - 0xa], di
mov edi, dword [ebp - 0x6e8]
jne 0x4b0c65
mov esi, 0x30c3
cmp word [ecx + eax*2 - 8], si
mov esi, dword [ebp - 0x724]
jne 0x4b0c65
mov edx, 0x30af
cmp word [ecx + eax*2 - 6], dx
movzx edx, word [ecx]
jne 0x4b0c65
mov edi, 0x4f53
cmp word [ecx + eax*2 - 4], di
mov edi, dword [ebp - 0x6e8]
jne 0x4b0c65
mov esi, 0xff3d
cmp word [ecx + eax*2 - 2], si
mov esi, dword [ebp - 0x724]
jne 0x4b0c65
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
mov ecx, dword [ebp - 0x6dc]
mov edi, dword [ebp - 0x6e0]
test byte [esi], 0x20
mov edx, dword [ebp - 0x6ec]
jne 0x4b0c59
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x730], 0
jmp 0x4b5df7
mov byte [ebp - 0x7ea], 1
jmp 0x4b5df7
lea eax, [ecx + 4]
cmp di, 9
jl 0x4b1369
mov esi, 0xff3b
cmp dx, si
mov esi, dword [ebp - 0x724]
jne 0x4b1369
mov edx, 0xff03
cmp word [ecx + 2], dx
movzx edx, word [ecx]
jne 0x4b1369
mov edx, 0x300c
cmp word [eax], dx
movzx edx, word [ecx]
jne 0x4b1369
movsx esi, di
mov eax, 0x300d
cmp word [ecx + esi*2 - 0xa], ax
jne 0x4b1363
mov eax, 0x306f
cmp word [ecx + esi*2 - 8], ax
jne 0x4b1363
mov eax, 0x659c
cmp word [ecx + esi*2 - 6], ax
jne 0x4b1363
mov eax, 0x4f53
cmp word [ecx + esi*2 - 4], ax
jne 0x4b1363
mov eax, 0xff3d
cmp word [ecx + esi*2 - 2], ax
jne 0x4b1363
mov eax, dword [ebp - 0x6d8]
test byte [eax], 0x20
jne 0x4b134d
mov edi, dword [ebp - 0x6dc]
add edi, 0xc
mov dword [ebp - 0x718], edi
mov eax, dword [edi]
push dword [eax + 0x1d0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
add esi, 0xfffffff8
lea eax, [ebp - 0x650]
mov dword [ebp - 0x744], esi
push eax
push dword [ebp - 0x72c]
push 0
push 0
push esi
push dword [ebp - 0x7e8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov eax, dword [edi]
mov edx, 1
movsd xmm1, qword [ebp - 0x710]
mov ecx, dword [ebp - 0x72c]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ecx]
mov ecx, dword [ebp - 0x6fc]
mov dword [ecx], eax
lea ecx, [esi - 1]
cmp esi, edx
jle 0x4b0f1f
cmp ecx, 8
jb 0x4b0f1f
mov eax, dword [edi]
mov esi, dword [ebp - 0x6fc]
add eax, 0xa80
mov dword [ebp - 0x720], eax
movd xmm0, dword [eax]
lea edi, [esi + 4]
movsx eax, cx
shl eax, 2
add esi, eax
pshufd xmm0, xmm0, 0
add eax, dword [ebp - 0x72c]
mov dword [ebp - 0x700], edi
cmp edi, eax
ja 0x4b0deb
cmp esi, dword [ebp - 0x72c]
jae 0x4b0f13
mov eax, dword [ebp - 0x718]
cmp edi, eax
ja 0x4b0dfd
cmp esi, eax
jae 0x4b0f13
mov eax, dword [ebp - 0x720]
cmp edi, eax
ja 0x4b0e0f
cmp esi, eax
jae 0x4b0f13
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x4b0e1c
dec ecx
or ecx, 0xfffffff8
inc ecx
mov edi, dword [ebp - 0x744]
movq xmm0, xmm0
cvtdq2pd xmm0, xmm0
sub edi, ecx
mov eax, edx
mov dword [ebp - 0x720], edi
mov esi, 5
mulpd xmm0, xmmword [ebp - 0x950]
cvttpd2dq xmm2, xmm0
nop word [eax + eax]
mov edi, dword [ebp - 0x72c]
movq xmm1, xmm2
movzx ecx, si
add edx, 8
mov dword [ebp - 0x700], ecx
movq xmm0, qword [edi + eax*4 - 4]
psubd xmm1, xmm0
movq xmm0, qword [edi + eax*4]
mov edi, dword [ebp - 0x6fc]
paddd xmm1, xmm0
movq qword [edi + eax*4], xmm1
movq xmm1, xmm2
movsx eax, cx
mov ecx, dword [ebp - 0x72c]
movq xmm0, qword [ecx + eax*4 - 0xc]
psubd xmm1, xmm0
movq xmm0, qword [ecx + eax*4 - 8]
paddd xmm1, xmm0
movq qword [edi + eax*4 - 8], xmm1
movq xmm1, xmm2
movsx eax, si
add esi, 8
movq xmm0, qword [ecx + eax*4 - 4]
psubd xmm1, xmm0
movq xmm0, qword [ecx + eax*4]
mov ecx, dword [ebp - 0x700]
paddd xmm1, xmm0
movq qword [edi + eax*4], xmm1
movq xmm1, xmm2
movsx eax, cx
mov ecx, dword [ebp - 0x72c]
movq xmm0, qword [ecx + eax*4 + 4]
psubd xmm1, xmm0
movq xmm0, qword [ecx + eax*4 + 8]
mov ecx, edi
paddd xmm1, xmm0
movq qword [ecx + eax*4 + 8], xmm1
movsx eax, dx
cmp eax, dword [ebp - 0x720]
jl 0x4b0e50
movsd xmm1, qword [ebp - 0x710]
mov esi, dword [ebp - 0x744]
mov edi, dword [ebp - 0x718]
movsx ecx, dx
cmp ecx, esi
jge 0x4b0f5e
mov eax, dword [edi]
inc edx
mov esi, dword [ebp - 0x72c]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
sub eax, dword [esi + ecx*4 - 4]
add eax, dword [esi + ecx*4]
mov esi, dword [ebp - 0x6fc]
mov dword [esi + ecx*4], eax
movsx ecx, dx
cmp ecx, dword [ebp - 0x744]
jl 0x4b0f26
cmp word [ebp - 0x76c], 0x40
jne 0x4b1126
mov eax, dword [ebp - 0x738]
mov esi, dword [ebp - 0x73c]
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 - 0x7dc]
sub eax, dword [ebp - 0x754]
mov dword [ebp - 0x720], ecx
mov ecx, dword [ebp - 0x738]
sub edi, dword [ebp - 0x720]
sub edi, dword [ebp - 0x760]
mov dword [ebp - 0x700], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x6e0]
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x744], edx
sub edx, esi
sub dword [ebp - 0x744], esi
add dword [ebp - 0x744], ecx
mov dword [ebp - 0x660], edi
mov eax, dword [eax + 0xc]
sub eax, esi
mov dword [ebp - 0x65c], edx
sub eax, dword [ebp - 0x80c]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x654], eax
jne 0x4b10d7
mov eax, dword [ebp - 0x724]
mov edi, dword [ebp - 0x6f8]
movzx eax, word [eax + 4]
movzx edx, ax
test edi, edi
je 0x4b12cf
mov ax, word [ebp - 0x728]
movzx esi, word [edi + 4]
cwde
mov edi, esi
movsx ecx, dx
add ecx, eax
movsx eax, si
cmp ecx, eax
jle 0x4b12cf
mov eax, edi
mov ecx, edx
mov edi, dword [ebp - 0x6f8]
cmp edi, dword [ebx + 0x20]
jne 0x4b1095
push dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [edi + 6]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x744]
push dword [ebp - 0x700]
call fcn.004874d0
mov ecx, dword [ebp - 0x724]
movzx eax, word [edi + 4]
mov byte [ebp - 0x6e1], 0
movzx ecx, word [ecx + 4]
movsx edx, word [edi + 6]
mov edi, dword [ebp - 0x6f8]
cwde
movzx ecx, cx
add edx, eax
movsx eax, cx
mov esi, ecx
movsx ecx, word [ebp - 0x728]
add eax, ecx
cmp eax, edx
jl 0x4b12cf
cmp byte [ebp - 0x6e1], 0
mov eax, esi
mov edi, dword [edi]
mov dword [ebp - 0x6f8], edi
jne 0x4b1011
jmp 0x4b12cf
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push dword [ebp - 0x744]
push dword [ebp - 0x700]
call fcn.004ece90
jmp 0x4b12c9
mov edx, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x6e0]
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 - 0x720], eax
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x764], edi
mov edi, dword [ebp - 0x7dc]
sub edx, ecx
add edx, dword [ebp - 0x760]
add edi, eax
add eax, dword [ebp - 0x754]
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x654], edx
mov dword [ebp - 0x700], edi
mov edi, dword [ebp - 0x764]
mov eax, dword [eax + 8]
sub eax, esi
mov dword [ebp - 0x660], edi
sub eax, dword [ebp - 0x80c]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x658], eax
jne 0x4b127f
mov eax, dword [ebp - 0x724]
mov edi, dword [ebp - 0x6f8]
movzx eax, word [eax + 4]
nop dword [eax]
movzx edx, ax
test edi, edi
je 0x4b12cf
mov ax, word [ebp - 0x728]
movzx esi, word [edi + 4]
cwde
mov edi, esi
movsx ecx, dx
add ecx, eax
movsx eax, si
cmp ecx, eax
jle 0x4b12cf
mov eax, edi
mov ecx, edx
mov edi, dword [ebp - 0x6f8]
cmp edi, dword [ebx + 0x20]
jne 0x4b1244
push dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [edi + 6]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x700]
push dword [ebp - 0x720]
call fcn.00487090
mov ecx, dword [ebp - 0x724]
movzx eax, word [edi + 4]
mov byte [ebp - 0x6e1], 0
movzx ecx, word [ecx + 4]
movsx edx, word [edi + 6]
mov edi, dword [ebp - 0x6f8]
cwde
movzx ecx, cx
add edx, eax
movsx eax, cx
mov esi, ecx
movsx ecx, word [ebp - 0x728]
add eax, ecx
cmp eax, edx
jl 0x4b12cf
cmp byte [ebp - 0x6e1], 0
mov eax, esi
mov edi, dword [edi]
mov dword [ebp - 0x6f8], edi
jne 0x4b11c0
jmp 0x4b12cf
push 0
push dword [ebp - 0x7d4]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
mov eax, dword [ebp - 0x724]
push dword [ebp - 0x6fc]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push dword [ebp - 0x700]
push dword [ebp - 0x720]
mov ecx, dword [ebp - 0x6ec]
call fcn.004ecc10
mov dword [ebp - 0x74c], eax
mov edx, dword [ebp - 0x724]
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, word [edx + 4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [ebp - 0x710]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x650]
push dword [ebp - 0x714]
mov edi, dword [ebp - 0x6e0]
push dword [ebp - 0x6f0]
add edi, eax
mov dword [ebp - 0x6e0], edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x730], 0
movsd xmm3, qword [ebp - 0x710]
mov esi, dword [ebp - 0x6d8]
jmp 0x4b5deb
movsd xmm3, qword [ebp - 0x710]
mov esi, eax
mov byte [ebp - 0x7e9], 1
jmp 0x4b5de5
mov esi, dword [ebp - 0x724]
cmp word [ebp - 0x76c], 0x40
jne 0x4b1609
cmp di, 2
jne 0x4b1609
movzx eax, word [ecx + 2]
mov ecx, eax
cmp ax, word [ebp - 0x904]
je 0x4b13af
cmp ax, word [ebp - 0x908]
je 0x4b13af
cmp ax, word [ebp - 0x90c]
je 0x4b13af
cmp ax, word [ebp - 0x910]
jne 0x4b1603
mov esi, 2
sub eax, 0x3099
je 0x4b13df
sub eax, 1
je 0x4b13d8
mov eax, ecx
mov ecx, 0x309b
cmp ax, cx
je 0x4b13ee
mov ecx, 0x309c
cmp ax, cx
jne 0x4b13f3
jmp 0x4b13ee
mov ecx, 0x309c
jmp 0x4b13e4
mov ecx, 0x309b
mov eax, dword [ebp - 0x704]
mov word [eax + 2], cx
mov esi, 1
mov eax, dword [ebp - 0x6dc]
mov edi, dword [ebp - 0x6f0]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c8]
push edi
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
push 0
push 0
push esi
push dword [ebp - 0x704]
push edi
call dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x72c]
mov edi, dword [ebp - 0x6fc]
mov eax, dword [ecx]
mov dword [edi], eax
cmp esi, 1
jne 0x4b1455
cdq
sub eax, edx
sar eax, 1
mov dword [edi + 4], eax
mov dword [edi], eax
jmp 0x4b145d
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
mov dword [edi + 4], eax
mov ecx, dword [ebp - 0x71c]
mov esi, dword [ebp - 0x738]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov esi, dword [esi + 8]
divsd xmm0, qword [ebp - 0x958]
cvttsd2si eax, xmm0
sub esi, eax
mov eax, dword [ebp - 0x73c]
sub esi, dword [eax]
mov eax, ecx
mov ecx, dword [ebp - 0x6e0]
cdq
sub eax, edx
sub esi, dword [ebp - 0x760]
sar eax, 1
sub ecx, eax
mov dword [ebp - 0x720], eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x6e0], ecx
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x73c]
sub edx, dword [eax + 4]
mov eax, dword [ebp - 0x6dc]
add edx, ecx
mov dword [ebp - 0x65c], edx
mov dword [ebp - 0x700], edx
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x650]
add eax, esi
mov ecx, dword [ecx + 0xae0]
add ecx, edx
mov dword [ebp - 0x660], esi
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x654], ecx
mov dword [ebp - 0x658], eax
jne 0x4b15b3
mov edx, dword [ebp - 0x6f8]
test edx, edx
je 0x4b15e9
mov eax, dword [ebp - 0x7c8]
cwde
lea edi, [eax + 2]
nop dword [eax]
movzx ecx, word [edx + 4]
movsx eax, cx
mov edx, ecx
cmp edi, eax
jle 0x4b15e9
mov eax, edx
mov edx, dword [ebp - 0x6f8]
cmp edx, dword [ebx + 0x20]
jne 0x4b1582
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [edx + 6]
push eax
push ecx
mov ecx, dword [ebp - 0x6ec]
push 2
push dword [ebp - 0x7c8]
push dword [ebp - 0x700]
push esi
call fcn.00487090
mov edx, dword [ebp - 0x6f8]
mov byte [ebp - 0x6e1], 0
movzx eax, word [edx + 4]
movsx ecx, word [edx + 6]
cwde
add ecx, eax
cmp edi, ecx
jl 0x4b15e9
mov edx, dword [edx]
mov dword [ebp - 0x6f8], edx
test edx, edx
jne 0x4b1520
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
sub eax, dword [ebp - 0x720]
jmp 0x4b1306
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push edi
push 2
push dword [ebp - 0x7c8]
push edx
push esi
call fcn.004ed110
mov dword [ebp - 0x74c], eax
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
sub eax, dword [ebp - 0x720]
jmp 0x4b1306
mov ecx, dword [ebp - 0x704]
mov eax, 0xff3b
test esi, esi
je 0x4b1d64
cmp di, 0xf
jl 0x4b1d64
cmp dx, ax
jne 0x4b1d64
mov esi, 0xff03
lea eax, [ecx + 4]
cmp word [ecx + 2], si
jne 0x4b1d5f
mov esi, 0x300c
cmp word [eax], si
mov esi, 0xff03
jne 0x4b1c85
movsx eax, di
mov esi, 0x300d
cmp word [ecx + eax*2 - 0x18], si
jne 0x4b168a
mov esi, 0x306f
cmp word [ecx + eax*2 - 0x16], si
jne 0x4b168a
mov esi, 0xff11
cmp word [ecx + eax*2 - 0x14], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0xff10
cmp word [ecx + eax*2 - 0x12], si
je 0x4b16b4
mov esi, 0x300d
cmp word [ecx + eax*2 - 0x16], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0x306f
cmp word [ecx + eax*2 - 0x14], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0x6bb5
cmp word [ecx + eax*2 - 0x10], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0x968e
cmp word [ecx + eax*2 - 0xe], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0x5927
cmp word [ecx + eax*2 - 0xc], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0x304d
cmp word [ecx + eax*2 - 0xa], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0x306a
cmp word [ecx + eax*2 - 8], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0x6587
cmp word [ecx + eax*2 - 6], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0x5b57
cmp word [ecx + eax*2 - 4], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, 0xff3d
cmp word [ecx + eax*2 - 2], si
mov esi, 0xff03
jne 0x4b1c82
mov esi, dword [ebp - 0x6d8]
test byte [esi], 0x20
jne 0x4b1c5b
mov cx, word [ecx + eax*2 - 0x12]
call fcn.0040d690
movzx eax, ax
mov ecx, eax
cmp ax, 9
lea eax, [edi - 0xf]
je 0x4b1786
lea eax, [edi - 0xe]
mov edx, dword [ebp - 0x6d8]
mov esi, dword [ebp - 0x6dc]
movsx ecx, cx
movzx edi, ax
test dword [edx], 0x200
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x700], ecx
je 0x4b17b2
push dword [eax + ecx*4 + 0x244]
jmp 0x4b17b9
push dword [eax + ecx*4 + 0x1f4]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
movsx eax, di
push 0
push 0
push eax
push dword [ebp - 0x7e8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov eax, dword [esi + 0xc]
movsd xmm1, qword [ebp - 0x710]
mov ecx, dword [ebp - 0x72c]
mov edx, dword [ebp - 0x6fc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ecx]
mov dword [edx], eax
mov eax, 1
cmp ax, di
jge 0x4b186f
mov eax, ecx
mov esi, edx
sub esi, eax
lea ecx, [eax + 4]
lea eax, [edi - 1]
movzx edx, ax
nop word [eax + eax]
mov eax, dword [ebp - 0x6dc]
lea ecx, [ecx + 4]
mov eax, dword [eax + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
sub eax, dword [ecx - 8]
add eax, dword [ecx - 4]
mov dword [ecx + esi - 4], eax
sub edx, 1
jne 0x4b1840
mov eax, dword [ebp - 0x700]
movd xmm2, dword [ebp - 0x7c4]
inc eax
cmp word [ebp - 0x76c], 0x40
movd xmm3, dword [ebp - 0x75c]
cvtdq2pd xmm2, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm3, xmm3
mulsd xmm0, qword [ebp - 0x878]
addsd xmm0, qword [ebp - 0x898]
mulsd xmm2, xmm0
mulsd xmm3, xmm0
jne 0x4b1a5b
mov eax, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x73c]
mov esi, dword [eax + 8]
sub esi, dword [ecx]
sub esi, dword [ebp - 0x7dc]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov edi, ecx
sub ecx, edx
mov dword [ebp - 0x720], esi
movd xmm1, esi
sub edi, edx
cvtdq2pd xmm1, xmm1
add edi, dword [ebp - 0x6e0]
mov dword [ebp - 0x65c], ecx
mov dword [ebp - 0x700], edi
movaps xmm0, xmm1
addsd xmm1, xmm3
subsd xmm0, xmm2
cvttsd2si eax, xmm0
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x738]
mov eax, dword [eax + 0xc]
sub eax, edx
sub eax, dword [ebp - 0x80c]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x654], eax
cvttsd2si eax, xmm1
mov dword [ebp - 0x658], eax
jne 0x4b1a16
mov eax, dword [ebp - 0x724]
mov edi, dword [ebp - 0x6f8]
movzx eax, word [eax + 4]
movzx edx, ax
test edi, edi
je 0x4b1bfc
mov ax, word [ebp - 0x728]
movzx esi, word [edi + 4]
cwde
mov edi, esi
movsx ecx, dx
add ecx, eax
movsx eax, si
cmp ecx, eax
jle 0x4b1bfc
mov eax, edi
mov ecx, edx
mov edi, dword [ebp - 0x6f8]
cmp edi, dword [ebx + 0x20]
jne 0x4b19d4
push dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [edi + 6]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x700]
push dword [ebp - 0x720]
call fcn.004874d0
mov ecx, dword [ebp - 0x724]
movzx eax, word [edi + 4]
mov byte [ebp - 0x6e1], 0
movzx ecx, word [ecx + 4]
movsx edx, word [edi + 6]
mov edi, dword [ebp - 0x6f8]
cwde
movzx ecx, cx
add edx, eax
movsx eax, cx
mov esi, ecx
movsx ecx, word [ebp - 0x728]
add eax, ecx
cmp eax, edx
jl 0x4b1bfc
cmp byte [ebp - 0x6e1], 0
mov eax, esi
mov edi, dword [edi]
mov dword [ebp - 0x6f8], edi
jne 0x4b1950
jmp 0x4b1bfc
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push edi
push esi
call fcn.004ece90
jmp 0x4b1bf6
mov esi, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
mov edi, dword [ebp - 0x6e0]
mov ecx, dword [esi]
mov esi, dword [esi + 4]
sub esi, dword [eax + 4]
add esi, dword [ebp - 0x7dc]
mov edx, dword [eax]
sub ecx, edx
mov dword [ebp - 0x660], ecx
add edi, ecx
mov dword [ebp - 0x720], edi
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x700], esi
addsd xmm2, xmm0
subsd xmm0, xmm3
cvttsd2si eax, xmm2
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x738]
mov eax, dword [eax + 8]
sub eax, edx
sub eax, dword [ebp - 0x80c]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x658], eax
cvttsd2si eax, xmm0
mov dword [ebp - 0x65c], eax
jne 0x4b1bb6
mov eax, dword [ebp - 0x724]
mov edi, dword [ebp - 0x6f8]
movzx eax, word [eax + 4]
nop dword [eax]
movzx edx, ax
test edi, edi
je 0x4b1bfc
mov ax, word [ebp - 0x728]
movzx esi, word [edi + 4]
cwde
mov edi, esi
movsx ecx, dx
add ecx, eax
movsx eax, si
cmp ecx, eax
jle 0x4b1bfc
mov eax, edi
mov ecx, edx
mov edi, dword [ebp - 0x6f8]
cmp edi, dword [ebx + 0x20]
jne 0x4b1b7b
push dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [edi + 6]
mov edi, dword [ebp - 0x720]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x700]
push edi
call fcn.00487090
mov edi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [edi + 4]
movzx ecx, word [ecx + 4]
movsx edx, word [edi + 6]
mov edi, dword [ebp - 0x6f8]
cwde
movzx ecx, cx
add edx, eax
movsx eax, cx
mov esi, ecx
movsx ecx, word [ebp - 0x728]
add eax, ecx
cmp eax, edx
jl 0x4b1bfc
cmp byte [ebp - 0x6e1], 0
mov eax, esi
mov edi, dword [edi]
mov dword [ebp - 0x6f8], edi
jne 0x4b1af0
jmp 0x4b1bfc
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push esi
push edi
call fcn.004ecc10
mov dword [ebp - 0x74c], eax
mov edx, dword [ebp - 0x724]
push dword [ebp - 0x714]
mov edi, dword [ebp - 0x6e0]
push dword [ebp - 0x6f0]
mov eax, dword [edx + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, word [edx + 4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [ebp - 0x710]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x650]
add edi, eax
mov dword [ebp - 0x6e0], edi
call dword [ebp - 0x6f4]
mov esi, dword [ebp - 0x6d8]
jmp 0x4b1c61
mov edi, dword [ebp - 0x6e0]
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x730], 0
movsd xmm3, qword [ebp - 0x710]
jmp 0x4b5deb
lea eax, [ecx + 4]
cmp word [ecx + 2], si
jne 0x4b1d5f
mov esi, 0x300c
cmp word [eax], si
jne 0x4b1d5f
movsx esi, di
mov eax, 0x300d
mov dword [ebp - 0x7f0], esi
cmp word [ecx + esi*2 - 0x18], ax
jne 0x4b1cda
mov eax, 0x306f
cmp word [ecx + esi*2 - 0x16], ax
jne 0x4b1cda
mov eax, 0xff11
cmp word [ecx + esi*2 - 0x14], ax
jne 0x4b1d5f
mov eax, 0xff10
cmp word [ecx + esi*2 - 0x12], ax
je 0x4b1cf2
mov eax, 0x300d
cmp word [ecx + esi*2 - 0x16], ax
mov eax, 0x306f
jne 0x4b1d5f
cmp word [ecx + esi*2 - 0x14], ax
jne 0x4b1d5f
mov eax, 0x6bb5
cmp word [ecx + esi*2 - 0x10], ax
jne 0x4b1d5f
mov eax, 0x968e
cmp word [ecx + esi*2 - 0xe], ax
jne 0x4b1d5f
mov eax, 0x5c0f
cmp word [ecx + esi*2 - 0xc], ax
jne 0x4b1d5f
mov eax, 0x3055
cmp word [ecx + esi*2 - 0xa], ax
jne 0x4b1d5f
mov eax, 0x306a
cmp word [ecx + esi*2 - 8], ax
jne 0x4b1d5f
mov eax, 0x6587
cmp word [ecx + esi*2 - 6], ax
jne 0x4b1d5f
movzx eax, word [ecx + esi*2 - 4]
mov edx, 0x5b57
cmp ax, dx
movzx edx, word [ecx]
jne 0x4b1d5f
mov edx, 0xff3d
cmp word [ecx + esi*2 - 2], dx
movzx edx, word [ecx]
je 0x4b1e15
mov eax, 0xff3b
mov esi, dword [ebp - 0x6e8]
lea edi, [ecx + 4]
cmp si, 0xa
jl 0x4b2378
cmp dx, ax
jne 0x4b2378
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b2378
mov eax, 0x300c
cmp word [edi], ax
jne 0x4b2378
movsx esi, si
mov eax, 0x300d
mov dword [ebp - 0x7f0], esi
cmp word [ecx + esi*2 - 0xc], ax
jne 0x4b2372
mov eax, 0x306f
cmp word [ecx + esi*2 - 0xa], ax
jne 0x4b2372
mov eax, 0x5c0f
cmp word [ecx + esi*2 - 8], ax
jne 0x4b2372
mov eax, 0x66f8
cmp word [ecx + esi*2 - 6], ax
jne 0x4b2372
movzx eax, word [ecx + esi*2 - 4]
mov edx, 0x304d
cmp ax, dx
movzx edx, word [ecx]
jne 0x4b2372
mov edx, 0xff3d
cmp word [ecx + esi*2 - 2], dx
movzx edx, word [ecx]
jne 0x4b2372
mov edi, dword [ebp - 0x6e8]
mov edx, dword [ebp - 0x6d8]
test byte [edx], 0x20
jne 0x4b2367
mov esi, 0x304d
cmp ax, si
mov esi, dword [ebp - 0x7f0]
jne 0x4b1e3e
mov ecx, 1
lea eax, [edi - 9]
jmp 0x4b1e5d
mov cx, word [ecx + esi*2 - 0x12]
call fcn.0040d690
mov edx, dword [ebp - 0x6d8]
movzx ecx, ax
lea eax, [edi - 0xf]
cmp cx, 9
je 0x4b1e5d
lea eax, [edi - 0xe]
test dword [edx], 0x200
movzx edi, ax
mov eax, dword [ebp - 0x6dc]
movsx ecx, cx
mov dword [ebp - 0x758], edi
mov dword [ebp - 0x720], ecx
mov eax, dword [eax + 0xc]
je 0x4b1e89
push dword [eax + ecx*4 + 0x2e4]
jmp 0x4b1e90
push dword [eax + ecx*4 + 0x21c]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
movsx eax, di
push 0
push 0
push eax
push dword [ebp - 0x7e8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x6dc]
movsd xmm1, qword [ebp - 0x710]
mov edx, dword [ebp - 0x6fc]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x72c]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ecx]
mov dword [edx], eax
mov eax, 1
cmp ax, di
jge 0x4b1f50
mov esi, dword [ebp - 0x6dc]
mov eax, ecx
mov edi, edx
sub edi, eax
lea ecx, [eax + 4]
mov eax, dword [ebp - 0x758]
dec eax
movzx edx, ax
mov eax, dword [esi + 0xc]
lea ecx, [ecx + 4]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
sub eax, dword [ecx - 8]
add eax, dword [ecx - 4]
mov dword [ecx + edi - 4], eax
sub edx, 1
jne 0x4b1f21
mov esi, dword [ebp - 0x7f0]
cmp word [ebp - 0x76c], 0x40
jne 0x4b218b
mov ecx, dword [ebp - 0x738]
mov edx, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x704]
movd xmm4, dword [ebp - 0x75c]
mov edi, dword [ecx + 8]
mov ecx, 0x304d
sub edi, dword [edx]
sub edi, dword [ebp - 0x7dc]
mov dword [ebp - 0x700], edi
cvtdq2pd xmm4, xmm4
cmp word [eax + esi*2 - 4], cx
jne 0x4b1fc8
movd xmm1, dword [ebp - 0x71c]
movaps xmm0, xmm4
mulsd xmm0, qword [ebp - 0x968]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [ebp - 0x878]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
add edi, eax
mov dword [ebp - 0x700], edi
mov eax, dword [ebp - 0x720]
movd xmm1, dword [ebp - 0x7c4]
inc eax
movsd xmm2, qword [ebp - 0x898]
mov edx, dword [edx + 4]
mov ecx, dword [ebp - 0x738]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov ecx, dword [ecx + 4]
mov esi, ecx
sub ecx, edx
sub esi, edx
add esi, dword [ebp - 0x6e0]
mov dword [ebp - 0x65c], ecx
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x764], esi
mulsd xmm0, qword [ebp - 0x878]
movd xmm3, edi
cvtdq2pd xmm3, xmm3
subsd xmm2, xmm0
movaps xmm0, xmm3
mulsd xmm1, xmm2
mulsd xmm2, xmm4
subsd xmm0, xmm1
addsd xmm2, xmm3
cvttsd2si eax, xmm0
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x738]
mov eax, dword [eax + 0xc]
sub eax, edx
sub eax, dword [ebp - 0x80c]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x654], eax
cvttsd2si eax, xmm2
mov dword [ebp - 0x658], eax
jne 0x4b2146
mov eax, dword [ebp - 0x724]
mov edi, dword [ebp - 0x6f8]
movzx eax, word [eax + 4]
nop dword [eax]
movzx edx, ax
test edi, edi
je 0x4b12cf
mov ax, word [ebp - 0x728]
movzx esi, word [edi + 4]
cwde
mov edi, esi
movsx ecx, dx
add ecx, eax
movsx eax, si
cmp ecx, eax
jle 0x4b12cf
mov eax, edi
mov ecx, edx
mov edi, dword [ebp - 0x6f8]
cmp edi, dword [ebx + 0x20]
jne 0x4b2104
push dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [edi + 6]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x764]
push dword [ebp - 0x700]
call fcn.004874d0
mov ecx, dword [ebp - 0x724]
movzx eax, word [edi + 4]
mov byte [ebp - 0x6e1], 0
movzx ecx, word [ecx + 4]
movsx edx, word [edi + 6]
mov edi, dword [ebp - 0x6f8]
cwde
movzx ecx, cx
add edx, eax
movsx eax, cx
mov esi, ecx
movsx ecx, word [ebp - 0x728]
add eax, ecx
cmp eax, edx
jl 0x4b12cf
cmp byte [ebp - 0x6e1], 0
mov eax, esi
mov edi, dword [edi]
mov dword [ebp - 0x6f8], edi
jne 0x4b2080
jmp 0x4b12cf
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push esi
push edi
call fcn.004ece90
jmp 0x4b12c9
mov esi, dword [ebp - 0x738]
mov eax, dword [ebp - 0x73c]
movsd xmm1, qword [ebp - 0x898]
mov edi, dword [ebp - 0x6e0]
mov ecx, dword [esi]
mov edx, dword [eax]
sub ecx, edx
mov esi, dword [esi + 4]
add edi, ecx
sub esi, dword [eax + 4]
mov eax, dword [ebp - 0x720]
add esi, dword [ebp - 0x7dc]
inc eax
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x764], edi
mov dword [ebp - 0x700], esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movd xmm2, esi
mulsd xmm0, qword [ebp - 0x878]
cvtdq2pd xmm2, xmm2
subsd xmm1, xmm0
movd xmm0, dword [ebp - 0x7c4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x75c]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x738]
mov eax, dword [eax + 8]
mulsd xmm0, xmm1
sub eax, edx
sub eax, dword [ebp - 0x80c]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x658], eax
subsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [ebp - 0x65c], eax
jne 0x4b232d
mov eax, dword [ebp - 0x724]
mov edi, dword [ebp - 0x6f8]
movzx eax, word [eax + 4]
nop dword [eax]
movzx edx, ax
test edi, edi
je 0x4b12cf
mov ax, word [ebp - 0x728]
movzx esi, word [edi + 4]
cwde
mov edi, esi
movsx ecx, dx
add ecx, eax
movsx eax, si
cmp ecx, eax
jle 0x4b12cf
mov eax, edi
mov ecx, edx
mov edi, dword [ebp - 0x6f8]
cmp edi, dword [ebx + 0x20]
jne 0x4b22eb
push dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [edi + 6]
mov edi, dword [ebp - 0x764]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x700]
push edi
call fcn.00487090
mov edi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [edi + 4]
movzx ecx, word [ecx + 4]
movsx edx, word [edi + 6]
mov edi, dword [ebp - 0x6f8]
cwde
movzx ecx, cx
add edx, eax
movsx eax, cx
mov esi, ecx
movsx ecx, word [ebp - 0x728]
add eax, ecx
cmp eax, edx
jl 0x4b12cf
cmp byte [ebp - 0x6e1], 0
mov eax, esi
mov edi, dword [edi]
mov dword [ebp - 0x6f8], edi
jne 0x4b2260
jmp 0x4b12cf
push 0
push dword [ebp - 0x7d4]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
mov eax, dword [ebp - 0x724]
push dword [ebp - 0x6fc]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push esi
push edi
jmp 0x4b12be
mov edi, dword [ebp - 0x6e0]
jmp 0x4b1326
mov esi, dword [ebp - 0x6e8]
cmp dword [ebp - 0x724], 0
je 0x4aa39f
cmp si, 0xd
jl 0x4b31ec
mov eax, 0xff3b
cmp dx, ax
mov eax, 0xff03
jne 0x4b31ec
cmp word [ecx + 2], ax
jne 0x4b31ec
mov eax, 0x300c
cmp word [edi], ax
mov eax, 0xff03
jne 0x4b2ae2
movsx esi, si
mov eax, 0x300d
cmp word [ecx + esi*2 - 0x12], ax
mov eax, 0xff03
jne 0x4b2adc
mov eax, 0x306f
cmp word [ecx + esi*2 - 0x10], ax
mov eax, 0xff03
jne 0x4b2adc
mov eax, 0x4e0a
cmp word [ecx + esi*2 - 0xe], ax
mov eax, 0xff03
jne 0x4b2adc
mov eax, 0x4ed8
cmp word [ecx + esi*2 - 0xc], ax
mov eax, 0xff03
jne 0x4b2adc
mov eax, 0x304d
cmp word [ecx + esi*2 - 0xa], ax
mov eax, 0xff03
jne 0x4b2adc
mov eax, 0x5c0f
cmp word [ecx + esi*2 - 8], ax
mov eax, 0xff03
jne 0x4b2adc
mov eax, 0x6587
cmp word [ecx + esi*2 - 6], ax
mov eax, 0xff03
jne 0x4b2adc
mov eax, 0x5b57
cmp word [ecx + esi*2 - 4], ax
mov eax, 0xff03
jne 0x4b2adc
mov eax, 0xff3d
cmp word [ecx + esi*2 - 2], ax
mov eax, 0xff03
jne 0x4b2adc
mov eax, dword [ebp - 0x6d8]
test byte [eax], 0x20
jne 0x4b8471
mov edi, dword [ebp - 0x6dc]
add edi, 0xc
mov dword [ebp - 0x71c], edi
mov eax, dword [edi]
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
lea ecx, [ebp - 0x650]
mov dword [ebp - 0x714], eax
push ecx
lea eax, [esi - 0xc]
mov esi, dword [ebp - 0x72c]
push esi
push 0
push 0
push eax
push dword [ebp - 0x7e8]
mov dword [ebp - 0x718], eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x6fc]
mov ecx, dword [esi]
mov esi, 1
movsd xmm2, qword [ebp - 0x710]
mov dword [edx], ecx
mov eax, dword [edi]
mov edi, dword [ebp - 0x718]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov dword [edx], eax
lea edx, [edi - 1]
cmp edi, esi
jle 0x4b2604
cmp edx, 2
jb 0x4b2604
mov ecx, dword [ebp - 0x71c]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x6fc]
add eax, 0xa80
mov dword [ebp - 0x720], eax
movd xmm0, dword [eax]
lea edi, [ecx + 4]
movsx eax, dx
shl eax, 2
add ecx, eax
pshufd xmm0, xmm0, 0
add eax, dword [ebp - 0x72c]
mov dword [ebp - 0x700], edi
cmp edi, eax
ja 0x4b2579
cmp ecx, dword [ebp - 0x72c]
jae 0x4b25fe
mov eax, dword [ebp - 0x71c]
cmp edi, eax
ja 0x4b258b
cmp ecx, eax
jae 0x4b27e2
mov eax, dword [ebp - 0x720]
cmp edi, eax
ja 0x4b2599
cmp ecx, eax
jae 0x4b25fe
and edx, reloc.d2d1.dll_Ordinal_1
jns 0x4b25a6
dec edx
or edx, 0xfffffffe
inc edx
mov ecx, dword [ebp - 0x718]
movq xmm0, xmm0
mov edi, dword [ebp - 0x72c]
sub ecx, edx
mov edx, dword [ebp - 0x6fc]
mov eax, esi
cvtdq2pd xmm0, xmm0
mulpd xmm0, xmmword [ebp - 0x950]
cvttpd2dq xmm2, xmm0
movq xmm0, qword [edi + eax*4 - 4]
add esi, 2
movq xmm1, qword [edi + eax*4]
psubd xmm1, xmm0
movq xmm0, xmm2
paddd xmm1, xmm0
movq qword [edx + eax*4], xmm1
movsx eax, si
cmp eax, ecx
jl 0x4b25d0
movsd xmm2, qword [ebp - 0x710]
mov edi, dword [ebp - 0x718]
mov eax, dword [ebp - 0x71c]
movsx edx, si
cmp edx, edi
jge 0x4b2658
mov edi, dword [ebp - 0x72c]
inc esi
mov ecx, dword [edi + edx*4]
sub ecx, dword [edi + edx*4 - 4]
mov edi, dword [ebp - 0x6fc]
mov dword [edi + edx*4], ecx
mov eax, dword [eax]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, edi
mov edi, dword [ebp - 0x718]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x71c]
movsx edx, si
cmp edx, edi
jl 0x4b2611
cmp word [ebp - 0x76c], 0x40
mov eax, dword [ebp - 0x738]
mov edx, dword [eax + 4]
jne 0x4b286d
mov esi, dword [eax + 8]
mov ecx, dword [ebp - 0x73c]
movd xmm1, edi
cvtdq2pd xmm1, xmm1
sub edx, dword [ecx + 4]
sub esi, dword [ecx]
sub esi, dword [ebp - 0x754]
sub edx, dword [ebp - 0x730]
add edx, dword [ebp - 0x6e0]
mov ecx, dword [ebp - 0x71c]
mov dword [ebp - 0x658], esi
mov dword [ebp - 0x65c], edx
mov dword [ebp - 0x7e4], esi
mov eax, dword [ecx]
mov dword [ebp - 0x764], edx
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
movd xmm1, esi
cvtdq2pd xmm1, xmm1
cvttsd2si ecx, xmm0
movd xmm0, eax
mov eax, dword [ebp - 0x71c]
add ecx, edx
add ecx, dword [ebp - 0x650]
cmp word [ebx + 0x48], 0
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x654], ecx
mov eax, dword [eax]
mulsd xmm0, qword [eax + 0xad0]
mov dword [ebp - 0x66c], edx
mov dword [ebp - 0x664], ecx
divsd xmm0, qword [ebp - 0x828]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x660], eax
jne 0x4b2828
mov esi, dword [ebp - 0x6f8]
nop dword [eax]
test esi, esi
je 0x4b2a5c
mov eax, dword [ebp - 0x724]
movzx esi, word [esi + 4]
movzx edx, word [eax + 4]
mov eax, esi
mov dword [ebp - 0x720], eax
movsx eax, word [ebp - 0x728]
movsx ecx, dx
add ecx, eax
mov dword [ebp - 0x700], edx
movsx eax, si
movzx edi, dx
cmp ecx, eax
jle 0x4b2a5c
mov ecx, dword [ebp - 0x6f8]
mov eax, esi
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4b27ed
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp - 0x6ec]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x764]
push dword [ebp - 0x7e4]
call fcn.004874d0
mov esi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [esi + 4]
movzx edi, word [ecx + 4]
jmp 0x4b27f3
mov edi, dword [ebp - 0x718]
jmp 0x4b260a
mov esi, dword [ebp - 0x6f8]
movsx ecx, word [esi + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
movsx eax, di
add eax, edx
cmp eax, ecx
jl 0x4b2a5c
cmp byte [ebp - 0x6e1], 0
mov esi, dword [esi]
mov dword [ebp - 0x6f8], esi
jne 0x4b2740
jmp 0x4b2a5c
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push edx
push esi
call fcn.004ece90
jmp 0x4b2a56
mov ecx, dword [eax]
mov esi, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
sub ecx, dword [esi]
sub edx, dword [esi + 4]
sub ecx, dword [ebp - 0x730]
add ecx, dword [ebp - 0x6e0]
add edx, dword [ebp - 0x754]
movd xmm1, eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x65c], edx
mov eax, dword [eax]
mov dword [ebp - 0x7e4], ecx
mov dword [ebp - 0x764], edx
movd xmm0, edx
mulsd xmm1, qword [eax + 0xad0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movd xmm1, edi
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm1, xmm1
mov eax, dword [eax]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x670], ecx
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, ecx
add eax, dword [ebp - 0x650]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x668], eax
jne 0x4b2a16
mov esi, dword [ebp - 0x6f8]
nop dword [eax]
test esi, esi
je 0x4b2a5c
mov eax, dword [ebp - 0x724]
movzx esi, word [esi + 4]
movzx edx, word [eax + 4]
mov eax, esi
mov dword [ebp - 0x720], eax
movsx eax, word [ebp - 0x728]
movsx ecx, dx
add ecx, eax
mov dword [ebp - 0x700], edx
movsx eax, si
movzx edi, dx
cmp ecx, eax
jle 0x4b2a5c
mov ecx, dword [ebp - 0x6f8]
mov eax, esi
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4b29e2
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp - 0x6ec]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x764]
push dword [ebp - 0x7e4]
call fcn.00487090
mov esi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [esi + 4]
movzx edi, word [ecx + 4]
jmp 0x4b29e8
mov esi, dword [ebp - 0x6f8]
movsx ecx, word [esi + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
movsx eax, di
add eax, edx
cmp eax, ecx
jl 0x4b2a5c
cmp byte [ebp - 0x6e1], 0
mov esi, dword [esi]
mov dword [ebp - 0x6f8], esi
jne 0x4b2940
jmp 0x4b2a5c
push 0
push dword [ebp - 0x7d4]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push edx
push ecx
mov ecx, dword [ebp - 0x6ec]
call fcn.004ecc10
mov dword [ebp - 0x74c], eax
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov ecx, dword [ebp - 0x71c]
movd xmm1, dword [ebp - 0x718]
movsd xmm3, qword [ebp - 0x710]
mov esi, dword [ebp - 0x730]
mov eax, dword [ecx]
cvtdq2pd xmm1, xmm1
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x650]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
mulsd xmm0, xmm1
cvttsd2si ecx, xmm0
lea edx, [ecx + eax]
cmp esi, edx
jge 0x4b5ddf
mov edi, dword [ebp - 0x6e0]
sub ecx, esi
mov esi, dword [ebp - 0x6d8]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x730], edx
mov dword [ebp - 0x6e0], edi
jmp 0x4b5deb
mov esi, dword [ebp - 0x6e8]
cmp word [ecx + 2], ax
jne 0x4b31ec
mov eax, 0x300c
cmp word [edi], ax
jne 0x4b31ec
movsx esi, si
mov eax, 0x300d
cmp word [ecx + esi*2 - 0x12], ax
jne 0x4b31ec
mov eax, 0x306f
cmp word [ecx + esi*2 - 0x10], ax
jne 0x4b31ec
mov eax, 0x4e0b
cmp word [ecx + esi*2 - 0xe], ax
jne 0x4b31ec
mov eax, 0x4ed8
cmp word [ecx + esi*2 - 0xc], ax
jne 0x4b31ec
mov eax, 0x304d
cmp word [ecx + esi*2 - 0xa], ax
jne 0x4b31ec
mov eax, 0x5c0f
cmp word [ecx + esi*2 - 8], ax
jne 0x4b31ec
mov eax, 0x6587
cmp word [ecx + esi*2 - 6], ax
jne 0x4b31ec
mov eax, 0x5b57
cmp word [ecx + esi*2 - 4], ax
jne 0x4b31ec
mov eax, 0xff3d
cmp word [ecx + esi*2 - 2], ax
jne 0x4b31ec
mov eax, dword [ebp - 0x6d8]
test byte [eax], 0x20
jne 0x4b8471
mov edi, dword [ebp - 0x6dc]
add edi, 0xc
mov dword [ebp - 0x71c], edi
mov eax, dword [edi]
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
lea ecx, [ebp - 0x650]
mov dword [ebp - 0x714], eax
push ecx
lea eax, [esi - 0xc]
mov esi, dword [ebp - 0x72c]
push esi
push 0
push 0
push eax
push dword [ebp - 0x7e8]
mov dword [ebp - 0x718], eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x6fc]
mov ecx, dword [esi]
mov esi, 1
movsd xmm2, qword [ebp - 0x710]
mov dword [edx], ecx
mov eax, dword [edi]
mov edi, dword [ebp - 0x718]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov dword [edx], eax
lea edx, [edi - 1]
cmp edi, esi
jle 0x4b2d14
cmp edx, 2
jb 0x4b2d14
mov ecx, dword [ebp - 0x71c]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x6fc]
add eax, 0xa80
mov dword [ebp - 0x720], eax
movd xmm0, dword [eax]
lea edi, [ecx + 4]
movsx eax, dx
shl eax, 2
add ecx, eax
pshufd xmm0, xmm0, 0
add eax, dword [ebp - 0x72c]
mov dword [ebp - 0x700], edi
cmp edi, eax
ja 0x4b2c87
cmp ecx, dword [ebp - 0x72c]
jae 0x4b2d0e
mov eax, dword [ebp - 0x71c]
cmp edi, eax
ja 0x4b2c99
cmp ecx, eax
jae 0x4b2ef2
mov eax, dword [ebp - 0x720]
cmp edi, eax
ja 0x4b2ca7
cmp ecx, eax
jae 0x4b2d0e
and edx, reloc.d2d1.dll_Ordinal_1
jns 0x4b2cb4
dec edx
or edx, 0xfffffffe
inc edx
mov ecx, dword [ebp - 0x718]
movq xmm0, xmm0
mov edi, dword [ebp - 0x72c]
sub ecx, edx
mov edx, dword [ebp - 0x6fc]
mov eax, esi
cvtdq2pd xmm0, xmm0
mulpd xmm0, xmmword [ebp - 0x950]
cvttpd2dq xmm2, xmm0
nop
movq xmm0, qword [edi + eax*4 - 4]
add esi, 2
movq xmm1, qword [edi + eax*4]
psubd xmm1, xmm0
movq xmm0, xmm2
paddd xmm1, xmm0
movq qword [edx + eax*4], xmm1
movsx eax, si
cmp eax, ecx
jl 0x4b2ce0
movsd xmm2, qword [ebp - 0x710]
mov edi, dword [ebp - 0x718]
mov eax, dword [ebp - 0x71c]
movsx edx, si
cmp edx, edi
jge 0x4b2d68
mov edi, dword [ebp - 0x72c]
inc esi
mov ecx, dword [edi + edx*4]
sub ecx, dword [edi + edx*4 - 4]
mov edi, dword [ebp - 0x6fc]
mov dword [edi + edx*4], ecx
mov eax, dword [eax]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, edi
mov edi, dword [ebp - 0x718]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x71c]
movsx edx, si
cmp edx, edi
jl 0x4b2d21
cmp word [ebp - 0x76c], 0x40
mov eax, dword [ebp - 0x738]
mov edx, dword [eax + 4]
jne 0x4b2f7d
mov esi, dword [eax + 8]
mov ecx, dword [ebp - 0x73c]
movd xmm1, edi
cvtdq2pd xmm1, xmm1
sub edx, dword [ecx + 4]
sub esi, dword [ecx]
sub esi, dword [ebp - 0x760]
sub edx, dword [ebp - 0x730]
add edx, dword [ebp - 0x6e0]
mov ecx, dword [ebp - 0x71c]
mov dword [ebp - 0x660], esi
mov dword [ebp - 0x65c], edx
mov dword [ebp - 0x7e4], esi
mov eax, dword [ecx]
mov dword [ebp - 0x764], edx
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
movd xmm1, eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm1, xmm1
cvttsd2si ecx, xmm0
movd xmm0, esi
add ecx, edx
add ecx, dword [ebp - 0x650]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x654], ecx
mov eax, dword [eax]
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [eax + 0xad0]
mov dword [ebp - 0x66c], edx
mov dword [ebp - 0x664], ecx
divsd xmm1, qword [ebp - 0x828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x658], eax
jne 0x4b2f38
mov esi, dword [ebp - 0x6f8]
nop dword [eax]
test esi, esi
je 0x4b316c
mov eax, dword [ebp - 0x724]
movzx esi, word [esi + 4]
movzx edx, word [eax + 4]
mov eax, esi
mov dword [ebp - 0x720], eax
movsx eax, word [ebp - 0x728]
movsx ecx, dx
add ecx, eax
mov dword [ebp - 0x700], edx
movsx eax, si
movzx edi, dx
cmp ecx, eax
jle 0x4b316c
mov ecx, dword [ebp - 0x6f8]
mov eax, esi
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4b2efd
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp - 0x6ec]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x764]
push dword [ebp - 0x7e4]
call fcn.004874d0
mov esi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [esi + 4]
movzx edi, word [ecx + 4]
jmp 0x4b2f03
mov edi, dword [ebp - 0x718]
jmp 0x4b2d1a
mov esi, dword [ebp - 0x6f8]
movsx ecx, word [esi + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
movsx eax, di
add eax, edx
cmp eax, ecx
jl 0x4b316c
cmp byte [ebp - 0x6e1], 0
mov esi, dword [esi]
mov dword [ebp - 0x6f8], esi
jne 0x4b2e50
jmp 0x4b316c
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push edx
push esi
call fcn.004ece90
jmp 0x4b3166
mov ecx, dword [eax]
mov esi, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
sub ecx, dword [esi]
sub edx, dword [esi + 4]
sub ecx, dword [ebp - 0x730]
add ecx, dword [ebp - 0x6e0]
add edx, dword [ebp - 0x760]
movd xmm0, eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x654], edx
mov eax, dword [eax]
mov dword [ebp - 0x7e4], ecx
mov dword [ebp - 0x764], edx
movd xmm1, edx
mulsd xmm0, qword [eax + 0xad0]
cvtdq2pd xmm1, xmm1
divsd xmm0, qword [ebp - 0x828]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
movd xmm1, edi
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm1, xmm1
mov eax, dword [eax]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x670], ecx
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, ecx
add eax, dword [ebp - 0x650]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x668], eax
jne 0x4b3126
mov esi, dword [ebp - 0x6f8]
nop dword [eax]
test esi, esi
je 0x4b316c
mov eax, dword [ebp - 0x724]
movzx esi, word [esi + 4]
movzx edx, word [eax + 4]
mov eax, esi
mov dword [ebp - 0x720], eax
movsx eax, word [ebp - 0x728]
movsx ecx, dx
add ecx, eax
mov dword [ebp - 0x700], edx
movsx eax, si
movzx edi, dx
cmp ecx, eax
jle 0x4b316c
mov ecx, dword [ebp - 0x6f8]
mov eax, esi
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4b30f2
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp - 0x6ec]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x764]
push dword [ebp - 0x7e4]
call fcn.00487090
mov esi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [esi + 4]
movzx edi, word [ecx + 4]
jmp 0x4b30f8
mov esi, dword [ebp - 0x6f8]
movsx ecx, word [esi + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
movsx eax, di
add eax, edx
cmp eax, ecx
jl 0x4b316c
cmp byte [ebp - 0x6e1], 0
mov esi, dword [esi]
mov dword [ebp - 0x6f8], esi
jne 0x4b3050
jmp 0x4b316c
push 0
push dword [ebp - 0x7d4]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push edx
push ecx
mov ecx, dword [ebp - 0x6ec]
call fcn.004ecc10
mov dword [ebp - 0x74c], eax
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov ecx, dword [ebp - 0x71c]
movd xmm1, dword [ebp - 0x718]
mov eax, dword [ecx]
movsd xmm3, qword [ebp - 0x710]
mov esi, dword [ebp - 0x730]
mov edi, dword [ebp - 0x6e0]
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x650]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm3
mulsd xmm0, xmm1
cvttsd2si ecx, xmm0
lea edx, [ecx + eax]
cmp esi, edx
jge 0x4b1342
sub ecx, esi
mov dword [ebp - 0x730], edx
mov esi, dword [ebp - 0x6d8]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x6e0], edi
jmp 0x4b5deb
mov eax, dword [ebp - 0x6e8]
cmp ax, 0xc
jl 0x4b3f71
mov esi, 0xff3b
cmp dx, si
jne 0x4b3f71
mov esi, 0xff03
cmp word [ecx + 2], si
jne 0x4b3f71
mov esi, 0x300c
cmp word [edi], si
mov esi, 0xff03
jne 0x4b38d6
movsx esi, ax
mov edx, 0x300d
cmp word [ecx + esi*2 - 0x10], dx
movzx edx, word [ecx]
jne 0x4b38d1
mov eax, 0x306f
cmp word [ecx + esi*2 - 0xe], ax
mov eax, dword [ebp - 0x6e8]
jne 0x4b38d1
mov eax, 0x884c
cmp word [ecx + esi*2 - 0xc], ax
mov eax, dword [ebp - 0x6e8]
jne 0x4b38d1
mov edx, 0x53f3
cmp word [ecx + esi*2 - 0xa], dx
movzx edx, word [ecx]
jne 0x4b38d1
mov edx, 0x5c0f
cmp word [ecx + esi*2 - 8], dx
movzx edx, word [ecx]
jne 0x4b38d1
mov eax, 0x66f8
cmp word [ecx + esi*2 - 6], ax
mov eax, dword [ebp - 0x6e8]
jne 0x4b38d1
mov edx, 0x304d
cmp word [ecx + esi*2 - 4], dx
movzx edx, word [ecx]
jne 0x4b38d1
mov edx, 0xff3d
cmp word [ecx + esi*2 - 2], dx
movzx edx, word [ecx]
jne 0x4b38d1
mov eax, dword [ebp - 0x6d8]
test byte [eax], 0x20
jne 0x4b8471
mov edi, dword [ebp - 0x6dc]
add edi, 0xc
mov dword [ebp - 0x71c], edi
mov eax, dword [edi]
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
lea ecx, [ebp - 0x650]
mov dword [ebp - 0x714], eax
push ecx
lea eax, [esi - 0xb]
mov esi, dword [ebp - 0x72c]
push esi
push 0
push 0
push eax
push dword [ebp - 0x7e8]
mov dword [ebp - 0x718], eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x6fc]
mov ecx, dword [esi]
mov esi, 1
movsd xmm2, qword [ebp - 0x710]
mov dword [edx], ecx
mov eax, dword [edi]
mov edi, dword [ebp - 0x718]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov dword [edx], eax
lea edx, [edi - 1]
cmp edi, esi
jle 0x4b3455
cmp edx, 2
jb 0x4b3455
mov ecx, dword [ebp - 0x71c]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x6fc]
add eax, 0xa80
mov dword [ebp - 0x720], eax
movd xmm0, dword [eax]
lea edi, [ecx + 4]
movsx eax, dx
shl eax, 2
add ecx, eax
pshufd xmm0, xmm0, 0
add eax, dword [ebp - 0x72c]
mov dword [ebp - 0x700], edi
cmp edi, eax
ja 0x4b33ca
cmp ecx, dword [ebp - 0x72c]
jae 0x4b344f
mov eax, dword [ebp - 0x71c]
cmp edi, eax
ja 0x4b33dc
cmp ecx, eax
jae 0x4b3632
mov eax, dword [ebp - 0x720]
cmp edi, eax
ja 0x4b33ea
cmp ecx, eax
jae 0x4b344f
and edx, reloc.d2d1.dll_Ordinal_1
jns 0x4b33f7
dec edx
or edx, 0xfffffffe
inc edx
mov ecx, dword [ebp - 0x718]
movq xmm0, xmm0
mov edi, dword [ebp - 0x72c]
sub ecx, edx
mov edx, dword [ebp - 0x6fc]
mov eax, esi
cvtdq2pd xmm0, xmm0
mulpd xmm0, xmmword [ebp - 0x950]
cvttpd2dq xmm2, xmm0
movq xmm0, qword [edi + eax*4 - 4]
add esi, 2
movq xmm1, qword [edi + eax*4]
psubd xmm1, xmm0
movq xmm0, xmm2
paddd xmm1, xmm0
movq qword [edx + eax*4], xmm1
movsx eax, si
cmp eax, ecx
jl 0x4b3421
movsd xmm2, qword [ebp - 0x710]
mov edi, dword [ebp - 0x718]
mov eax, dword [ebp - 0x71c]
movsx edx, si
cmp edx, edi
jge 0x4b34a9
mov edi, dword [ebp - 0x72c]
inc esi
mov ecx, dword [edi + edx*4]
sub ecx, dword [edi + edx*4 - 4]
mov edi, dword [ebp - 0x6fc]
mov dword [edi + edx*4], ecx
mov eax, dword [eax]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, edi
mov edi, dword [ebp - 0x718]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x71c]
movsx edx, si
cmp edx, edi
jl 0x4b3462
cmp word [ebp - 0x76c], 0x40
mov eax, dword [ebp - 0x738]
mov edx, dword [eax + 4]
jne 0x4b36bd
mov esi, dword [eax + 8]
mov ecx, dword [ebp - 0x73c]
movd xmm1, edi
cvtdq2pd xmm1, xmm1
sub edx, dword [ecx + 4]
sub esi, dword [ecx]
sub esi, dword [ebp - 0x754]
sub edx, dword [ebp - 0x730]
add edx, dword [ebp - 0x6e0]
mov ecx, dword [ebp - 0x71c]
mov dword [ebp - 0x658], esi
mov dword [ebp - 0x65c], edx
mov dword [ebp - 0x7e4], esi
mov eax, dword [ecx]
mov dword [ebp - 0x764], edx
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
movd xmm1, esi
cvtdq2pd xmm1, xmm1
cvttsd2si ecx, xmm0
movd xmm0, eax
mov eax, dword [ebp - 0x71c]
add ecx, edx
add ecx, dword [ebp - 0x650]
cmp word [ebx + 0x48], 0
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x654], ecx
mov eax, dword [eax]
mulsd xmm0, qword [eax + 0xad0]
mov dword [ebp - 0x66c], edx
mov dword [ebp - 0x664], ecx
divsd xmm0, qword [ebp - 0x828]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x660], eax
jne 0x4b3678
mov esi, dword [ebp - 0x6f8]
nop dword [eax]
test esi, esi
je 0x4b38ac
mov eax, dword [ebp - 0x724]
movzx esi, word [esi + 4]
movzx edx, word [eax + 4]
mov eax, esi
mov dword [ebp - 0x720], eax
movsx eax, word [ebp - 0x728]
movsx ecx, dx
add ecx, eax
mov dword [ebp - 0x700], edx
movsx eax, si
movzx edi, dx
cmp ecx, eax
jle 0x4b38ac
mov ecx, dword [ebp - 0x6f8]
mov eax, esi
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4b363d
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp - 0x6ec]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x764]
push dword [ebp - 0x7e4]
call fcn.004874d0
mov esi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [esi + 4]
movzx edi, word [ecx + 4]
jmp 0x4b3643
mov edi, dword [ebp - 0x718]
jmp 0x4b345b
mov esi, dword [ebp - 0x6f8]
movsx ecx, word [esi + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
movsx eax, di
add eax, edx
cmp eax, ecx
jl 0x4b38ac
cmp byte [ebp - 0x6e1], 0
mov esi, dword [esi]
mov dword [ebp - 0x6f8], esi
jne 0x4b3590
jmp 0x4b38ac
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push edx
push esi
call fcn.004ece90
jmp 0x4b38a6
mov ecx, dword [eax]
mov esi, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
sub ecx, dword [esi]
sub edx, dword [esi + 4]
sub ecx, dword [ebp - 0x730]
add ecx, dword [ebp - 0x6e0]
add edx, dword [ebp - 0x754]
movd xmm1, eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x65c], edx
mov eax, dword [eax]
mov dword [ebp - 0x7e4], ecx
mov dword [ebp - 0x764], edx
movd xmm0, edx
mulsd xmm1, qword [eax + 0xad0]
cvtdq2pd xmm0, xmm0
divsd xmm1, qword [ebp - 0x828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movd xmm1, edi
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm1, xmm1
mov eax, dword [eax]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x670], ecx
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, ecx
add eax, dword [ebp - 0x650]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x668], eax
jne 0x4b3866
mov esi, dword [ebp - 0x6f8]
nop dword [eax]
test esi, esi
je 0x4b38ac
mov eax, dword [ebp - 0x724]
movzx esi, word [esi + 4]
movzx edx, word [eax + 4]
mov eax, esi
mov dword [ebp - 0x720], eax
movsx eax, word [ebp - 0x728]
movsx ecx, dx
add ecx, eax
mov dword [ebp - 0x700], edx
movsx eax, si
movzx edi, dx
cmp ecx, eax
jle 0x4b38ac
mov ecx, dword [ebp - 0x6f8]
mov eax, esi
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4b3832
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp - 0x6ec]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x764]
push dword [ebp - 0x7e4]
call fcn.00487090
mov esi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [esi + 4]
movzx edi, word [ecx + 4]
jmp 0x4b3838
mov esi, dword [ebp - 0x6f8]
movsx ecx, word [esi + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
movsx eax, di
add eax, edx
cmp eax, ecx
jl 0x4b38ac
cmp byte [ebp - 0x6e1], 0
mov esi, dword [esi]
mov dword [ebp - 0x6f8], esi
jne 0x4b3790
jmp 0x4b38ac
push 0
push dword [ebp - 0x7d4]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push edx
push ecx
mov ecx, dword [ebp - 0x6ec]
call fcn.004ecc10
mov dword [ebp - 0x74c], eax
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov ecx, dword [ebp - 0x71c]
movd xmm1, dword [ebp - 0x718]
jmp 0x4b318c
mov esi, 0xff03
cmp word [ecx + 2], si
jne 0x4b3f71
mov esi, 0x300c
cmp word [edi], si
jne 0x4b3f71
movsx esi, ax
mov eax, 0x300d
cmp word [ecx + esi*2 - 0x10], ax
jne 0x4b3f71
mov eax, 0x306f
cmp word [ecx + esi*2 - 0xe], ax
jne 0x4b3f71
mov eax, 0x884c
cmp word [ecx + esi*2 - 0xc], ax
jne 0x4b3f71
mov eax, 0x5de6
cmp word [ecx + esi*2 - 0xa], ax
jne 0x4b3f71
mov eax, 0x5c0f
cmp word [ecx + esi*2 - 8], ax
jne 0x4b3f71
mov eax, 0x66f8
cmp word [ecx + esi*2 - 6], ax
jne 0x4b3f71
mov eax, 0x304d
cmp word [ecx + esi*2 - 4], ax
jne 0x4b3f71
mov eax, 0xff3d
cmp word [ecx + esi*2 - 2], ax
jne 0x4b3f71
mov eax, dword [ebp - 0x6d8]
test byte [eax], 0x20
jne 0x4b8471
mov edi, dword [ebp - 0x6dc]
add edi, 0xc
mov dword [ebp - 0x71c], edi
mov eax, dword [edi]
push dword [eax + 0x1c0]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
lea ecx, [ebp - 0x650]
mov dword [ebp - 0x714], eax
push ecx
lea eax, [esi - 0xb]
mov esi, dword [ebp - 0x72c]
push esi
push 0
push 0
push eax
push dword [ebp - 0x7e8]
mov dword [ebp - 0x718], eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x6fc]
mov ecx, dword [esi]
mov esi, 1
movsd xmm2, qword [ebp - 0x710]
mov dword [edx], ecx
mov eax, dword [edi]
mov edi, dword [ebp - 0x718]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov dword [edx], eax
lea edx, [edi - 1]
cmp edi, esi
jle 0x4b3af6
cmp edx, 2
jb 0x4b3af6
mov ecx, dword [ebp - 0x71c]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x6fc]
add eax, 0xa80
mov dword [ebp - 0x720], eax
movd xmm0, dword [eax]
lea edi, [ecx + 4]
movsx eax, dx
shl eax, 2
add ecx, eax
pshufd xmm0, xmm0, 0
add eax, dword [ebp - 0x72c]
mov dword [ebp - 0x700], edi
cmp edi, eax
ja 0x4b3a6b
cmp ecx, dword [ebp - 0x72c]
jae 0x4b3af0
mov eax, dword [ebp - 0x71c]
cmp edi, eax
ja 0x4b3a7d
cmp ecx, eax
jae 0x4b3cd2
mov eax, dword [ebp - 0x720]
cmp edi, eax
ja 0x4b3a8b
cmp ecx, eax
jae 0x4b3af0
and edx, reloc.d2d1.dll_Ordinal_1
jns 0x4b3a98
dec edx
or edx, 0xfffffffe
inc edx
mov ecx, dword [ebp - 0x718]
movq xmm0, xmm0
mov edi, dword [ebp - 0x72c]
sub ecx, edx
mov edx, dword [ebp - 0x6fc]
mov eax, esi
cvtdq2pd xmm0, xmm0
mulpd xmm0, xmmword [ebp - 0x950]
cvttpd2dq xmm2, xmm0
movq xmm0, qword [edi + eax*4 - 4]
add esi, 2
movq xmm1, qword [edi + eax*4]
psubd xmm1, xmm0
movq xmm0, xmm2
paddd xmm1, xmm0
movq qword [edx + eax*4], xmm1
movsx eax, si
cmp eax, ecx
jl 0x4b3ac2
movsd xmm2, qword [ebp - 0x710]
mov edi, dword [ebp - 0x718]
mov eax, dword [ebp - 0x71c]
movsx edx, si
cmp edx, edi
jge 0x4b3b4a
mov edi, dword [ebp - 0x72c]
inc esi
mov ecx, dword [edi + edx*4]
sub ecx, dword [edi + edx*4 - 4]
mov edi, dword [ebp - 0x6fc]
mov dword [edi + edx*4], ecx
mov eax, dword [eax]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, edi
mov edi, dword [ebp - 0x718]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x71c]
movsx edx, si
cmp edx, edi
jl 0x4b3b03
cmp word [ebp - 0x76c], 0x40
mov eax, dword [ebp - 0x738]
mov edx, dword [eax + 4]
jne 0x4b3d5d
mov esi, dword [eax + 8]
mov ecx, dword [ebp - 0x73c]
movd xmm1, edi
cvtdq2pd xmm1, xmm1
sub edx, dword [ecx + 4]
sub esi, dword [ecx]
sub esi, dword [ebp - 0x760]
sub edx, dword [ebp - 0x730]
add edx, dword [ebp - 0x6e0]
mov ecx, dword [ebp - 0x71c]
mov dword [ebp - 0x660], esi
mov dword [ebp - 0x65c], edx
mov dword [ebp - 0x7e4], esi
mov eax, dword [ecx]
mov dword [ebp - 0x764], edx
movd xmm0, dword [eax + 0xa80]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
movd xmm1, eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm1, xmm1
cvttsd2si ecx, xmm0
movd xmm0, esi
add ecx, edx
add ecx, dword [ebp - 0x650]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x654], ecx
mov eax, dword [eax]
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [eax + 0xad0]
mov dword [ebp - 0x66c], edx
mov dword [ebp - 0x664], ecx
divsd xmm1, qword [ebp - 0x828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x658], eax
jne 0x4b3d18
mov esi, dword [ebp - 0x6f8]
nop
test esi, esi
je 0x4b3f4c
mov eax, dword [ebp - 0x724]
movzx esi, word [esi + 4]
movzx edx, word [eax + 4]
mov eax, esi
mov dword [ebp - 0x720], eax
movsx eax, word [ebp - 0x728]
movsx ecx, dx
add ecx, eax
mov dword [ebp - 0x700], edx
movsx eax, si
movzx edi, dx
cmp ecx, eax
jle 0x4b3f4c
mov ecx, dword [ebp - 0x6f8]
mov eax, esi
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4b3cdd
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp - 0x6ec]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x764]
push dword [ebp - 0x7e4]
call fcn.004874d0
mov esi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [esi + 4]
movzx edi, word [ecx + 4]
jmp 0x4b3ce3
mov edi, dword [ebp - 0x718]
jmp 0x4b3afc
mov esi, dword [ebp - 0x6f8]
movsx ecx, word [esi + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
movsx eax, di
add eax, edx
cmp eax, ecx
jl 0x4b3f4c
cmp byte [ebp - 0x6e1], 0
mov esi, dword [esi]
mov dword [ebp - 0x6f8], esi
jne 0x4b3c30
jmp 0x4b3f4c
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push edx
push esi
call fcn.004ece90
jmp 0x4b3f46
mov ecx, dword [eax]
mov esi, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x7c4]
sub ecx, dword [esi]
sub edx, dword [esi + 4]
sub ecx, dword [ebp - 0x730]
add ecx, dword [ebp - 0x6e0]
add edx, dword [ebp - 0x760]
movd xmm0, eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x654], edx
mov eax, dword [eax]
mov dword [ebp - 0x7e4], ecx
mov dword [ebp - 0x764], edx
movd xmm1, edx
mulsd xmm0, qword [eax + 0xad0]
cvtdq2pd xmm1, xmm1
divsd xmm0, qword [ebp - 0x828]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
movd xmm1, edi
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x71c]
cvtdq2pd xmm1, xmm1
mov eax, dword [eax]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x670], ecx
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, ecx
add eax, dword [ebp - 0x650]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x668], eax
jne 0x4b3f06
mov esi, dword [ebp - 0x6f8]
nop dword [eax]
test esi, esi
je 0x4b3f4c
mov eax, dword [ebp - 0x724]
movzx esi, word [esi + 4]
movzx edx, word [eax + 4]
mov eax, esi
mov dword [ebp - 0x720], eax
movsx eax, word [ebp - 0x728]
movsx ecx, dx
add ecx, eax
mov dword [ebp - 0x700], edx
movsx eax, si
movzx edi, dx
cmp ecx, eax
jle 0x4b3f4c
mov ecx, dword [ebp - 0x6f8]
mov eax, esi
movzx eax, ax
cmp ecx, dword [ebx + 0x20]
jne 0x4b3ed2
push dword [ebp - 0x7d0]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [ecx + 6]
mov ecx, dword [ebp - 0x6ec]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x764]
push dword [ebp - 0x7e4]
call fcn.00487090
mov esi, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x724]
mov byte [ebp - 0x6e1], 0
movzx eax, word [esi + 4]
movzx edi, word [ecx + 4]
jmp 0x4b3ed8
mov esi, dword [ebp - 0x6f8]
movsx ecx, word [esi + 6]
movsx edx, word [ebp - 0x728]
cwde
add ecx, eax
movsx eax, di
add eax, edx
cmp eax, ecx
jl 0x4b3f4c
cmp byte [ebp - 0x6e1], 0
mov esi, dword [esi]
mov dword [ebp - 0x6f8], esi
jne 0x4b3e30
jmp 0x4b3f4c
push 0
push dword [ebp - 0x7d4]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x724]
movzx eax, word [eax + 4]
push eax
push dword [ebp - 0x728]
push edx
push ecx
mov ecx, dword [ebp - 0x6ec]
call fcn.004ecc10
mov dword [ebp - 0x74c], eax
push dword [ebp - 0x714]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov ecx, dword [ebp - 0x71c]
movd xmm1, dword [ebp - 0x718]
jmp 0x4b318c
cmp word [ebp - 0x76c], 0x40
mov esi, dword [ebp - 0x6e8]
jne 0x4aa39f
cmp si, 0xa
jl 0x4aa39f
mov eax, 0xff3b
cmp dx, ax
jne 0x4aa39f
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4aa39f
mov eax, 0x300c
cmp word [edi], ax
jne 0x4aa39f
movsx esi, si
mov eax, 0x300d
cmp word [ecx + esi*2 - 0xc], ax
jne 0x4a9c10
mov eax, 0x306f
cmp word [ecx + esi*2 - 0xa], ax
jne 0x4a9c10
mov eax, 0x6a2a
cmp word [ecx + esi*2 - 8], ax
jne 0x4a9c10
mov eax, 0x7d44
cmp word [ecx + esi*2 - 6], ax
jne 0x4a9c10
mov eax, 0x307f
cmp word [ecx + esi*2 - 4], ax
jne 0x4a9c10
mov eax, 0xff3d
cmp word [ecx + esi*2 - 2], ax
jne 0x4a9c10
mov edi, dword [ebp - 0x6dc]
add edi, 0xc
mov dword [ebp - 0x718], edi
mov eax, dword [edi]
push dword [eax + 0x1c4]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov dword [ebp - 0x714], eax
add esi, 0xfffffff7
lea eax, [ebp - 0x650]
mov dword [ebp - 0x744], esi
push eax
push dword [ebp - 0x72c]
push 0
push 0
push esi
push dword [ebp - 0x7e8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov eax, dword [edi]
mov edx, 1
movsd xmm1, qword [ebp - 0x710]
mov ecx, dword [ebp - 0x72c]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
add eax, dword [ecx]
mov ecx, dword [ebp - 0x6fc]
mov dword [ecx], eax
lea ecx, [esi - 1]
cmp esi, edx
jle 0x4b422f
cmp ecx, 8
jb 0x4b422f
mov eax, dword [edi]
mov esi, dword [ebp - 0x6fc]
add eax, 0xa80
mov dword [ebp - 0x720], eax
movd xmm0, dword [eax]
lea edi, [esi + 4]
movsx eax, cx
shl eax, 2
add esi, eax
pshufd xmm0, xmm0, 0
add eax, dword [ebp - 0x72c]
mov dword [ebp - 0x700], edi
cmp edi, eax
ja 0x4b40fd
cmp esi, dword [ebp - 0x72c]
jae 0x4b4223
mov eax, dword [ebp - 0x718]
cmp edi, eax
ja 0x4b410f
cmp esi, eax
jae 0x4b4223
mov eax, dword [ebp - 0x720]
cmp edi, eax
ja 0x4b4121
cmp esi, eax
jae 0x4b4223
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x4b412e
dec ecx
or ecx, 0xfffffff8
inc ecx
mov edi, dword [ebp - 0x744]
movq xmm0, xmm0
cvtdq2pd xmm0, xmm0
sub edi, ecx
mov eax, edx
mov dword [ebp - 0x720], edi
mov esi, 5
mulpd xmm0, xmmword [ebp - 0x950]
cvttpd2dq xmm2, xmm0
nop word [eax + eax]
mov edi, dword [ebp - 0x72c]
movq xmm1, xmm2
movzx ecx, si
add edx, 8
mov dword [ebp - 0x700], ecx
movq xmm0, qword [edi + eax*4 - 4]
psubd xmm1, xmm0
movq xmm0, qword [edi + eax*4]
mov edi, dword [ebp - 0x6fc]
paddd xmm1, xmm0
movq qword [edi + eax*4], xmm1
movq xmm1, xmm2
movsx eax, cx
mov ecx, dword [ebp - 0x72c]
movq xmm0, qword [ecx + eax*4 - 0xc]
psubd xmm1, xmm0
movq xmm0, qword [ecx + eax*4 - 8]
paddd xmm1, xmm0
movq qword [edi + eax*4 - 8], xmm1
movq xmm1, xmm2
movsx eax, si
add esi, 8
movq xmm0, qword [ecx + eax*4 - 4]
psubd xmm1, xmm0
movq xmm0, qword [ecx + eax*4]
mov ecx, dword [ebp - 0x700]
paddd xmm1, xmm0
movq qword [edi + eax*4], xmm1
movq xmm1, xmm2
movsx eax, cx
mov ecx, dword [ebp - 0x72c]
movq xmm0, qword [ecx + eax*4 + 4]
psubd xmm1, xmm0
movq xmm0, qword [ecx + eax*4 + 8]
mov ecx, edi
paddd xmm1, xmm0
movq qword [ecx + eax*4 + 8], xmm1
movsx eax, dx
cmp eax, dword [ebp - 0x720]
jl 0x4b4160
movsd xmm1, qword [ebp - 0x710]
mov esi, dword [ebp - 0x744]
mov edi, dword [ebp - 0x718]
movsx ecx, dx
cmp ecx, esi
jge 0x4b426e
mov eax, dword [edi]
inc edx
mov esi, dword [ebp - 0x72c]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
sub eax, dword [esi + ecx*4 - 4]
add eax, dword [esi + ecx*4]
mov esi, dword [ebp - 0x6fc]
mov dword [esi + ecx*4], eax
movsx ecx, dx
cmp ecx, dword [ebp - 0x744]
jl 0x4b4236
mov eax, dword [ebp - 0x738]
mov esi, dword [ebp - 0x73c]
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 - 0x7dc]
sub eax, dword [ebp - 0x754]
mov dword [ebp - 0x700], ecx
mov ecx, dword [ebp - 0x738]
sub edi, dword [ebp - 0x700]
sub edi, dword [ebp - 0x760]
mov dword [ebp - 0x720], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x6e0]
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x744], edx
sub edx, esi
sub dword [ebp - 0x744], esi
add dword [ebp - 0x744], ecx
mov dword [ebp - 0x660], edi
mov eax, dword [eax + 0xc]
sub eax, esi
mov dword [ebp - 0x65c], edx
sub eax, dword [ebp - 0x80c]
cmp word [ebx + 0x48], 0
mov dword [ebp - 0x654], eax
jne 0x4b4406
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x6f8]
movzx eax, word [eax + 4]
movzx edx, ax
mov esi, edx
test ecx, ecx
je 0x4b43ea
mov ax, word [ebp - 0x728]
movzx edi, word [ecx + 4]
cwde
mov dword [ebp - 0x700], eax
mov eax, edi
movsx ecx, dx
add ecx, dword [ebp - 0x700]
mov dword [ebp - 0x764], eax
movsx eax, di
cmp ecx, eax
jle 0x4b43ea
mov esi, dword [ebp - 0x6f8]
mov eax, edi
mov ecx, edx
movzx eax, ax
cmp esi, dword [ebx + 0x20]
jne 0x4b43ac
push dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x660]
push dword [ebp - 0x6fc]
push eax
movzx eax, word [esi + 6]
push eax
push edi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x744]
push dword [ebp - 0x720]
call fcn.004874d0
mov ecx, dword [ebp - 0x724]
movzx eax, word [esi + 4]
mov byte [ebp - 0x6e1], 0
movzx ecx, word [ecx + 4]
movzx edx, cx
mov ecx, dword [ebp - 0x6f8]
mov edi, edx
cwde
mov esi, edx
movsx ecx, word [ecx + 6]
add ecx, eax
movsx eax, dx
add eax, dword [ebp - 0x700]
cmp eax, ecx
jl 0x4b43ea
cmp byte [ebp - 0x6e1], 0
mov eax, edi
mov ecx, dword [ebp - 0x6f8]
mov ecx, dword [ecx]
mov dword [ebp - 0x6f8], ecx
jne 0x4b4313
mov edi, dword [ebp - 0x724]
movzx ecx, si
mov eax, dword [edi + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, cx
jmp 0x4b12e4
mov edi, dword [ebp - 0x724]
lea eax, [ebp - 0x670]
push 0
push dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x6ec]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
movzx eax, word [edi + 4]
push eax
push dword [ebp - 0x728]
push dword [ebp - 0x744]
push dword [ebp - 0x720]
call fcn.004ece90
movzx ecx, word [edi + 4]
mov dword [ebp - 0x74c], eax
mov eax, dword [edi + 0xc]
movd xmm1, dword [eax + 0xa80]
movsx eax, cx
jmp 0x4b12e4
mov cl, byte [ebp - 0x7eb]
mov byte [ebp - 0x850], cl
cmp ax, word [ebp - 0x914]
jne 0x4b44a1
mov byte [ebp - 0x850], cl
cmp si, 1
jne 0x4b44a1
mov eax, dword [ebp - 0x6d8]
mov byte [ebp - 0x850], 0
and dword [eax], 0xfeffffff
cmp dword [ebp - 0x830], 2
ja 0x4b450c
mov edx, dword [ebp - 0x864]
mov ecx, edi
call fcn.0040b510
cmp ax, 2
jne 0x4b44f9
cmp dword [ebp - 0x830], 2
mov ecx, dword [ebp - 0x750]
mov eax, dword [ecx]
jne 0x4b44e2
or eax, 3
mov dword [ebp - 0x830], 3
mov dword [ecx], eax
jmp 0x4b5dd7
and eax, 0xfffffffe
mov dword [ebp - 0x830], 2
or eax, 2
mov dword [ecx], eax
jmp 0x4b5dd7
mov edx, dword [ebp - 0x6dc]
cmp dword [ebp - 0x830], 2
je 0x4b5dd7
mov ecx, dword [ebx + 0x44]
mov byte [ebp - 0x83c], 0
cmp byte [ecx + 0x77f], 0
je 0x4b4954
mov ax, word [edx + 8]
mov ecx, 0x210
and ax, cx
mov ecx, 0x200
cmp ax, cx
jne 0x4b4954
mov ecx, dword [ebp - 0x704]
mov edx, 0x5165
movsx eax, si
cmp word [ecx + eax*2 - 6], dx
jne 0x4b5dd7
mov edx, 0x308b
cmp word [ecx + eax*2 - 4], dx
jne 0x4b5dd7
lea eax, [esi - 4]
movzx esi, ax
mov dword [ebp - 0x718], esi
test si, si
js 0x4b5dd7
mov edx, ecx
mov edi, 0xff03
movsx ecx, si
movzx eax, word [edx + ecx*2]
cmp ax, di
je 0x4b5dd7
cmp eax, 0x2e
jne 0x4b471e
movzx eax, word [edx + ecx*2 + 2]
mov dword [ebp - 0x864], eax
cmp eax, 0x70
je 0x4b45b0
cmp eax, 0x50
jne 0x4b45dc
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x6e
je 0x4b45bf
cmp edi, 0x4e
jne 0x4b45dc
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x67
je 0x4b46c3
cmp edx, 0x47
je 0x4b46c3
mov edx, dword [ebp - 0x704]
cmp eax, 0x67
je 0x4b45e6
cmp eax, 0x47
jne 0x4b460c
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x69
je 0x4b45f5
cmp edi, 0x49
jne 0x4b460c
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x66
je 0x4b46c3
cmp edx, 0x46
je 0x4b46c3
cmp eax, 0x62
je 0x4b4616
cmp eax, 0x42
jne 0x4b4642
mov edx, dword [ebp - 0x704]
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x6d
je 0x4b462b
cmp edi, 0x4d
jne 0x4b4648
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x70
je 0x4b46c3
cmp edx, 0x50
je 0x4b46c3
mov edx, dword [ebp - 0x704]
cmp eax, 0x6a
je 0x4b4656
cmp eax, 0x4a
jne 0x4b4719
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x70
je 0x4b4665
cmp edi, 0x50
jne 0x4b467a
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x67
je 0x4b46c3
cmp edx, 0x47
je 0x4b46c3
mov edx, dword [ebp - 0x704]
cmp eax, 0x6a
je 0x4b4688
cmp eax, 0x4a
jne 0x4b4719
movzx edi, word [edx + ecx*2 + 4]
cmp edi, 0x70
je 0x4b469b
cmp edi, 0x50
jne 0x4b4719
movzx edx, word [edx + ecx*2 + 6]
cmp edx, 0x65
je 0x4b46ae
cmp edx, 0x45
jne 0x4b4713
mov eax, dword [ebp - 0x704]
movzx eax, word [eax + ecx*2 + 8]
cmp eax, 0x67
je 0x4b46c3
cmp eax, 0x47
jne 0x4b4713
lea eax, [esi - 1]
mov esi, dword [ebp - 0x704]
movzx ecx, ax
movsx eax, cx
movzx eax, word [esi + eax*2]
mov esi, 0xff03
cmp ax, si
mov esi, dword [ebp - 0x718]
je 0x4b4713
cmp ax, word [ebp - 0x918]
je 0x4b4733
cmp ax, 0x28
je 0x4b4733
mov esi, dword [ebp - 0x704]
dec ecx
movsx eax, cx
movzx eax, word [esi + eax*2]
mov esi, 0xff03
cmp ax, si
mov esi, dword [ebp - 0x718]
jne 0x4b46e6
mov edx, dword [ebp - 0x704]
mov edi, 0xff03
dec esi
mov dword [ebp - 0x718], esi
test si, si
jns 0x4b4582
jmp 0x4b5dd7
mov eax, dword [ebp - 0x864]
xor esi, esi
cmp ax, 0x6a
je 0x4b474b
cmp ax, 0x4a
jne 0x4b4812
cmp di, 0x70
je 0x4b475b
cmp di, 0x50
jne 0x4b4812
cmp dx, 0x65
je 0x4b476b
cmp dx, 0x45
jne 0x4b4812
mov edx, dword [ebp - 0x718]
mov edi, dword [ebp - 0x704]
movsx eax, dx
movzx eax, word [edi + eax*2 + 8]
cmp eax, 0x67
je 0x4b478d
cmp eax, 0x47
jne 0x4b4818
lea eax, [edx + 4]
movzx edi, ax
lea edx, [ecx + 1]
movzx eax, dx
cmp ax, di
jg 0x4b47d4
nop
mov ecx, dword [ebp - 0x704]
lea eax, [edx + esi]
cwde
movzx eax, word [ecx + eax*2]
movsx ecx, si
mov word [ebp + ecx*2 - 0x248], ax
cmp eax, 0x2f
jne 0x4b47cb
mov eax, 0x5c
mov word [ebp + ecx*2 - 0x248], ax
inc esi
lea eax, [edx + esi]
cmp ax, di
jle 0x4b47a0
movsx eax, si
add eax, eax
cmp eax, 0x200
jae 0x4b8932
mov esi, dword [ebp - 0x858]
xor ecx, ecx
mov word [ebp + eax - 0x248], cx
mov ecx, esi
call fcn.0040d890
lea edx, [ebp - 0x248]
test eax, eax
je 0x4b4820
lea ecx, [ebp - 0x648]
call fcn.0041dcd0
jmp 0x4b4831
mov edx, dword [ebp - 0x718]
lea eax, [edx + 3]
jmp 0x4b4790
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 - 0x96c], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x4b486c
push 8
mov ecx, esi
call fcn.004690d0
push dword [ebp - 0x6f0]
mov ecx, esi
call fcn.00468ef0
mov dword [ebp - 0x700], eax
jmp 0x4b4876
mov dword [ebp - 0x700], 0
mov ecx, 0x10
mov dword [ebp - 4], 0xffffffff
call fcn.00468dc0
mov esi, eax
mov dword [ebp - 0x95c], esi
mov dword [ebp - 4], 1
test esi, esi
je 0x4b48b7
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
jmp 0x4b48b9
xor edi, edi
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x4b4938
mov ecx, edi
call fcn.00469050
mov ecx, edi
mov esi, eax
call fcn.00469090
cmp word [ebp - 0x76c], 0x40
mov ecx, eax
mov eax, dword [ebp - 0x6dc]
movsx eax, word [eax + 6]
jne 0x4b4904
cmp eax, esi
je 0x4b48fe
test esi, esi
je 0x4b48fe
imul eax, ecx
cdq
idiv esi
mov ecx, eax
movd xmm0, ecx
jmp 0x4b4918
cmp eax, ecx
je 0x4b4914
test ecx, ecx
je 0x4b4914
imul eax, esi
cdq
idiv ecx
mov esi, eax
movd xmm0, esi
cvtdq2pd xmm0, xmm0
push 1
mov ecx, edi
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add dword [ebp - 0x6e0], eax
mov eax, dword [edi]
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x700]
test eax, eax
je 0x4b8458
push 1
mov ecx, eax
call fcn.004867c0
jmp 0x4b5dd7
xor edi, edi
mov dword [ebp - 0x838], edi
cmp si, 7
jne 0x4b4a0e
mov ecx, dword [ebp - 0x704]
mov eax, 0xff3b
movzx edi, word [ecx]
cmp di, ax
jne 0x4b5c5a
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b590c
mov eax, 0x5b57
cmp word [ecx + 6], ax
jne 0x4b590c
mov eax, 0x4e0b
cmp word [ecx + 8], ax
jne 0x4b590c
mov eax, 0x3052
cmp word [ecx + 0xa], ax
jne 0x4b590c
mov eax, 0xff3d
cmp word [ecx + 0xc], ax
jne 0x4b590c
mov eax, dword [ebp - 0x810]
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 0x4b4a07
mov ecx, edx
cmp cx, 9
jl 0x4b49d3
mov ecx, dword [ebp - 0x704]
mov esi, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x810]
jmp 0x4b590f
mov edi, edx
jmp 0x4b4ca3
cmp si, 8
jne 0x4b4ad0
mov ecx, dword [ebp - 0x704]
mov eax, 0xff3b
movzx edi, word [ecx]
cmp di, ax
jne 0x4b5c5a
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b590c
mov eax, 0x5b57
cmp word [ecx + 8], ax
jne 0x4b590c
mov eax, 0x4e0b
cmp word [ecx + 0xa], ax
jne 0x4b590c
mov eax, 0x3052
cmp word [ecx + 0xc], ax
jne 0x4b590c
mov eax, 0xff3d
cmp word [ecx + 0xe], ax
jne 0x4b590c
mov eax, dword [ebp - 0x810]
mov ecx, 9
movzx esi, word [eax]
nop dword [eax + eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b4ab2
mov eax, dword [ebp - 0x7e8]
mov ax, word [eax]
cmp ax, word [edx + 2]
je 0x4b4c9d
inc ecx
cmp cx, 0x1e
jl 0x4b4a90
mov ecx, dword [ebp - 0x704]
mov esi, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x810]
jmp 0x4b590f
cmp si, 0xa
jne 0x4b4baf
mov ecx, dword [ebp - 0x704]
mov eax, 0xff3b
movzx edi, word [ecx]
cmp di, ax
jne 0x4b5c5a
mov eax, 0xff03
cmp word [ecx + 2], ax
lea eax, [ecx + 4]
jne 0x4b590f
mov edx, 0x5929
cmp word [eax], dx
jne 0x4b590f
mov edi, 0x304b
cmp word [ecx + 6], di
jne 0x4b590f
mov edi, 0x3089
cmp word [ecx + 8], di
jne 0x4b590f
mov edi, 0x5b57
cmp word [ecx + 0xc], di
jne 0x4b590f
mov edi, 0x4e0b
cmp word [ecx + 0xe], di
jne 0x4b590f
mov edi, 0x3052
cmp word [ecx + 0x10], di
jne 0x4b590f
mov edi, 0xff3d
cmp word [ecx + 0x12], di
jne 0x4b590f
mov eax, dword [ebp - 0x704]
xor ecx, ecx
movzx esi, word [eax + 0xa]
lea eax, [ecx + 1]
movzx edx, ax
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp si, word [eax]
je 0x4b4a07
mov ecx, edx
cmp cx, 9
jl 0x4b4b77
mov ecx, dword [ebp - 0x704]
mov esi, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x810]
jmp 0x4b590f
cmp si, 0xb
jne 0x4b4d39
mov ecx, dword [ebp - 0x704]
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b590c
mov edi, 0xff03
lea edx, [ecx + 4]
cmp word [ecx + 2], di
jne 0x4b4d53
mov eax, 0x5929
cmp word [edx], ax
lea eax, [ecx + 6]
jne 0x4b4d56
mov edi, 0x304b
cmp word [eax], di
jne 0x4b4d56
mov edi, 0x3089
cmp word [ecx + 8], di
jne 0x4b4d56
mov edi, 0x5b57
cmp word [ecx + 0xe], di
jne 0x4b4d56
mov edi, 0x4e0b
cmp word [ecx + 0x10], di
jne 0x4b4d56
mov edi, 0x3052
cmp word [ecx + 0x12], di
jne 0x4b4d56
mov edi, 0xff3d
cmp word [ecx + 0x14], di
jne 0x4b4d56
mov edi, dword [ebp - 0x704]
mov ecx, 9
movzx esi, word [edi + 0xa]
nop dword [eax + eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b4c79
mov ax, word [edi + 0xc]
cmp ax, word [edx + 2]
je 0x4b4c9d
inc ecx
cmp cx, 0x1e
jl 0x4b4c60
mov ecx, dword [ebp - 0x704]
mov esi, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x7e8]
mov edx, dword [ebp - 0x810]
jmp 0x4b4d56
lea eax, [ecx + 1]
movzx edi, ax
mov dword [ebp - 0x838], edi
test di, di
jle 0x4b4d2f
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
lea eax, [ebp - 0x684]
push 0
push 0
push 1
push eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x6dc]
movsd xmm3, qword [ebp - 0x710]
mov esi, dword [ebp - 0x6d8]
mov eax, dword [ecx + 0xc]
movd xmm0, dword [eax + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add eax, dword [ebp - 0x650]
imul eax, edi
mov edi, dword [ebp - 0x6e0]
movzx eax, ax
mov dword [ebp - 0x85c], eax
cwde
sub eax, dword [ebp - 0x840]
add edi, eax
mov dword [ebp - 0x6e0], edi
jmp 0x4b5df1
mov esi, dword [ebp - 0x6e8]
cmp si, 0xb
mov ecx, dword [ebp - 0x704]
jl 0x4b4e2d
mov eax, dword [ebp - 0x7e8]
mov edx, dword [ebp - 0x810]
jmp 0x4b4d56
lea eax, [ecx + 6]
mov edi, 0xff3b
cmp word [ecx], di
mov edi, 0xff03
jne 0x4b4e2d
cmp word [ecx + 2], di
jne 0x4b4e2d
mov edi, 0x3053
cmp word [edx], di
jne 0x4b4e2d
cmp word [eax], di
jne 0x4b4e2d
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b4e2d
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b4e2d
mov eax, 0x5b57
cmp word [ecx + 0xe], ax
jne 0x4b4e2d
mov eax, 0x4e0b
cmp word [ecx + 0x10], ax
jne 0x4b4e2d
mov eax, 0x3052
cmp word [ecx + 0x12], ax
jne 0x4b4e2d
mov eax, dword [ebp - 0x704]
xor ecx, ecx
movzx edx, word [eax + 0xc]
nop dword [eax]
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x4b4df8
inc ecx
cmp cx, 9
jl 0x4b4de0
jmp 0x4b4e27
mov edi, dword [ebp - 0x750]
movsx eax, cx
lea ecx, [eax + 1]
inc eax
shl eax, 8
shl ecx, 0xd
or ecx, eax
mov eax, dword [edi]
and eax, 0xfffc00ff
or ecx, eax
mov eax, dword [ebp - 0x6d8]
or ecx, 8
mov dword [edi], ecx
or dword [eax], 0x20000
mov ecx, dword [ebp - 0x704]
cmp si, 0x16
jne 0x4b516d
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b5778
mov eax, 0xff03
lea edx, [ecx + 4]
cmp word [ecx + 2], ax
jne 0x4b531c
mov eax, 0x3053
cmp word [edx], ax
lea eax, [ecx + 6]
jne 0x4b4fe5
mov edi, 0x3053
cmp word [eax], di
jne 0x4b4fe5
mov edi, 0x304b
cmp word [ecx + 8], di
jne 0x4b4fe5
mov eax, 0x3089
cmp word [ecx + 0xa], ax
lea eax, [ecx + 6]
jne 0x4b4fe5
mov esi, 0x6539
cmp word [ecx + 0xc], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b4fe5
mov esi, 0x884c
cmp word [ecx + 0xe], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b4fe5
mov edi, 0x5929
cmp word [ecx + 0x10], di
jne 0x4b4fe5
mov eax, 0x4ed8
cmp word [ecx + 0x12], ax
lea eax, [ecx + 6]
jne 0x4b4fe5
mov edi, 0x304d
cmp word [ecx + 0x14], di
jne 0x4b4fe5
mov esi, 0x3001
cmp word [ecx + 0x16], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b4fe5
mov edi, 0x6298
cmp word [ecx + 0x18], di
jne 0x4b4fe5
mov esi, 0x308a
cmp word [ecx + 0x1a], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b4fe5
mov eax, 0x8fd4
cmp word [ecx + 0x1c], ax
lea eax, [ecx + 6]
jne 0x4b4fe5
mov edi, 0x3057
cmp word [ecx + 0x1e], di
jne 0x4b4fe5
mov edi, 0x3066
cmp word [ecx + 0x20], di
jne 0x4b4fe5
mov esi, 0x5b57
cmp word [ecx + 0x24], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b4fe5
mov eax, 0x4e0b
cmp word [ecx + 0x26], ax
lea eax, [ecx + 6]
jne 0x4b4fe5
mov eax, 0x3052
cmp word [ecx + 0x28], ax
lea eax, [ecx + 6]
jne 0x4b4fe5
mov edi, 0xff3d
cmp word [ecx + 0x2a], di
mov edi, dword [ebp - 0x750]
jne 0x4b4fe5
mov eax, dword [ebp - 0x704]
xor ecx, ecx
movzx edx, word [eax + 0x22]
nop dword [eax]
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x4b4fcb
inc ecx
cmp cx, 9
jl 0x4b4fb0
jmp 0x4b5dd7
mov eax, dword [edi]
movsx ecx, cx
and eax, 0xfffc00ff
inc ecx
shl ecx, 0xd
or ecx, eax
or ecx, 8
mov dword [edi], ecx
jmp 0x4b5dd7
mov edi, 0x3053
cmp word [edx], di
jne 0x4b531c
cmp word [eax], di
jne 0x4b531c
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b531c
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b531c
mov eax, 0x5b57
cmp word [ecx + 0xe], ax
jne 0x4b531c
mov edi, 0x4e0b
cmp word [ecx + 0x10], di
jne 0x4b531c
mov edi, 0x3052
cmp word [ecx + 0x12], di
jne 0x4b531c
mov edi, 0x3001
cmp word [ecx + 0x14], di
jne 0x4b531c
mov edi, 0x6298
cmp word [ecx + 0x16], di
jne 0x4b531c
mov edi, 0x308a
cmp word [ecx + 0x18], di
jne 0x4b531c
mov edi, 0x8fd4
cmp word [ecx + 0x1a], di
jne 0x4b531c
mov edi, 0x3057
cmp word [ecx + 0x1c], di
jne 0x4b531c
mov edi, 0x3066
cmp word [ecx + 0x1e], di
jne 0x4b531c
cmp word [ecx + 0x24], ax
jne 0x4b531c
mov eax, 0x4e0b
cmp word [ecx + 0x26], ax
jne 0x4b531c
mov eax, 0x3052
cmp word [ecx + 0x28], ax
jne 0x4b531c
mov eax, 0xff3d
cmp word [ecx + 0x2a], ax
jne 0x4b531c
mov edi, dword [ebp - 0x704]
xor ecx, ecx
movzx edx, word [edi + 0xc]
nop dword [eax]
nop dword [eax + eax]
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x4b5108
inc ecx
cmp cx, 9
jl 0x4b50f0
jmp 0x4b5123
mov edx, dword [ebp - 0x750]
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 + 0x20]
mov ecx, 9
nop dword [eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b5149
mov ax, word [edi + 0x22]
cmp ax, word [edx + 2]
je 0x4b5155
inc ecx
cmp cx, 0x1e
jl 0x4b5130
jmp 0x4b5dd7
movsx eax, cx
mov ecx, dword [ebp - 0x750]
shl eax, 0xd
add eax, 0x2000
or dword [ecx], eax
jmp 0x4b5dd7
cmp si, 0x15
jne 0x4b530f
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b590c
mov edi, 0xff03
lea edx, [ecx + 4]
cmp word [ecx + 2], di
jne 0x4b531c
mov eax, 0x3053
cmp word [edx], ax
lea eax, [ecx + 6]
jne 0x4b531f
mov edi, 0x3053
cmp word [eax], di
jne 0x4b531f
mov edi, 0x304b
cmp word [ecx + 8], di
jne 0x4b531f
mov edi, 0x3089
cmp word [ecx + 0xa], di
jne 0x4b531f
mov edi, 0x5b57
cmp word [ecx + 0xe], di
jne 0x4b531f
mov edi, 0x4e0b
cmp word [ecx + 0x10], di
jne 0x4b531f
mov edi, 0x3052
cmp word [ecx + 0x12], di
jne 0x4b531f
mov edi, 0x3001
cmp word [ecx + 0x14], di
jne 0x4b531f
mov edi, 0x6298
cmp word [ecx + 0x16], di
jne 0x4b531f
mov edi, 0x308a
cmp word [ecx + 0x18], di
jne 0x4b531f
mov edi, 0x8fd4
cmp word [ecx + 0x1a], di
jne 0x4b531f
mov edi, 0x3057
cmp word [ecx + 0x1c], di
jne 0x4b531f
mov edi, 0x3066
cmp word [ecx + 0x1e], di
jne 0x4b531f
mov edi, 0x5b57
cmp word [ecx + 0x22], di
jne 0x4b531f
mov edi, 0x4e0b
cmp word [ecx + 0x24], di
jne 0x4b531f
mov edi, 0x3052
cmp word [ecx + 0x26], di
jne 0x4b531f
mov edi, 0xff3d
cmp word [ecx + 0x28], di
jne 0x4b531f
mov edi, dword [ebp - 0x704]
xor ecx, ecx
movzx edx, word [edi + 0xc]
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x4b52c1
inc ecx
cmp cx, 9
jl 0x4b52a3
mov esi, dword [ebp - 0x750]
jmp 0x4b52dc
mov esi, dword [ebp - 0x750]
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
movzx edx, word [edi + 0x20]
xor ecx, ecx
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x4b52fd
inc ecx
cmp cx, 9
jl 0x4b52e2
jmp 0x4b5dd7
movsx eax, cx
shl eax, 0xd
add eax, 0x2000
or dword [esi], eax
jmp 0x4b5dd7
cmp si, 0xc
jl 0x4b5407
lea edx, [ecx + 4]
lea eax, [ecx + 6]
mov edi, 0xff3b
cmp word [ecx], di
mov edi, 0xff03
jne 0x4b5407
cmp word [ecx + 2], di
jne 0x4b5407
mov edi, 0x3053
cmp word [edx], di
jne 0x4b5407
cmp word [eax], di
jne 0x4b5407
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b5407
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b5407
mov eax, 0x5b57
cmp word [ecx + 0x10], ax
jne 0x4b5407
mov eax, 0x4e0b
cmp word [ecx + 0x12], ax
jne 0x4b5407
mov eax, 0x3052
cmp word [ecx + 0x14], ax
jne 0x4b5407
mov edi, dword [ebp - 0x704]
mov ecx, 9
movzx esi, word [edi + 0xc]
nop dword [eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b53c9
mov ax, word [edi + 0xe]
cmp ax, word [edx + 2]
je 0x4b53d2
inc ecx
cmp cx, 0x1e
jl 0x4b53b0
jmp 0x4b5401
mov edx, dword [ebp - 0x750]
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 - 0x6d8]
or ecx, 8
mov dword [edx], ecx
or dword [eax], 0x20000
mov esi, dword [ebp - 0x6e8]
mov ecx, dword [ebp - 0x704]
cmp si, 0x17
jne 0x4b5769
movzx edi, word [ecx]
mov eax, 0xff3b
cmp di, ax
jne 0x4b5c5a
mov eax, 0xff03
cmp word [ecx + 2], ax
lea eax, [ecx + 4]
jne 0x4b590f
mov edi, 0x3053
lea edx, [ecx + 6]
cmp word [eax], di
jne 0x4b590f
cmp word [edx], di
jne 0x4b55fa
mov edi, 0x304b
cmp word [ecx + 8], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x3089
cmp word [ecx + 0xa], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x6539
cmp word [ecx + 0xc], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x884c
cmp word [ecx + 0xe], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x5929
cmp word [ecx + 0x10], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x4ed8
cmp word [ecx + 0x12], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x304d
cmp word [ecx + 0x14], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x3001
cmp word [ecx + 0x16], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x6298
cmp word [ecx + 0x18], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x308a
cmp word [ecx + 0x1a], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x8fd4
cmp word [ecx + 0x1c], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x3057
cmp word [ecx + 0x1e], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x3066
cmp word [ecx + 0x20], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x5b57
cmp word [ecx + 0x26], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x4e0b
cmp word [ecx + 0x28], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0x3052
cmp word [ecx + 0x2a], di
mov edi, 0x3053
jne 0x4b55fa
mov edi, 0xff3d
cmp word [ecx + 0x2c], di
jne 0x4b55f5
mov edi, dword [ebp - 0x704]
mov ecx, 9
movzx esi, word [edi + 0x22]
nop
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b55c9
mov ax, word [edi + 0x24]
cmp ax, word [edx + 2]
je 0x4b55d5
inc ecx
cmp cx, 0x1e
jl 0x4b55b0
jmp 0x4b5dd7
mov edx, dword [ebp - 0x750]
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 0x4b5dd7
mov edi, 0x3053
cmp word [eax], di
jne 0x4b590f
cmp word [edx], di
jne 0x4b590f
mov edi, 0x304b
cmp word [ecx + 8], di
jne 0x4b590f
mov edi, 0x3089
cmp word [ecx + 0xa], di
jne 0x4b590f
mov edi, 0x5b57
cmp word [ecx + 0x10], di
jne 0x4b590f
mov edi, 0x4e0b
cmp word [ecx + 0x12], di
jne 0x4b590f
mov edi, 0x3052
cmp word [ecx + 0x14], di
jne 0x4b590f
mov edi, 0x3001
cmp word [ecx + 0x16], di
jne 0x4b590f
mov edi, 0x6298
cmp word [ecx + 0x18], di
jne 0x4b590f
mov edi, 0x308a
cmp word [ecx + 0x1a], di
jne 0x4b590f
mov edi, 0x8fd4
cmp word [ecx + 0x1c], di
jne 0x4b590f
mov edi, 0x3057
cmp word [ecx + 0x1e], di
jne 0x4b590f
mov edi, 0x3066
cmp word [ecx + 0x20], di
mov edi, 0x5b57
jne 0x4b590f
cmp word [ecx + 0x26], di
jne 0x4b590f
mov edi, 0x4e0b
cmp word [ecx + 0x28], di
jne 0x4b590f
mov edi, 0x3052
cmp word [ecx + 0x2a], di
jne 0x4b590f
mov edi, dword [ebp - 0x704]
mov ecx, 9
movzx esi, word [edi + 0xc]
nop dword [eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b5709
mov ax, word [edi + 0xe]
cmp ax, word [edx + 2]
je 0x4b5712
inc ecx
cmp cx, 0x1e
jl 0x4b56f0
jmp 0x4b572d
mov edx, dword [ebp - 0x750]
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 word [eax + eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b575d
mov ax, word [edi + 0x24]
cmp ax, word [edx + 2]
je 0x4b5155
inc ecx
cmp cx, 0x1e
jl 0x4b5740
jmp 0x4b5dd7
cmp si, 0x16
jne 0x4b49fc
mov eax, 0xff3b
movzx edi, word [ecx]
cmp di, ax
jne 0x4b5c5a
mov eax, 0xff03
cmp word [ecx + 2], ax
lea eax, [ecx + 4]
jne 0x4b590f
mov edi, 0x3053
cmp word [eax], di
jne 0x4b590f
cmp word [ecx + 6], di
jne 0x4b590f
mov edi, 0x304b
cmp word [ecx + 8], di
jne 0x4b590f
mov edi, 0x3089
cmp word [ecx + 0xa], di
jne 0x4b590f
mov edi, 0x5b57
cmp word [ecx + 0x10], di
jne 0x4b590f
mov edi, 0x4e0b
cmp word [ecx + 0x12], di
jne 0x4b590f
mov edi, 0x3052
cmp word [ecx + 0x14], di
jne 0x4b590f
mov edi, 0x3001
cmp word [ecx + 0x16], di
jne 0x4b590f
mov edi, 0x6298
cmp word [ecx + 0x18], di
jne 0x4b590f
mov edi, 0x308a
cmp word [ecx + 0x1a], di
jne 0x4b590f
mov edi, 0x8fd4
cmp word [ecx + 0x1c], di
jne 0x4b590f
mov edi, 0x3057
cmp word [ecx + 0x1e], di
jne 0x4b590f
mov edi, 0x3066
cmp word [ecx + 0x20], di
mov edi, 0x5b57
jne 0x4b590f
cmp word [ecx + 0x24], di
jne 0x4b590f
mov edi, 0x4e0b
cmp word [ecx + 0x26], di
jne 0x4b590f
mov edi, 0x3052
cmp word [ecx + 0x28], di
jne 0x4b590f
mov edi, 0xff3d
cmp word [ecx + 0x2a], di
jne 0x4b590f
mov edi, dword [ebp - 0x704]
mov ecx, 9
movzx esi, word [edi + 0xc]
nop
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b58b9
mov ax, word [edi + 0xe]
cmp ax, word [edx + 2]
je 0x4b58ef
inc ecx
cmp cx, 0x1e
jl 0x4b58a0
mov esi, dword [ebp - 0x750]
movzx edx, word [edi + 0x22]
xor ecx, ecx
nop dword [eax]
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x4b52fd
inc ecx
cmp cx, 9
jl 0x4b58d0
jmp 0x4b5dd7
mov esi, dword [ebp - 0x750]
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 0x4b58c6
lea eax, [ecx + 4]
movzx edi, word [ecx]
mov edx, 0xff3b
cmp di, dx
lea edx, [ecx + 6]
jne 0x4b59a4
mov esi, 0xff03
cmp word [ecx + 2], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b59a4
mov esi, 0x3053
cmp word [eax], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b59a4
mov esi, 0x3053
cmp word [edx], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b59a4
mov edx, 0x3067
cmp word [ecx + 8], dx
lea edx, [ecx + 6]
jne 0x4b59a4
mov esi, 0x5b57
cmp word [ecx + 0xa], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b59a4
mov edx, 0x4e0b
cmp word [ecx + 0xc], dx
lea edx, [ecx + 6]
jne 0x4b59a4
mov edx, 0x3052
cmp word [ecx + 0xe], dx
lea edx, [ecx + 6]
jne 0x4b59a4
mov eax, dword [ebp - 0x750]
and dword [eax], 0xfffc00f7
jmp 0x4b5dd7
cmp si, 6
jne 0x4b5a23
mov edx, 0xff3b
cmp di, dx
lea edx, [ecx + 6]
jne 0x4b5c5d
mov esi, 0xff03
cmp word [ecx + 2], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5c5d
mov esi, 0x5730
cmp word [eax], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5c5d
mov eax, 0x4ed8
cmp word [edx], ax
jne 0x4b5c5d
mov eax, 0x304d
cmp word [ecx + 8], ax
jne 0x4b5c5d
mov eax, 0xff3d
cmp word [ecx + 0xa], ax
jne 0x4b5c5d
mov dword [ebp - 0x800], 1
jmp 0x4b5c6b
cmp si, 0xa
jne 0x4b5b27
mov eax, 0xff3b
cmp di, ax
jne 0x4b5c5a
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b5c5a
mov edx, 0x5730
cmp word [ecx + 4], dx
lea edx, [ecx + 6]
jne 0x4b5c5d
movzx eax, word [edx]
mov esi, 0x304b
cmp ax, si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5a7f
mov eax, 0x3089
cmp word [ecx + 8], ax
je 0x4b5a9b
jmp 0x4b5c5d
cmp ax, word [ebp - 0x8c0]
jne 0x4b5c5d
mov eax, 0x308a
cmp word [ecx + 8], ax
jne 0x4b5c5d
mov eax, 0x5b57
cmp word [ecx + 0xc], ax
jne 0x4b5c5d
mov eax, 0x4e0a
cmp word [ecx + 0xe], ax
jne 0x4b5c5d
mov eax, 0x3052
cmp word [ecx + 0x10], ax
jne 0x4b5c5d
mov eax, 0xff3d
cmp word [ecx + 0x12], ax
jne 0x4b5c5d
mov eax, dword [ebp - 0x704]
xor ecx, ecx
movzx edx, word [eax + 0xa]
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp dx, word [eax]
je 0x4b5b0a
inc ecx
cmp cx, 9
jl 0x4b5ae3
mov ecx, dword [ebp - 0x704]
mov edx, dword [ebp - 0x7e8]
jmp 0x4b5c5d
mov edx, dword [ebp - 0x7e8]
lea eax, [ecx + 2]
movzx ecx, ax
mov dword [ebp - 0x800], ecx
mov ecx, dword [ebp - 0x704]
jmp 0x4b5c5d
cmp si, 0xb
jne 0x4b5c5d
mov edx, 0xff3b
cmp di, dx
lea edx, [ecx + 6]
jne 0x4b5c5d
mov esi, 0xff03
cmp word [ecx + 2], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5c5d
mov ecx, 0x5730
cmp word [eax], cx
mov ecx, dword [ebp - 0x704]
jne 0x4b5c5d
movzx eax, word [edx]
mov esi, 0x304b
cmp ax, si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5b8e
mov eax, 0x3089
cmp word [ecx + 8], ax
je 0x4b5baa
jmp 0x4b5c5d
cmp ax, word [ebp - 0x8c0]
jne 0x4b5c5d
mov eax, 0x308a
cmp word [ecx + 8], ax
jne 0x4b5c5d
mov eax, 0x5b57
cmp word [ecx + 0xe], ax
jne 0x4b5c5d
mov eax, 0x4e0a
cmp word [ecx + 0x10], ax
jne 0x4b5c5d
mov eax, 0x3052
cmp word [ecx + 0x12], ax
jne 0x4b5c5d
mov eax, 0xff3d
cmp word [ecx + 0x14], ax
jne 0x4b5c5d
mov eax, dword [ebp - 0x704]
mov ecx, 9
movzx esi, word [eax + 0xa]
nop word [eax + eax]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b5c1f
mov eax, dword [ebp - 0x704]
mov ax, word [eax + 0xc]
cmp ax, word [edx + 2]
je 0x4b5c3a
inc ecx
cmp cx, 0x1e
jl 0x4b5c00
mov ecx, dword [ebp - 0x704]
mov esi, dword [ebp - 0x6e8]
mov edx, dword [ebp - 0x7e8]
jmp 0x4b5c5d
mov esi, dword [ebp - 0x6e8]
lea eax, [ecx + 2]
mov edx, dword [ebp - 0x7e8]
movzx ecx, ax
mov dword [ebp - 0x800], ecx
mov ecx, dword [ebp - 0x704]
jmp 0x4b5c5d
lea edx, [ecx + 6]
cmp word [ebp - 0x800], 0
jle 0x4b5cfb
mov eax, dword [ebp - 0x6dc]
mov esi, dword [ebp - 0x880]
cmp si, word [eax + 0xa]
mov esi, dword [ebp - 0x6e8]
je 0x4b5cfb
lea eax, [ebp - 0x650]
push eax
push dword [ebp - 0x72c]
lea eax, [ebp - 0x684]
push 0
push 0
push 1
push eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x6ec]
mov edi, dword [ebp - 0x6e0]
mov eax, dword [edx + 0x14]
movzx eax, word [eax + 8]
cmp ax, 2
je 0x4b5cd8
cmp ax, 1
je 0x4b5cd8
add edi, dword [ebp - 0x678]
mov dword [ebp - 0x6e0], edi
mov ecx, dword [ebp - 0x6dc]
movsd xmm3, qword [ebp - 0x710]
mov esi, dword [ebp - 0x6d8]
movzx eax, word [ecx + 0xa]
mov dword [ebp - 0x880], eax
jmp 0x4b5df7
cmp si, 0xa
jne 0x4b5ea8
mov eax, 0xff3b
cmp di, ax
jne 0x4b5fdf
mov eax, 0xff03
cmp word [ecx + 2], ax
lea eax, [ecx + 4]
jne 0x4b5fe2
mov esi, 0x3053
cmp word [eax], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0x3053
cmp word [edx], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0x304b
cmp word [ecx + 8], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edx, 0x3089
cmp word [ecx + 0xa], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov esi, 0x5730
cmp word [ecx + 0xc], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edx, 0x4ed8
cmp word [ecx + 0xe], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov esi, 0x304d
cmp word [ecx + 0x10], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0xff3d
cmp word [ecx + 0x12], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov eax, dword [ebp - 0x750]
or dword [eax], 4
mov eax, dword [ebp - 0x820]
mov byte [eax], 0
movsd xmm3, qword [ebp - 0x710]
mov esi, dword [ebp - 0x6d8]
mov edi, dword [ebp - 0x6e0]
mov ecx, dword [ebp - 0x6dc]
mov edx, dword [ebp - 0x6ec]
test byte [ecx + 8], 0x40
jne 0x4b5e21
cmp word [ebp - 0x76c], 0x40
mov dword [ebp - 0x724], ecx
jne 0x4b5e12
test byte [esi], 0x20
jne 0x4b5e21
mov eax, dword [ebp - 0x7c8]
movzx eax, ax
mov dword [ebp - 0x728], eax
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x758], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0x6dc], ecx
test dword [eax], 0x40000
je 0x4b5e6e
cmp word [ebp - 0x868], 0
jne 0x4b5e6e
mov eax, 0x400
test word [ecx + 8], ax
je 0x4b5e6e
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x868], 1
mov dword [ebp - 0x884], edi
mov dword [ebp - 0x6e0], eax
test ecx, ecx
je 0x4b8808
mov edi, dword [ebp - 0x6e8]
movzx eax, word [ecx + 0xa]
add dword [ebp - 0x7c8], edi
cmp ax, word [ebp - 0x8b8]
je 0x4b866d
mov dword [ebp - 0x86c], 0
mov dword [ebp - 0x8b8], eax
jmp 0x4b8676
cmp si, 0xc
jne 0x4b6095
mov eax, 0xff3b
cmp di, ax
jne 0x4b5fdf
mov eax, 0xff03
cmp word [ecx + 2], ax
lea eax, [ecx + 4]
jne 0x4b5fe2
mov esi, 0x3053
cmp word [eax], si
jne 0x4b5f4d
cmp word [edx], si
jne 0x4b5f4d
mov edx, 0x3067
cmp word [ecx + 8], dx
lea edx, [ecx + 6]
jne 0x4b5f4d
mov esi, 0x5730
cmp word [ecx + 0xa], si
jne 0x4b5f4d
mov esi, 0x4ed8
cmp word [ecx + 0xc], si
jne 0x4b5f4d
mov edx, 0x304d
cmp word [ecx + 0xe], dx
lea edx, [ecx + 6]
jne 0x4b5f4d
mov esi, 0x7d42
cmp word [ecx + 0x10], si
jne 0x4b5f4d
mov edx, 0x308f
cmp word [ecx + 0x12], dx
lea edx, [ecx + 6]
jne 0x4b5f4d
mov esi, 0x308a
cmp word [ecx + 0x14], si
jne 0x4b5f4d
mov eax, dword [ebp - 0x750]
and dword [eax], 0xfffffffb
jmp 0x4b5dce
mov esi, 0x3053
cmp word [eax], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0x3053
cmp word [edx], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edx, 0x3067
cmp word [ecx + 8], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
movzx eax, word [ecx + 0xa]
mov esi, 0x5b57
cmp ax, si
mov esi, dword [ebp - 0x6e8]
je 0x4b5fa4
mov edx, 0x5730
cmp ax, dx
lea edx, [ecx + 6]
jne 0x4b5fdf
mov eax, 0x4e0a
cmp word [ecx + 0xc], ax
jne 0x4b5fdf
mov eax, 0x3052
cmp word [ecx + 0xe], ax
jne 0x4b5fdf
mov eax, 0x7d42
cmp word [ecx + 0x10], ax
jne 0x4b5fdf
mov eax, 0x308f
cmp word [ecx + 0x12], ax
jne 0x4b5fdf
mov eax, 0x308a
cmp word [ecx + 0x14], ax
je 0x4b5f3f
lea eax, [ecx + 4]
cmp word [ebp - 0x76c], 0x40
jne 0x4b6867
cmp si, 6
jne 0x4b6334
mov esi, 0xff3b
cmp di, si
jne 0x4b8119
mov edi, 0xff03
cmp word [ecx + 2], di
jne 0x4b7f71
mov edi, 0x7e26
cmp word [eax], di
lea edi, [esi - 0x38]
jne 0x4b7f71
mov eax, 0x4e2d
cmp word [edx], ax
jne 0x4b7f71
mov eax, 0x6a2a
cmp word [ecx + 8], ax
jne 0x4b7f71
mov edx, 0xff3d
cmp word [ecx + 0xa], dx
jne 0x4b7f71
mov esi, dword [ebp - 0x6d8]
mov eax, dword [ebp - 0x7c8]
mov ecx, dword [ebp - 0x6dc]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x20
mov edi, dword [ebp - 0x6e0]
movzx eax, ax
mov dword [ebp - 0x770], 0
mov dword [ebp - 0x804], ecx
mov dword [ebp - 0x728], eax
jmp 0x4b5df1
cmp si, 0xe
jne 0x4b61e0
mov eax, 0xff3b
cmp di, ax
jne 0x4b5fdf
mov eax, 0xff03
cmp word [ecx + 2], ax
lea eax, [ecx + 4]
jne 0x4b5fe2
mov esi, 0x3053
cmp word [eax], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0x3053
cmp word [edx], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edx, 0x304b
cmp word [ecx + 8], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov esi, 0x3089
cmp word [ecx + 0xa], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0x5730
cmp word [ecx + 0xc], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edx, 0x304b
cmp word [ecx + 0xe], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov esi, 0x3089
cmp word [ecx + 0x10], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edx, 0x5b57
cmp word [ecx + 0x14], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov edx, 0x4e0a
cmp word [ecx + 0x16], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov esi, 0x3052
cmp word [ecx + 0x18], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0xff3d
cmp word [ecx + 0x1a], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov eax, dword [ebp - 0x704]
xor ecx, ecx
movzx esi, word [eax + 0x12]
lea eax, [ecx + 1]
movzx edx, ax
movsx eax, cx
mov eax, dword [eax*4 + 0x5919a8]
cmp si, word [eax]
je 0x4b61c6
mov ecx, edx
cmp cx, 9
jl 0x4b61a4
jmp 0x4b5dd7
mov eax, dword [ebp - 0x750]
or dword [eax], 4
mov eax, dword [ebp - 0x820]
mov byte [eax], 0
or word [eax], dx
jmp 0x4b5dd7
cmp si, 0xf
jne 0x4b5fdf
mov eax, 0xff3b
cmp di, ax
jne 0x4b5fdf
mov eax, 0xff03
cmp word [ecx + 2], ax
lea eax, [ecx + 4]
jne 0x4b5fe2
mov esi, 0x3053
cmp word [eax], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0x3053
cmp word [edx], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edx, 0x304b
cmp word [ecx + 8], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov esi, 0x3089
cmp word [ecx + 0xa], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0x5730
cmp word [ecx + 0xc], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edx, 0x304b
cmp word [ecx + 0xe], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov esi, 0x3089
cmp word [ecx + 0x10], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edx, 0x5b57
cmp word [ecx + 0x16], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov edx, 0x4e0a
cmp word [ecx + 0x18], dx
lea edx, [ecx + 6]
jne 0x4b5fe2
mov esi, 0x3052
cmp word [ecx + 0x1a], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov esi, 0xff3d
cmp word [ecx + 0x1c], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b5fe2
mov edi, dword [ebp - 0x704]
mov ecx, 9
movzx esi, word [edi + 0x12]
movsx eax, cx
mov edx, dword [eax*4 + 0x5919a8]
cmp si, word [edx]
jne 0x4b630b
mov ax, word [edi + 0x14]
cmp ax, word [edx + 2]
je 0x4b6317
inc ecx
cmp cx, 0x1e
jl 0x4b62f2
jmp 0x4b5dd7
mov eax, dword [ebp - 0x750]
mov edx, dword [ebp - 0x820]
or dword [eax], 4
lea eax, [ecx + 1]
mov byte [edx], 0
or word [edx], ax
jmp 0x4b5dd7
cmp si, 9
jne 0x4b6937
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x6e8]
jne 0x4b8094
mov edi, 0xff03
cmp word [ecx + 2], di
jne 0x4b79ed
mov edi, 0x7e26
cmp word [eax], di
mov edi, 0xff03
jne 0x4b688a
mov edi, 0x4e2d
cmp word [edx], di
mov edi, 0xff03
jne 0x4b688a
mov edi, 0x6a2a
cmp word [ecx + 8], di
mov edi, 0xff03
jne 0x4b688a
mov edi, 0x7d42
cmp word [ecx + 0xa], di
mov edi, 0xff03
jne 0x4b688a
mov edi, 0x308f
cmp word [ecx + 0xc], di
mov edi, 0xff03
jne 0x4b688a
mov edi, 0x308a
cmp word [ecx + 0xe], di
mov edi, 0xff03
jne 0x4b688a
mov edi, 0xff3d
cmp word [ecx + 0x10], di
mov edi, 0xff03
jne 0x4b688a
cmp dword [ebp - 0x804], 0
je 0x4b688a
mov esi, dword [ebp - 0x770]
test si, si
jne 0x4b6419
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
and dword [esi], 0xffffffdf
jmp 0x4b5de5
cmp byte [ebp - 0x7ea], 0
jne 0x4b6463
mov eax, dword [ebp - 0x6d8]
mov eax, dword [eax]
test eax, 0x200
jne 0x4b6463
cmp byte [ebp - 0x7e9], 0
jne 0x4b6452
test eax, 0x400
jne 0x4b6452
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1c8]
jmp 0x4b6472
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1dc]
jmp 0x4b6472
mov eax, dword [ebp - 0x6dc]
mov eax, dword [eax + 0xc]
push dword [eax + 0x1d8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x6f4]
mov edi, dword [ebp - 0x72c]
mov dword [ebp - 0x714], eax
lea eax, [ebp - 0x650]
push eax
push edi
push 0
push 0
movsx eax, si
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x6f0]
call dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x6fc]
mov eax, dword [edi]
mov dword [edx], eax
mov eax, 1
cmp ax, si
jge 0x4b64e1
mov eax, dword [ebp - 0x770]
lea ecx, [edi + 4]
mov esi, edx
sub esi, edi
dec eax
movzx edx, ax
nop
mov eax, dword [ecx]
lea ecx, [ecx + 4]
sub eax, dword [ecx - 8]
mov dword [esi + ecx - 4], eax
sub edx, 1
jne 0x4b64d0
mov eax, dword [ebp - 0x760]
xor edi, edi
sub eax, dword [ebp - 0x754]
cdq
sub eax, edx
mov dword [ebp - 0x744], edi
mov ecx, eax
mov eax, dword [ebp - 0x738]
sar ecx, 1
mov dword [ebp - 0x864], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0x700], eax
mov eax, dword [ebp - 0x650]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x73c]
sar esi, 1
mov edx, dword [eax]
mov eax, dword [ebp - 0x700]
sub eax, edx
sub eax, dword [ebp - 0x754]
sub eax, esi
sub eax, ecx
mov dword [ebp - 0x718], eax
mov eax, dword [ebp - 0x738]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x73c]
sub ecx, dword [eax + 4]
add ecx, dword [ebp - 0x6e0]
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x65c], ecx
mov dword [ebp - 0x720], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xae0]
add eax, ecx
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x700]
sub eax, edx
mov edx, dword [ebp - 0x6dc]
sub eax, dword [ebp - 0x754]
sub eax, esi
sub eax, dword [ebp - 0x864]
mov dword [ebp - 0x660], eax
add eax, dword [ebp - 0x650]
mov dword [ebp - 0x658], eax
cmp dword [ebp - 0x804], edx
je 0x4b67f8
mov al, byte [ebp - 0x6e1]
mov esi, dword [ebp - 0x728]
test al, al
je 0x4b67f8
mov edi, dword [ebp - 0x804]
test byte [edi + 8], 0x40
mov edi, dword [ebp - 0x744]
jne 0x4b67c8
cmp word [ebx + 0x48], 0
jne 0x4b6732
mov esi, dword [ebp - 0x6f8]
test esi, esi
je 0x4b662f
mov eax, dword [ebp - 0x804]
movsx edx, word [ebp - 0x728]
movsx ecx, word [eax + 4]
movsx eax, word [esi + 4]
add ecx, edx
cmp ecx, eax
jle 0x4b662f
nop dword [eax]
movsx ecx, word [esi + 6]
movsx eax, word [esi + 4]
add ecx, eax
cmp ecx, edx
jg 0x4b662f
mov esi, dword [esi]
mov dword [ebp - 0x6f8], esi
test esi, esi
jne 0x4b6610
jmp 0x4b677f
mov eax, dword [ebp - 0x804]
movzx eax, word [eax + 4]
jmp 0x4b6646
mov esi, dword [ebp - 0x6f8]
movzx edx, ax
test esi, esi
je 0x4b677f
mov ax, word [ebp - 0x728]
movzx esi, word [esi + 4]
cwde
mov edi, esi
movsx ecx, dx
add ecx, eax
movsx eax, si
cmp ecx, eax
jle 0x4b6779
mov eax, edi
mov ecx, edx
mov edi, dword [ebx + 0x20]
cmp dword [ebp - 0x6f8], edi
jne 0x4b66e7
push dword [ebp - 0x7d0]
mov edi, dword [ebp - 0x744]
mov ecx, dword [ebp - 0x6fc]
movsx eax, di
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x6ec]
push eax
lea eax, [ebp - 0x660]
push eax
mov eax, dword [ebp - 0x6f8]
movzx eax, word [eax + 6]
push eax
push esi
push edx
push dword [ebp - 0x728]
push dword [ebp - 0x720]
push dword [ebp - 0x718]
call fcn.00487090
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x804]
mov byte [ebp - 0x6e1], 0
movzx eax, word [eax + 4]
movzx ecx, word [ecx + 4]
mov edx, dword [ebp - 0x6f8]
mov edi, dword [ebp - 0x744]
cwde
movzx ecx, cx
movsx edx, word [edx + 6]
mov esi, ecx
add edx, eax
movsx eax, cx
movsx ecx, word [ebp - 0x728]
add eax, ecx
cmp eax, edx
jl 0x4b677f
cmp byte [ebp - 0x6e1], 0
mov eax, dword [ebp - 0x6f8]
mov eax, dword [eax]
mov dword [ebp - 0x6f8], eax
mov eax, esi
jne 0x4b6640
jmp 0x4b677f
push dword [ebp - 0x7d4]
lea eax, [ebp - 0x670]
push dword [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x660]
push eax
push dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x804]
movzx eax, word [eax + 4]
push eax
push esi
mov esi, dword [ebp - 0x718]
push ecx
mov ecx, dword [ebp - 0x6ec]
push esi
call fcn.004ed110
mov dword [ebp - 0x74c], eax
jmp 0x4b677f
mov edi, dword [ebp - 0x744]
mov eax, dword [ebp - 0x804]
movzx edx, word [eax + 4]
xor eax, eax
mov ecx, edx
cmp ax, cx
jge 0x4b67b4
mov esi, dword [ebp - 0x6fc]
movsx eax, di
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0x718]
add esi, dword [eax]
lea eax, [eax + 4]
sub ecx, 1
jne 0x4b67a4
mov dword [ebp - 0x718], esi
mov al, byte [ebp - 0x6e1]
add edi, edx
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x744], edi
mov ecx, dword [ebp - 0x804]
mov si, word [ebp - 0x728]
add si, word [ecx + 4]
mov word [ebp - 0x728], si
mov esi, ecx
mov ecx, dword [ebp - 0x720]
mov esi, dword [esi]
mov dword [ebp - 0x804], esi
cmp esi, edx
jne 0x4b65b9
mov ecx, dword [edx + 0xc]
push dword [ebp - 0x714]
mov edi, dword [ebp - 0x6e0]
push dword [ebp - 0x6f0]
movd xmm0, dword [ecx + 0xa80]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x710]
cvttsd2si eax, xmm0
add eax, dword [ecx + 0xae0]
add edi, eax
mov dword [ebp - 0x6e0], edi
call dword [ebp - 0x6f4]
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
mov dword [ebp - 0x770], 0
mov byte [ebp - 0x7ea], 0
and dword [esi], 0xffffffdf
mov byte [ebp - 0x7e9], 0
jmp 0x4b5deb
cmp si, 9
jne 0x4b6937
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x6e8]
jne 0x4b8119
mov edi, 0xff03
cmp word [ecx + 2], di
jne 0x4b79ed
mov edi, 0x3053
cmp word [eax], di
mov edi, 0xff03
jne 0x4b716f
mov edi, 0x3053
cmp word [edx], di
mov edi, 0xff03
jne 0x4b716f
mov edi, 0x304b
cmp word [ecx + 8], di
mov edi, 0xff03
jne 0x4b716f
mov edi, 0x3089
cmp word [ecx + 0xa], di
mov edi, 0xff03
jne 0x4b716f
mov edi, 0x592a
cmp word [ecx + 0xc], di
mov edi, 0xff03
jne 0x4b716f
mov edi, 0x5b57
cmp word [ecx + 0xe], di
mov edi, 0xff03
jne 0x4b716f
mov edi, 0xff3d
cmp word [ecx + 0x10], di
mov edi, 0xff03
jne 0x4b716f
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x200
jmp 0x4b5de5
cmp si, 0xb
jne 0x4b6bf5
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x6e8]
mov edi, 0xff03
jne 0x4b77cb
cmp word [ecx + 2], di
jne 0x4b69c3
mov edi, 0x3053
cmp word [eax], di
jne 0x4b69c3
mov eax, edi
cmp word [edx], ax
jne 0x4b69c3
mov eax, 0x3067
cmp word [ecx + 8], ax
jne 0x4b69c3
mov eax, 0x592a
cmp word [ecx + 0xa], ax
jne 0x4b69c3
mov eax, 0x5b57
cmp word [ecx + 0xc], ax
jne 0x4b69c3
mov eax, 0x7d42
cmp word [ecx + 0xe], ax
jne 0x4b69c3
mov eax, 0x308f
cmp word [ecx + 0x10], ax
jne 0x4b69c3
mov eax, 0x308a
cmp word [ecx + 0x12], ax
jne 0x4b69c3
mov eax, dword [ebp - 0x6d8]
and dword [eax], 0xfffffdff
mov edi, 0xff3b
cmp word [ecx], di
mov edi, 0xff03
jne 0x4b77cb
cmp word [ecx + 2], di
lea edi, [ecx + 4]
jne 0x4b6a7e
mov esi, 0x30b4
cmp word [edi], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6a7e
mov eax, 0x30b7
cmp word [edx], ax
jne 0x4b6a7e
mov edx, 0x30c3
cmp word [ecx + 8], dx
jne 0x4b6a7e
mov edx, 0x30af
cmp word [ecx + 0xa], dx
jne 0x4b6a7e
mov esi, 0x4f53
cmp word [ecx + 0xc], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6a7e
mov esi, 0x7d42
cmp word [ecx + 0xe], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6a7e
mov eax, 0x308f
cmp word [ecx + 0x10], ax
mov eax, dword [ebp - 0x6d8]
jne 0x4b6a7e
mov esi, 0x308a
cmp word [ecx + 0x12], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6a7e
mov esi, 0xff3d
cmp word [ecx + 0x14], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6a7e
and dword [eax], 0xffeffdff
mov edx, 0xff3b
cmp word [ecx], dx
lea edx, [ecx + 6]
jne 0x4b77c6
mov esi, 0xff03
cmp word [ecx + 2], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6b2c
mov esi, 0x3053
cmp word [edi], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6b2c
mov esi, 0x3053
cmp word [edx], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6b2c
mov eax, 0x3067
cmp word [ecx + 8], ax
jne 0x4b6b2c
mov edx, 0x659c
cmp word [ecx + 0xa], dx
lea edx, [ecx + 6]
jne 0x4b6b2c
mov esi, 0x4f53
cmp word [ecx + 0xc], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6b2c
mov eax, 0x7d42
cmp word [ecx + 0xe], ax
mov eax, dword [ebp - 0x6d8]
jne 0x4b6b2c
mov edx, 0x308f
cmp word [ecx + 0x10], dx
lea edx, [ecx + 6]
jne 0x4b6b2c
mov esi, 0x308a
cmp word [ecx + 0x12], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b6b2c
and dword [eax], 0xfffffbff
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b77bf
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b741b
mov eax, 0x6bb5
cmp word [edx], ax
jne 0x4b7414
mov eax, 0x968e
cmp word [ecx + 8], ax
jne 0x4b7414
mov eax, 0x5927
cmp word [ecx + 0xa], ax
jne 0x4b7414
mov eax, 0x304d
cmp word [ecx + 0xc], ax
jne 0x4b7414
mov eax, 0x306a
cmp word [ecx + 0xe], ax
jne 0x4b7414
mov eax, 0x6587
cmp word [ecx + 0x10], ax
jne 0x4b7414
mov eax, 0x5b57
cmp word [ecx + 0x12], ax
jne 0x4b7414
mov eax, 0xff3d
cmp word [ecx + 0x14], ax
jne 0x4b7414
mov esi, dword [ebp - 0x6d8]
or dword [esi], 0x800
mov cx, word [edi]
call fcn.0040d690
movsd xmm3, qword [ebp - 0x710]
movzx eax, ax
movsx ecx, ax
mov eax, dword [esi]
shl ecx, 0x1c
and eax, 0xfffffff
or ecx, eax
mov dword [esi], ecx
jmp 0x4b5de5
cmp si, 0xc
jne 0x4b6d6c
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x6e8]
jne 0x4b7883
mov edi, 0xff03
cmp word [ecx + 2], di
jne 0x4b741d
mov edi, 0x3053
cmp word [eax], di
jne 0x4b6cb2
cmp word [edx], di
jne 0x4b6cb2
mov edi, 0x304b
cmp word [ecx + 8], di
jne 0x4b6cb2
mov edi, 0x3089
cmp word [ecx + 0xa], di
jne 0x4b6cb2
mov edi, 0x30b4
cmp word [ecx + 0xc], di
jne 0x4b6cb2
mov edi, 0x30b7
cmp word [ecx + 0xe], di
jne 0x4b6cb2
mov edi, 0x30c3
cmp word [ecx + 0x10], di
jne 0x4b6cb2
mov edi, 0x30af
cmp word [ecx + 0x12], di
jne 0x4b6cb2
mov edi, 0x4f53
cmp word [ecx + 0x14], di
jne 0x4b6cb2
mov edi, 0xff3d
cmp word [ecx + 0x16], di
jne 0x4b6cb2
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x200
jmp 0x4b5de5
mov edi, 0xff11
cmp word [eax], di
mov edi, 0xff03
jne 0x4b741d
mov eax, 0xff10
cmp word [edx], ax
jne 0x4b741d
mov eax, 0x6bb5
cmp word [ecx + 8], ax
jne 0x4b741d
mov eax, 0x968e
cmp word [ecx + 0xa], ax
jne 0x4b741d
mov eax, 0x5927
cmp word [ecx + 0xc], ax
jne 0x4b741d
mov eax, 0x304d
cmp word [ecx + 0xe], ax
jne 0x4b741d
mov eax, 0x306a
cmp word [ecx + 0x10], ax
jne 0x4b741d
mov eax, 0x6587
cmp word [ecx + 0x12], ax
jne 0x4b741d
mov eax, 0x5b57
cmp word [ecx + 0x14], ax
jne 0x4b741d
mov eax, 0xff3d
cmp word [ecx + 0x16], ax
jne 0x4b741d
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
mov eax, dword [esi]
and eax, 0xffff7ff
or eax, 0x90000800
mov dword [esi], eax
jmp 0x4b5de5
cmp si, 0xe
jne 0x4b6f34
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x6e8]
mov edi, 0xff03
jne 0x4b76e0
cmp word [ecx + 2], di
jne 0x4b6e2b
mov edi, 0x3053
cmp word [eax], di
jne 0x4b6e2b
mov eax, edi
cmp word [edx], ax
jne 0x4b6e2b
mov eax, 0x3067
cmp word [ecx + 8], ax
jne 0x4b6e2b
mov eax, 0x30b4
cmp word [ecx + 0xa], ax
jne 0x4b6e2b
mov eax, 0x30b7
cmp word [ecx + 0xc], ax
jne 0x4b6e2b
mov eax, 0x30c3
cmp word [ecx + 0xe], ax
jne 0x4b6e2b
mov eax, 0x30af
cmp word [ecx + 0x10], ax
jne 0x4b6e2b
mov eax, 0x4f53
cmp word [ecx + 0x12], ax
jne 0x4b6e2b
mov eax, 0x7d42
cmp word [ecx + 0x14], ax
jne 0x4b6e2b
mov eax, 0x308f
cmp word [ecx + 0x16], ax
jne 0x4b6e2b
mov eax, 0x308a
cmp word [ecx + 0x18], ax
mov eax, dword [ebp - 0x6d8]
jne 0x4b6e31
and dword [eax], 0xfffffdff
jmp 0x4b6e31
mov eax, dword [ebp - 0x6d8]
mov edi, 0xff3b
cmp word [ecx], di
mov edi, 0xff03
jne 0x4b76e0
cmp word [ecx + 2], di
jne 0x4b741d
mov edi, 0x3053
cmp word [ecx + 4], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x3053
cmp word [edx], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x3067
cmp word [ecx + 8], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x5927
cmp word [ecx + 0xa], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x304d
cmp word [ecx + 0xc], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x306a
cmp word [ecx + 0xe], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x6587
cmp word [ecx + 0x10], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x5b57
cmp word [ecx + 0x12], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x7d42
cmp word [ecx + 0x14], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x308f
cmp word [ecx + 0x16], di
mov edi, 0xff03
jne 0x4b741d
mov edi, 0x308a
cmp word [ecx + 0x18], di
mov edi, 0xff03
jne 0x4b741d
and dword [eax], 0xffff7ff
jmp 0x4b741d
cmp si, 5
jne 0x4b6fdc
mov edx, 0xff3b
cmp di, dx
lea edi, [edx - 0x38]
jne 0x4b7f55
cmp word [ecx + 2], di
jne 0x4b7f55
mov edi, 0x592a
cmp word [eax], di
jne 0x4b6f92
mov edi, 0x5b57
cmp word [ecx + 6], di
jne 0x4b6f92
mov edi, 0xff3d
cmp word [ecx + 8], di
jne 0x4b6f92
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x100200
jmp 0x4b5de5
mov edi, 0x659c
cmp word [eax], di
mov edi, 0xff03
jne 0x4b7f55
mov eax, 0x4f53
cmp word [ecx + 6], ax
jne 0x4b7f55
mov eax, 0xff3d
cmp word [ecx + 8], ax
jne 0x4b7f55
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x400
jmp 0x4b5de5
cmp si, 8
jne 0x4b714c
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x6e8]
mov edi, 0xff03
jne 0x4b7f55
cmp word [ecx + 2], di
jne 0x4b7053
mov edi, 0x592a
cmp word [eax], di
jne 0x4b7053
mov eax, 0x5b57
cmp word [edx], ax
jne 0x4b7053
mov eax, 0x7d42
cmp word [ecx + 8], ax
jne 0x4b7053
mov eax, 0x308f
cmp word [ecx + 0xa], ax
jne 0x4b7053
mov eax, 0x308a
cmp word [ecx + 0xc], ax
jne 0x4b7053
mov eax, 0xff3d
cmp word [ecx + 0xe], ax
mov eax, dword [ebp - 0x6d8]
jne 0x4b7059
and dword [eax], 0xffeffdff
jmp 0x4b7059
mov eax, dword [ebp - 0x6d8]
mov edi, 0xff3b
cmp word [ecx], di
mov edi, 0xff03
jne 0x4b7f55
cmp word [ecx + 2], di
jne 0x4b7c73
mov esi, 0x30b4
cmp word [ecx + 4], si
jne 0x4b70df
mov eax, 0x30b7
cmp word [edx], ax
mov eax, dword [ebp - 0x6d8]
jne 0x4b70df
mov eax, 0x30c3
cmp word [ecx + 8], ax
mov eax, dword [ebp - 0x6d8]
jne 0x4b70df
mov edx, 0x30af
cmp word [ecx + 0xa], dx
lea edx, [ecx + 6]
jne 0x4b70df
mov esi, 0x4f53
cmp word [ecx + 0xc], si
jne 0x4b70df
mov esi, 0xff3d
cmp word [ecx + 0xe], si
jne 0x4b70df
movsd xmm3, qword [ebp - 0x710]
mov esi, eax
or dword [esi], 0x100200
jmp 0x4b5de5
mov esi, 0x659c
cmp word [ecx + 4], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b7c73
mov edi, 0x4f53
cmp word [edx], di
jne 0x4b7c6e
mov edx, 0x7d42
cmp word [ecx + 8], dx
jne 0x4b7c6e
mov edx, 0x308f
cmp word [ecx + 0xa], dx
jne 0x4b7c6e
mov edx, 0x308a
cmp word [ecx + 0xc], dx
jne 0x4b7c6e
mov edx, 0xff3d
lea edi, [edx - 0x3a]
cmp word [ecx + 0xe], dx
jne 0x4b7c73
and dword [eax], 0xfffffbff
jmp 0x4b7c73
cmp si, 9
jne 0x4b71fe
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x6e8]
mov edi, 0xff03
jne 0x4b7f55
cmp word [ecx + 2], di
jne 0x4b79ed
mov edi, 0x3053
cmp word [eax], di
mov edi, 0xff03
jne 0x4b79ed
mov eax, 0x3053
cmp word [edx], ax
jne 0x4b79ed
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b79ed
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b79ed
mov eax, 0x659c
cmp word [ecx + 0xc], ax
jne 0x4b79ed
mov eax, 0x4f53
cmp word [ecx + 0xe], ax
jne 0x4b79ed
mov eax, 0xff3d
cmp word [ecx + 0x10], ax
jne 0x4b79ed
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x400
jmp 0x4b5de5
cmp si, 0xf
jne 0x4b72f7
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x6e8]
jne 0x4b74c7
mov edi, 0xff03
cmp word [ecx + 2], di
jne 0x4b741d
mov edi, 0x3053
cmp word [eax], di
mov edi, 0xff03
jne 0x4b741d
mov eax, 0x3053
cmp word [edx], ax
jne 0x4b741d
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b741d
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b741d
mov eax, 0x6bb5
cmp word [ecx + 0xe], ax
jne 0x4b741d
mov eax, 0x968e
cmp word [ecx + 0x10], ax
jne 0x4b741d
mov eax, 0x5927
cmp word [ecx + 0x12], ax
jne 0x4b741d
mov eax, 0x304d
cmp word [ecx + 0x14], ax
jne 0x4b741d
mov eax, 0x306a
cmp word [ecx + 0x16], ax
jne 0x4b741d
mov eax, 0x6587
cmp word [ecx + 0x18], ax
jne 0x4b741d
mov eax, 0x5b57
cmp word [ecx + 0x1a], ax
jne 0x4b741d
mov eax, 0xff3d
cmp word [ecx + 0x1c], ax
jne 0x4b741d
mov esi, dword [ebp - 0x6d8]
or dword [esi], 0x800
mov cx, word [ecx + 0xc]
jmp 0x4b6bcf
cmp si, 0x10
jne 0x4b740a
mov esi, 0xff3b
cmp di, si
mov esi, dword [ebp - 0x6e8]
jne 0x4b75bb
mov edi, 0xff03
cmp word [ecx + 2], di
jne 0x4b741d
mov edi, 0x3053
cmp word [eax], di
mov edi, 0xff03
jne 0x4b741d
mov eax, 0x3053
cmp word [edx], ax
jne 0x4b741d
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b741d
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b741d
mov eax, 0xff11
cmp word [ecx + 0xc], ax
jne 0x4b741d
mov eax, 0xff10
cmp word [ecx + 0xe], ax
jne 0x4b741d
mov eax, 0x6bb5
cmp word [ecx + 0x10], ax
jne 0x4b741d
mov eax, 0x968e
cmp word [ecx + 0x12], ax
jne 0x4b741d
mov eax, 0x5927
cmp word [ecx + 0x14], ax
jne 0x4b741d
mov eax, 0x304d
cmp word [ecx + 0x16], ax
jne 0x4b741d
mov eax, 0x306a
cmp word [ecx + 0x18], ax
jne 0x4b741d
mov eax, 0x6587
cmp word [ecx + 0x1a], ax
jne 0x4b741d
mov eax, 0x5b57
cmp word [ecx + 0x1c], ax
jne 0x4b741d
mov eax, 0xff3d
cmp word [ecx + 0x1e], ax
jne 0x4b741d
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
mov eax, dword [esi]
and eax, 0xffff7ff
or eax, 0x90000800
mov dword [esi], eax
jmp 0x4b5de5
cmp si, 0xb
jl 0x4b74b8
mov edi, 0xff03
jmp 0x4b741d
mov edi, eax
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b74bd
cmp word [ecx + 2], di
jne 0x4b74bd
movsx eax, si
mov edi, 0x5927
cmp word [ecx + eax*2 - 0x12], di
jne 0x4b74b8
mov edi, 0x304d
cmp word [ecx + eax*2 - 0x10], di
jne 0x4b74b8
mov edi, 0x306a
cmp word [ecx + eax*2 - 0xe], di
jne 0x4b74b8
mov edi, 0x6587
cmp word [ecx + eax*2 - 0xc], di
jne 0x4b74b8
mov edi, 0x5b57
cmp word [ecx + eax*2 - 0xa], di
jne 0x4b74b8
mov edi, 0x7d42
cmp word [ecx + eax*2 - 8], di
jne 0x4b74b8
mov edi, 0x308f
cmp word [ecx + eax*2 - 6], di
jne 0x4b74b8
mov edi, 0x308a
cmp word [ecx + eax*2 - 4], di
jne 0x4b74b8
mov edi, 0xff3d
cmp word [ecx + eax*2 - 2], di
jne 0x4b74b8
mov eax, dword [ebp - 0x6d8]
and dword [eax], 0xffff7ff
mov eax, 0xff3b
cmp si, 0xf
jne 0x4b75b1
mov edi, 0xff3b
cmp word [ecx], di
mov edi, 0xff03
jne 0x4b7f55
cmp word [ecx + 2], di
jne 0x4b7943
mov edi, 0x3053
cmp word [ecx + 4], di
mov edi, 0xff03
jne 0x4b7936
mov eax, 0x3053
cmp word [edx], ax
jne 0x4b7943
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b7943
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b7943
mov eax, 0x6bb5
cmp word [ecx + 0xe], ax
jne 0x4b7943
mov eax, 0x968e
cmp word [ecx + 0x10], ax
jne 0x4b7943
mov eax, 0x5c0f
cmp word [ecx + 0x12], ax
jne 0x4b7943
mov eax, 0x3055
cmp word [ecx + 0x14], ax
jne 0x4b7943
mov eax, 0x306a
cmp word [ecx + 0x16], ax
jne 0x4b7943
mov eax, 0x6587
cmp word [ecx + 0x18], ax
jne 0x4b7943
mov eax, 0x5b57
cmp word [ecx + 0x1a], ax
jne 0x4b7943
mov eax, 0xff3d
cmp word [ecx + 0x1c], ax
jne 0x4b7943
mov esi, dword [ebp - 0x6d8]
or dword [esi], 0x1000
mov cx, word [ecx + 0xc]
jmp 0x4b6bcf
cmp si, 0x10
jne 0x4b76cf
mov edi, 0xff3b
cmp word [ecx], di
mov edi, 0xff03
jne 0x4b7f55
cmp word [ecx + 2], di
jne 0x4b7943
mov edi, 0x3053
cmp word [ecx + 4], di
mov edi, 0xff03
jne 0x4b7943
mov eax, 0x3053
cmp word [edx], ax
jne 0x4b7943
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b7943
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b7943
mov eax, 0xff11
cmp word [ecx + 0xc], ax
jne 0x4b7943
mov eax, 0xff10
cmp word [ecx + 0xe], ax
jne 0x4b7943
mov eax, 0x6bb5
cmp word [ecx + 0x10], ax
jne 0x4b7943
mov eax, 0x968e
cmp word [ecx + 0x12], ax
jne 0x4b7943
mov eax, 0x5c0f
cmp word [ecx + 0x14], ax
jne 0x4b7943
mov eax, 0x3055
cmp word [ecx + 0x16], ax
jne 0x4b7943
mov eax, 0x306a
cmp word [ecx + 0x18], ax
jne 0x4b7943
mov eax, 0x6587
cmp word [ecx + 0x1a], ax
jne 0x4b7943
mov eax, 0x5b57
cmp word [ecx + 0x1c], ax
jne 0x4b7943
mov eax, 0xff3d
cmp word [ecx + 0x1e], ax
jne 0x4b7943
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
mov eax, dword [esi]
and eax, 0xfffefff
or eax, 0x90001000
mov dword [esi], eax
jmp 0x4b5de5
cmp si, 0xe
jne 0x4b77b5
mov edi, 0xff03
jmp 0x4b76e5
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b7ea4
cmp word [ecx + 2], di
jne 0x4b7948
mov edi, 0x3053
cmp word [ecx + 4], di
mov edi, 0xff03
jne 0x4b7943
mov eax, 0x3053
cmp word [edx], ax
jne 0x4b7943
mov eax, 0x3067
cmp word [ecx + 8], ax
jne 0x4b7943
mov eax, 0x5c0f
cmp word [ecx + 0xa], ax
jne 0x4b7943
mov eax, 0x3055
cmp word [ecx + 0xc], ax
jne 0x4b7943
mov eax, 0x306a
cmp word [ecx + 0xe], ax
jne 0x4b7943
mov eax, 0x6587
cmp word [ecx + 0x10], ax
jne 0x4b7943
mov eax, 0x5b57
cmp word [ecx + 0x12], ax
jne 0x4b7943
mov eax, 0x7d42
cmp word [ecx + 0x14], ax
jne 0x4b7943
mov edx, dword [ebp - 0x6d8]
mov eax, 0x308f
cmp word [ecx + 0x16], ax
jne 0x4b793c
mov eax, 0x308a
cmp word [ecx + 0x18], ax
lea eax, [edi + 0x38]
jne 0x4b794e
and dword [edx], 0xfffefff
jmp 0x4b794e
cmp si, 0xb
jne 0x4b7879
mov edi, 0xff03
jmp 0x4b77d0
mov edi, 0xff03
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b7d6c
cmp word [ecx + 2], di
jne 0x4b7948
mov eax, 0x6bb5
cmp word [edx], ax
mov eax, 0xff3b
jne 0x4b7948
mov edx, 0x968e
cmp word [ecx + 8], dx
jne 0x4b7948
mov edx, 0x5c0f
cmp word [ecx + 0xa], dx
jne 0x4b7948
mov edx, 0x3055
cmp word [ecx + 0xc], dx
jne 0x4b7948
mov edx, 0x306a
cmp word [ecx + 0xe], dx
jne 0x4b7948
mov edx, 0x6587
cmp word [ecx + 0x10], dx
jne 0x4b7948
mov edx, 0x5b57
cmp word [ecx + 0x12], dx
jne 0x4b7948
mov eax, 0xff3d
cmp word [ecx + 0x14], ax
jne 0x4b7943
mov esi, dword [ebp - 0x6d8]
mov eax, dword [ebp - 0x810]
or dword [esi], 0x1000
mov cx, word [eax]
jmp 0x4b6bcf
cmp si, 0xc
jne 0x4b7925
mov edi, 0xff3b
cmp word [ecx], di
jne 0x4b7afa
mov edi, 0xff03
cmp word [ecx + 2], di
jne 0x4b7943
mov edi, 0xff11
cmp word [ecx + 4], di
mov edi, 0xff03
jne 0x4b7943
mov eax, 0xff10
cmp word [edx], ax
jne 0x4b7943
mov eax, 0x6bb5
cmp word [ecx + 8], ax
jne 0x4b7943
mov eax, 0x968e
cmp word [ecx + 0xa], ax
jne 0x4b7943
mov eax, 0x5c0f
cmp word [ecx + 0xc], ax
jne 0x4b7943
mov eax, 0x3055
cmp word [ecx + 0xe], ax
jne 0x4b7943
mov eax, 0x306a
cmp word [ecx + 0x10], ax
jne 0x4b7943
mov eax, 0x6587
cmp word [ecx + 0x12], ax
jne 0x4b7943
mov eax, 0x5b57
cmp word [ecx + 0x14], ax
jne 0x4b7943
mov eax, 0xff3d
cmp word [ecx + 0x16], ax
jmp 0x4b76a8
cmp si, 0xb
jl 0x4b79de
mov edi, 0xff03
jmp 0x4b7948
mov edx, dword [ebp - 0x6d8]
mov eax, 0xff3b
jmp 0x4b794e
mov eax, 0xff3b
mov edx, dword [ebp - 0x6d8]
cmp word [ecx], ax
jne 0x4b79de
cmp word [ecx + 2], di
jne 0x4b79de
movsx eax, si
mov edi, 0x5c0f
cmp word [ecx + eax*2 - 0x12], di
jne 0x4b79de
mov edi, 0x3055
cmp word [ecx + eax*2 - 0x10], di
jne 0x4b79de
mov edi, 0x306a
cmp word [ecx + eax*2 - 0xe], di
jne 0x4b79de
mov edi, 0x6587
cmp word [ecx + eax*2 - 0xc], di
jne 0x4b79de
mov edi, 0x5b57
cmp word [ecx + eax*2 - 0xa], di
jne 0x4b79de
mov edi, 0x7d42
cmp word [ecx + eax*2 - 8], di
jne 0x4b79de
mov edi, 0x308f
cmp word [ecx + eax*2 - 6], di
jne 0x4b79de
mov edi, 0x308a
cmp word [ecx + eax*2 - 4], di
jne 0x4b79de
mov edi, 0xff3d
cmp word [ecx + eax*2 - 2], di
jne 0x4b79de
and dword [edx], 0xfffefff
cmp si, 9
jne 0x4b7af0
mov edi, 0xff03
mov eax, 0xff3b
lea edx, [ecx + 4]
cmp word [ecx], ax
jne 0x4b7f5d
cmp word [ecx + 2], di
jne 0x4b7f5d
mov eax, 0x4e0a
cmp word [edx], ax
lea eax, [ecx + 6]
jne 0x4b7a70
mov edi, 0x4ed8
cmp word [eax], di
jne 0x4b7a70
mov edi, 0x304d
cmp word [ecx + 8], di
jne 0x4b7a70
mov edi, 0x5c0f
cmp word [ecx + 0xa], di
jne 0x4b7a70
mov edi, 0x6587
cmp word [ecx + 0xc], di
jne 0x4b7a70
mov edi, 0x5b57
cmp word [ecx + 0xe], di
jne 0x4b7a70
mov edi, 0xff3d
cmp word [ecx + 0x10], di
jne 0x4b7a70
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x40
jmp 0x4b5de5
mov edi, 0x4e0b
cmp word [edx], di
jne 0x4b7ea7
mov edi, 0x4ed8
cmp word [eax], di
mov edi, 0xff3d
jne 0x4b7ea7
mov eax, 0x304d
cmp word [ecx + 8], ax
jne 0x4b7ea7
mov eax, 0x5c0f
cmp word [ecx + 0xa], ax
jne 0x4b7ea7
mov eax, 0x6587
cmp word [ecx + 0xc], ax
jne 0x4b7ea7
mov eax, 0x5b57
cmp word [ecx + 0xe], ax
jne 0x4b7ea7
cmp word [ecx + 0x10], di
jne 0x4b7ea7
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x80
jmp 0x4b5de5
cmp si, 0xc
jne 0x4b7c64
mov edx, 0xff3b
cmp word [ecx], dx
lea edi, [edx - 0x38]
lea edx, [ecx + 4]
jne 0x4b7eac
cmp word [ecx + 2], di
jne 0x4b7eac
mov eax, 0x4e0a
cmp word [edx], ax
lea eax, [ecx + 6]
jne 0x4b7bad
mov edi, 0x4ed8
cmp word [eax], di
jne 0x4b7bad
mov edi, 0x304d
cmp word [ecx + 8], di
jne 0x4b7bad
mov edi, 0x5c0f
cmp word [ecx + 0xa], di
jne 0x4b7bad
mov edi, 0x6587
cmp word [ecx + 0xc], di
jne 0x4b7bad
mov edi, 0x5b57
cmp word [ecx + 0xe], di
jne 0x4b7bad
mov edi, 0x7d42
cmp word [ecx + 0x10], di
jne 0x4b7bad
mov edi, 0x308f
cmp word [ecx + 0x12], di
jne 0x4b7bad
mov edi, 0x308a
cmp word [ecx + 0x14], di
jne 0x4b7bad
mov edi, 0xff3d
cmp word [ecx + 0x16], di
jne 0x4b7bad
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
and dword [esi], 0xffffffbf
jmp 0x4b5de5
mov edi, 0x4e0b
cmp word [edx], di
mov edi, 0xff03
jne 0x4b7eac
mov edi, 0x4ed8
cmp word [eax], di
mov edi, 0xff03
jne 0x4b7eac
mov eax, 0x304d
cmp word [ecx + 8], ax
jne 0x4b7eac
mov eax, 0x5c0f
cmp word [ecx + 0xa], ax
jne 0x4b7eac
mov eax, 0x6587
cmp word [ecx + 0xc], ax
jne 0x4b7eac
mov eax, 0x5b57
cmp word [ecx + 0xe], ax
jne 0x4b7eac
mov eax, 0x7d42
cmp word [ecx + 0x10], ax
jne 0x4b7eac
mov eax, 0x308f
cmp word [ecx + 0x12], ax
jne 0x4b7eac
mov eax, 0x308a
cmp word [ecx + 0x14], ax
jne 0x4b7eac
mov eax, 0xff3d
cmp word [ecx + 0x16], ax
jne 0x4b7eac
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
and dword [esi], 0xffffff7f
jmp 0x4b5de5
cmp si, 8
jne 0x4b7d62
mov edi, 0xff03
mov eax, 0xff3b
lea edx, [ecx + 4]
cmp word [ecx], ax
jne 0x4b7eb1
cmp word [ecx + 2], di
jne 0x4b7eb1
mov eax, 0x884c
cmp word [edx], ax
lea eax, [ecx + 6]
jne 0x4b7ce7
mov edi, 0x53f3
cmp word [eax], di
jne 0x4b7ce7
mov edi, 0x5c0f
cmp word [ecx + 8], di
jne 0x4b7ce7
mov edi, 0x66f8
cmp word [ecx + 0xa], di
jne 0x4b7ce7
mov edi, 0x304d
cmp word [ecx + 0xc], di
jne 0x4b7ce7
mov edi, 0xff3d
cmp word [ecx + 0xe], di
jne 0x4b7ce7
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x40
jmp 0x4b5de5
mov edi, 0x884c
cmp word [edx], di
mov edi, 0xff03
jne 0x4b7eac
mov edi, 0x5de6
cmp word [eax], di
mov edi, 0xff03
jne 0x4b7eac
mov eax, 0x5c0f
cmp word [ecx + 8], ax
jne 0x4b7eac
mov eax, 0x66f8
cmp word [ecx + 0xa], ax
jne 0x4b7eac
mov eax, 0x304d
cmp word [ecx + 0xc], ax
jne 0x4b7eac
mov eax, 0xff3d
cmp word [ecx + 0xe], ax
jne 0x4b7eac
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x80
jmp 0x4b5de5
cmp si, 0xb
jne 0x4b7ea4
mov edx, 0xff3b
cmp word [ecx], dx
lea edi, [edx - 0x38]
lea edx, [ecx + 4]
jne 0x4b7eac
cmp word [ecx + 2], di
jne 0x4b7eac
mov eax, 0x884c
cmp word [edx], ax
lea eax, [ecx + 6]
jne 0x4b7e10
mov edi, 0x53f3
cmp word [eax], di
jne 0x4b7e10
mov edi, 0x5c0f
cmp word [ecx + 8], di
jne 0x4b7e10
mov edi, 0x66f8
cmp word [ecx + 0xa], di
jne 0x4b7e10
mov edi, 0x304d
cmp word [ecx + 0xc], di
jne 0x4b7e10
mov edi, 0x7d42
cmp word [ecx + 0xe], di
jne 0x4b7e10
mov edi, 0x308f
cmp word [ecx + 0x10], di
jne 0x4b7e10
mov edi, 0x308a
cmp word [ecx + 0x12], di
jne 0x4b7e10
mov edi, 0xff3d
cmp word [ecx + 0x14], di
jne 0x4b7e10
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
and dword [esi], 0xffffffbf
jmp 0x4b5de5
mov edi, 0x884c
cmp word [edx], di
mov edi, 0xff03
jne 0x4b7eac
mov edi, 0x5de6
cmp word [eax], di
mov edi, 0xff03
jne 0x4b7eac
mov eax, 0x5c0f
cmp word [ecx + 8], ax
jne 0x4b7eac
mov eax, 0x66f8
cmp word [ecx + 0xa], ax
jne 0x4b7eac
mov eax, 0x304d
cmp word [ecx + 0xc], ax
jne 0x4b7eac
mov eax, 0x7d42
cmp word [ecx + 0xe], ax
jne 0x4b7eac
mov eax, 0x308f
cmp word [ecx + 0x10], ax
jne 0x4b7eac
mov eax, 0x308a
cmp word [ecx + 0x12], ax
jne 0x4b7eac
mov eax, 0xff3d
cmp word [ecx + 0x14], ax
jne 0x4b7eac
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
and dword [esi], 0xffffff7f
jmp 0x4b5de5
lea edx, [ecx + 4]
mov edi, 0xff03
mov eax, 0xff3b
cmp word [ebp - 0x76c], 0x40
jne 0x4b8119
cmp si, 0xa
jne 0x4b7f67
cmp word [ecx], ax
jne 0x4b8119
lea eax, [ecx + 6]
cmp word [ecx + 2], di
jne 0x4b811c
mov edi, 0x3053
cmp word [edx], di
jne 0x4b811c
cmp word [eax], di
jne 0x4b811c
mov edx, 0x304b
cmp word [ecx + 8], dx
jne 0x4b811c
mov edx, 0x3089
cmp word [ecx + 0xa], dx
jne 0x4b811c
mov edx, 0x6a2a
cmp word [ecx + 0xc], dx
jne 0x4b811c
mov edx, 0x7d44
cmp word [ecx + 0xe], dx
jne 0x4b811c
mov edx, 0x307f
cmp word [ecx + 0x10], dx
jne 0x4b811c
mov edx, 0xff3d
cmp word [ecx + 0x12], dx
je 0x4b7fc9
jmp 0x4b811c
lea edx, [ecx + 4]
jmp 0x4b7eac
mov edi, 0xff03
jmp 0x4b7eb1
cmp si, 6
jne 0x4b7fe2
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b8119
cmp word [ecx + 2], di
lea edi, [ecx + 4]
jne 0x4b8114
mov eax, 0x6a2a
cmp word [edi], ax
lea eax, [ecx + 6]
jne 0x4b811f
mov edx, 0x7d44
cmp word [eax], dx
jne 0x4b811f
mov edx, 0x307f
cmp word [ecx + 8], dx
mov edx, 0xff3d
jne 0x4b811f
cmp word [ecx + 0xa], dx
jne 0x4b811f
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
or dword [esi], 0x100
jmp 0x4b5de5
cmp si, 0xc
jne 0x4b808a
cmp word [ecx], ax
jne 0x4b8119
lea eax, [ecx + 6]
cmp word [ecx + 2], di
jne 0x4b811c
mov edi, 0x3053
cmp word [edx], di
jne 0x4b811c
cmp word [eax], di
jne 0x4b811c
mov edx, 0x3067
cmp word [ecx + 8], dx
jne 0x4b811c
mov edx, 0x6a2a
cmp word [ecx + 0xa], dx
jne 0x4b811c
mov edx, 0x7d44
cmp word [ecx + 0xc], dx
jne 0x4b811c
mov edx, 0x307f
cmp word [ecx + 0xe], dx
jne 0x4b811c
mov edx, 0x7d42
cmp word [ecx + 0x10], dx
jne 0x4b811c
mov edx, 0x308f
lea edi, [ecx + 4]
cmp word [ecx + 0x12], dx
jne 0x4b811f
mov edx, 0x308a
cmp word [ecx + 0x14], dx
je 0x4b8106
jmp 0x4b811f
cmp si, 9
jne 0x4b8119
mov eax, 0xff3b
lea edi, [ecx + 4]
cmp word [ecx], ax
jne 0x4b8114
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b8114
mov eax, 0x6a2a
cmp word [edi], ax
lea eax, [ecx + 6]
jne 0x4b811f
mov edx, 0x7d44
cmp word [eax], dx
jne 0x4b811f
mov edx, 0x307f
cmp word [ecx + 8], dx
jne 0x4b811f
mov edx, 0x7d42
cmp word [ecx + 0xa], dx
jne 0x4b811f
mov edx, 0x308f
cmp word [ecx + 0xc], dx
jne 0x4b811f
mov edx, 0x308a
cmp word [ecx + 0xe], dx
jne 0x4b811f
mov edx, 0xff3d
cmp word [ecx + 0x10], dx
jne 0x4b811f
mov edx, dword [ebp - 0x6d8]
and dword [edx], 0xfffffeff
jmp 0x4b811f
lea eax, [ecx + 6]
jmp 0x4b811f
lea eax, [ecx + 6]
lea edi, [ecx + 4]
mov esi, dword [ebx + 0x44]
cmp byte [esi + 0x860], 0
mov esi, dword [ebp - 0x6e8]
jne 0x4b8286
cmp si, 6
jne 0x4b81c8
mov edx, 0xff3b
cmp word [ecx], dx
jne 0x4b8286
mov edx, 0xff03
cmp word [ecx + 2], dx
lea edx, [ecx + 4]
jne 0x4b827e
mov edi, 0x5272
cmp word [edx], di
jne 0x4b827e
mov edi, 0x308a
cmp word [eax], di
jne 0x4b827e
mov eax, 0x6ce8
cmp word [ecx + 8], ax
jne 0x4b827e
mov edi, dword [ebp - 0x6e0]
mov eax, 0xff3d
cmp word [ecx + 0xa], ax
jne 0x4b828f
mov esi, dword [ebp - 0x6d8]
movsd xmm3, qword [ebp - 0x710]
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x81c], edi
or dword [esi], 0x40000
jmp 0x4b5deb
cmp si, 9
jne 0x4b8286
mov edx, 0xff3b
cmp word [ecx], dx
mov edx, dword [ebp - 0x6d8]
jne 0x4b8286
mov esi, 0xff03
cmp word [ecx + 2], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b8286
mov esi, 0x5272
cmp word [edi], si
mov esi, dword [ebp - 0x6e8]
jne 0x4b8286
mov edi, 0x308a
cmp word [eax], di
jne 0x4b8286
mov eax, 0x6ce8
cmp word [ecx + 8], ax
jne 0x4b8286
mov eax, 0x7d42
cmp word [ecx + 0xa], ax
jne 0x4b8286
mov eax, 0x308f
cmp word [ecx + 0xc], ax
jne 0x4b8286
cmp word [ecx + 0xe], di
jne 0x4b8286
mov eax, 0xff3d
cmp word [ecx + 0x10], ax
jne 0x4b8286
mov eax, dword [edx]
mov edi, dword [ebp - 0x6e0]
test eax, 0x40000
je 0x4b828c
and eax, 0xfffbffff
cmp dword [ebp - 0x884], edi
mov dword [edx], eax
cmovg edi, dword [ebp - 0x884]
mov dword [ebp - 0x6e0], edi
jmp 0x4b828c
mov edi, dword [ebp - 0x6e0]
jmp 0x4b828f
mov edi, dword [ebp - 0x6e0]
lea edx, [ecx + 4]
mov eax, dword [ebx + 0x44]
cmp byte [eax + 0x860], 0
jne 0x4b8486
cmp si, 0xa
jne 0x4b836d
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b133a
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b133a
mov esi, 0x3053
cmp word [edx], si
jne 0x4b133a
cmp word [ecx + 6], si
jne 0x4b133a
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b133a
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b133a
mov eax, 0x5272
cmp word [ecx + 0xc], ax
jne 0x4b133a
mov eax, 0x308a
cmp word [ecx + 0xe], ax
jne 0x4b133a
mov esi, dword [ebp - 0x6d8]
mov eax, 0x6ce8
movsd xmm3, qword [ebp - 0x710]
mov edx, dword [ebp - 0x6ec]
cmp word [ecx + 0x10], ax
jne 0x4b8551
mov eax, 0xff3d
cmp word [ecx + 0x12], ax
mov ecx, dword [ebp - 0x6dc]
jne 0x4b5df7
or dword [esi], 0x40000
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x81c], edi
jmp 0x4b5df7
cmp si, 0xc
jne 0x4b8486
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b133a
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b133a
mov esi, 0x3053
cmp word [edx], si
jne 0x4b133a
cmp word [ecx + 6], si
jne 0x4b133a
mov eax, 0x3067
cmp word [ecx + 8], ax
jne 0x4b133a
mov eax, 0x5272
cmp word [ecx + 0xa], ax
jne 0x4b133a
mov eax, 0x308a
cmp word [ecx + 0xc], ax
jne 0x4b133a
mov edx, 0x6ce8
cmp word [ecx + 0xe], dx
jne 0x4b133a
mov edx, 0x7d42
cmp word [ecx + 0x10], dx
jne 0x4b133a
mov edx, 0x308f
cmp word [ecx + 0x12], dx
jne 0x4b133a
mov esi, dword [ebp - 0x6d8]
cmp word [ecx + 0x14], ax
jne 0x4b1c75
mov eax, 0xff3d
cmp word [ecx + 0x16], ax
jne 0x4b1c75
mov eax, dword [esi]
test eax, 0x40000
je 0x4b1c75
and eax, 0xfffbffff
mov dword [esi], eax
mov eax, dword [ebp - 0x884]
cmp eax, edi
jle 0x4b8479
movsd xmm3, qword [ebp - 0x710]
mov edi, eax
mov dword [ebp - 0x6e0], edi
jmp 0x4b5deb
mov esi, dword [ebp - 0x6d8]
mov edi, dword [ebp - 0x6e0]
movsd xmm3, qword [ebp - 0x710]
jmp 0x4b5deb
mov edi, dword [ebp - 0x6e0]
mov esi, eax
movsd xmm3, qword [ebp - 0x710]
jmp 0x4b5deb
cmp si, 0xb
jne 0x4b855c
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b133a
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b133a
mov eax, 0x30da
cmp word [edx], ax
jne 0x4b133a
mov edx, 0x30fc
cmp word [ecx + 6], dx
jne 0x4b133a
mov eax, 0x30b8
cmp word [ecx + 8], ax
jne 0x4b133a
mov eax, 0x306e
cmp word [ecx + 0xa], ax
jne 0x4b133a
mov eax, 0x5de6
cmp word [ecx + 0xc], ax
jne 0x4b133a
mov eax, 0x53f3
cmp word [ecx + 0xe], ax
jne 0x4b133a
mov eax, 0x4e2d
cmp word [ecx + 0x10], ax
jne 0x4b133a
mov eax, 0x592e
cmp word [ecx + 0x12], ax
jne 0x4b133a
movsd xmm3, qword [ebp - 0x710]
mov eax, 0xff3d
mov edx, dword [ebp - 0x6ec]
mov esi, dword [ebp - 0x6d8]
cmp word [ecx + 0x14], ax
jne 0x4b8551
mov eax, dword [ebp - 0x820]
mov ecx, 0x4000
or word [eax], cx
mov ecx, dword [ebp - 0x6dc]
jmp 0x4b5df7
cmp si, 0xf
jne 0x4b133a
mov eax, 0xff3b
cmp word [ecx], ax
jne 0x4b133a
mov eax, 0xff03
cmp word [ecx + 2], ax
jne 0x4b133a
mov esi, 0x3053
cmp word [edx], si
jne 0x4b133a
cmp word [ecx + 6], si
jne 0x4b133a
mov eax, 0x304b
cmp word [ecx + 8], ax
jne 0x4b133a
mov eax, 0x3089
cmp word [ecx + 0xa], ax
jne 0x4b133a
mov eax, 0x30da
cmp word [ecx + 0xc], ax
jne 0x4b133a
mov eax, 0x30fc
cmp word [ecx + 0xe], ax
jne 0x4b133a
mov eax, 0x30b8
cmp word [ecx + 0x10], ax
jne 0x4b133a
mov eax, 0x306e
cmp word [ecx + 0x12], ax
jne 0x4b133a
mov eax, 0x5de6
cmp word [ecx + 0x14], ax
jne 0x4b133a
mov eax, 0x53f3
cmp word [ecx + 0x16], ax
jne 0x4b133a
mov eax, 0x4e2d
cmp word [ecx + 0x18], ax
jne 0x4b133a
mov eax, 0x592e
cmp word [ecx + 0x1a], ax
jne 0x4b133a
movsd xmm3, qword [ebp - 0x710]
mov eax, 0xff3d
mov edx, dword [ebp - 0x6ec]
mov esi, dword [ebp - 0x6d8]
cmp word [ecx + 0x1c], ax
jne 0x4b8551
mov eax, dword [ebp - 0x820]
mov ecx, 0x4000
or word [eax], cx
mov ecx, dword [ebp - 0x6dc]
jmp 0x4b5df7
movsx eax, di
add dword [ebp - 0x86c], eax
cmp ecx, dword [ebp - 0x8b4]
jne 0x4b8776
movsd xmm0, qword [ebp - 0x6a0]
movsd xmm1, qword [ebp - 0x6b8]
movsd xmm2, qword [ebp - 0x6c8]
addsd xmm0, xmm1
mov dword [ebp - 0x6e0], 0
addsd xmm0, qword [ebp - 0x6b0]
comisd xmm2, xmm0
movsd xmm0, qword [ebp - 0x818]
jbe 0x4b86cb
mov byte [ebp - 0x7be], 1
addsd xmm0, xmm2
jmp 0x4b86d6
mov byte [ebp - 0x7be], 0
addsd xmm0, xmm1
sub esp, 8
movsd qword [ebp - 0x818], xmm0
lea eax, [ebp - 0x679]
movsd qword [esp], xmm3
push eax
lea eax, [ebp - 0x6d4]
push eax
lea eax, [ebp - 0x671]
push eax
lea eax, [ebp - 0x6c8]
push eax
lea eax, [ebp - 0x6a8]
push eax
lea eax, [ebp - 0x698]
push eax
lea eax, [ebp - 0x690]
push eax
lea eax, [ebp - 0x6b0]
push eax
lea eax, [ebp - 0x6b8]
push eax
lea eax, [ebp - 0x6a0]
push eax
lea eax, [ebp - 0x678]
push eax
push dword [ebp - 0x844]
push dword [ebp - 0x77c]
push ecx
mov ecx, edx
call fcn.004e8ca0
cmp byte [ebp - 0x7be], 0
mov dword [ebp - 0x8b4], eax
jne 0x4b8776
movsd xmm0, qword [ebp - 0x6a0]
addsd xmm0, qword [ebp - 0x6b0]
addsd xmm0, qword [ebp - 0x818]
movsd qword [ebp - 0x818], xmm0
xor edx, edx
mov dword [ebp - 0x6e8], edx
mov cl, byte [ebp - 0x6e1]
mov edx, dword [ebp - 0x870]
mov edi, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x888]
movsd xmm2, qword [ebp - 0x710]
inc eax
movsx esi, dx
mov edx, dword [ebp - 0x6e8]
mov dword [ebp - 0x888], eax
mov edi, dword [edi + esi*4 + 4]
mov esi, dword [ebp - 0x758]
cmp ax, word [edi]
jl 0x4a9040
mov edx, dword [ebp - 0x870]
mov edi, dword [ebp - 0x82c]
inc edx
movsd xmm2, qword [ebp - 0x710]
xor esi, esi
mov dword [ebp - 0x870], edx
cmp dx, word [edi]
jl 0x4a9010
mov edi, dword [edi + 0x1004]
xor eax, eax
xor esi, esi
mov dword [ebp - 0x82c], edi
test edi, edi
je 0x4b8815
movsd xmm2, qword [ebp - 0x710]
jmp 0x4a8ff6
xor cl, cl
mov byte [ebp - 0x6e1], cl
jmp 0x4b8784
cmp word [ebx + 0x48], 0
jne 0x4b88c0
mov ecx, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x8ac]
mov eax, dword [ecx + 4]
cmp dword [ebp - 0x88c], eax
jg 0x4b884b
cmp edx, eax
jl 0x4b884f
mov eax, dword [ebp - 0x8a8]
xor edx, edx
mov word [eax], dx
lea esi, [edx + 2]
jmp 0x4b8878
cmp edx, eax
jg 0x4b886a
cmp dword [ebp - 0x8c4], eax
jl 0x4b886a
mov eax, dword [ebp - 0x8a8]
mov edx, 1
mov word [eax], dx
lea esi, [edx + 1]
jmp 0x4b887d
mov eax, dword [ebp - 0x8a8]
mov esi, 2
mov word [eax], si
mov edx, 1
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x89c]
cmp dword [ebp - 0x8a4], eax
jg 0x4b889e
cmp ecx, eax
jl 0x4b88a2
mov eax, dword [ebp - 0x8a0]
xor ecx, ecx
mov word [eax], cx
jmp 0x4b88de
cmp ecx, eax
jg 0x4b88b5
cmp dword [ebp - 0x8bc], eax
jl 0x4b88b5
mov eax, dword [ebp - 0x8a0]
mov word [eax], dx
jmp 0x4b88de
mov eax, dword [ebp - 0x8a0]
mov word [eax], si
jmp 0x4b88de
mov eax, dword [ebp - 0x6ec]
mov ecx, 0
test byte [eax + 0x20], 1
mov eax, dword [ebp - 0x74c]
cmove eax, ecx
mov dword [ebp - 0x74c], eax
push dword [ebp - 0x704]
call fcn.00560853
add esp, 4
push dword [ebp - 0x72c]
call fcn.00560853
add esp, 4
push dword [ebp - 0x6fc]
call fcn.00560853
mov eax, dword [ebp - 0x74c]
add esp, 4
jmp 0x4b8912
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 0x50
call fcn.0056073a
int3