Function at 0x4c56f0
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x758
push esi
push edi
mov byte [ebp - 0x209], 0
xor eax, eax
mov word [ebp - 0x208], ax
push 0x206
push 0
lea ecx, [ebp - 0x206]
push ecx
call fcn.00966550
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [ebp - 0x6a8], edx
lea eax, [ebp - 0x208]
mov dword [ebp - 0x6ac], eax
mov ecx, dword [ebp - 0x6ac]
mov dword [ebp - 0x6b0], ecx
mov edx, dword [ebp - 0x6a8]
mov ax, word [edx]
mov word [ebp - 0x6b2], ax
mov ecx, dword [ebp - 0x6ac]
mov dx, word [ebp - 0x6b2]
mov word [ecx], dx
mov eax, dword [ebp - 0x6a8]
add eax, 2
mov dword [ebp - 0x6a8], eax
mov ecx, dword [ebp - 0x6ac]
add ecx, 2
mov dword [ebp - 0x6ac], ecx
cmp word [ebp - 0x6b2], 0
jne 0x4c5742
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x6b8], eax
mov ecx, dword [ebp - 0x6b8]
mov dword [ebp - 0x6bc], ecx
mov edx, dword [ebp - 0x6b8]
mov ax, word [edx]
mov word [ebp - 0x6be], ax
add dword [ebp - 0x6b8], 2
cmp word [ebp - 0x6be], 0
jne 0x4c57a2
mov ecx, dword [ebp - 0x6b8]
sub ecx, dword [ebp - 0x6bc]
mov edx, dword [ebp - 0x6bc]
mov dword [ebp - 0x6c4], edx
mov dword [ebp - 0x6c8], ecx
lea eax, [ebp - 0x208]
add eax, 0xfffffffe
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x6cc]
mov dx, word [ecx + 2]
mov word [ebp - 0x6ce], dx
add dword [ebp - 0x6cc], 2
cmp word [ebp - 0x6ce], 0
jne 0x4c57f0
mov edi, dword [ebp - 0x6cc]
mov esi, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x6c8]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x210], 0
jmp 0x4c584d
mov ecx, dword [ebp - 0x210]
add ecx, 1
mov dword [ebp - 0x210], ecx
cmp dword [ebp - 0x210], 0x3c
jge 0x4c9b67
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x234], 0
fldz
fstp qword [ebp - 0x220]
fldz
fstp qword [ebp - 0x240]
fldz
fstp qword [ebp - 0x240]
jmp 0x4c589a
fld qword [ebp - 0x240]
fadd qword [0x9d1388]
fstp qword [ebp - 0x240]
fld qword [0x9d47a0]
fcomp qword [ebp - 0x240]
fnstsw ax
test ah, 0x41
jne 0x4c5923
fld qword [0x9d4798]
fmul qword [ebp - 0x240]
fmul qword [ebp - 0x240]
fld qword [ebp - 0x240]
fmul qword [ebp - 0x240]
fsubp st(1)
fld qword [0x9d4790]
fmul qword [ebp - 0x240]
fmul qword [ebp - 0x240]
fadd qword [0x9d4788]
fdivp st(1)
fadd qword [ebp - 0x220]
fstp qword [ebp - 0x220]
fld qword [0x9d4780]
fcomp qword [ebp - 0x220]
fnstsw ax
test ah, 5
jp 0x4c591e
fld qword [0x9d4778]
fmul qword [ebp - 0x240]
fsubr qword [ebp - 0x220]
fstp qword [ebp - 0x220]
jmp 0x4c5888
fldz
fcomp qword [ebp - 0x220]
fnstsw ax
test ah, 0x41
jne 0x4c596a
push edx
dec ebp
pop eax
jnp 0x4c59b6
imul ebp, dword [ebx], 0x59
jo 0x4c5968
pop eax
dec ebx
and bl, byte [eax + 0x51]
imul ax, word ds:[edi + 0x44], 0x36
and esp, dword [edi + 0x6a]
pop ebp
ljmp 0xe9a0
add byte [eax], al
mov dword [ebp - 0x218], 0x4c594d
mov dword [ebp - 0x234], 0x4c5932
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x250], eax
mov byte [ebp - 0x3a9], 0x1f
mov dword [ebp - 0x394], 0
jmp 0x4c59b8
mov ecx, dword [ebp - 0x394]
add ecx, 1
mov dword [ebp - 0x394], ecx
invalid
cmp dword [ebp - 0x394], 0x100
jae 0x4c59d9
mov edx, dword [ebp - 0x394]
mov al, byte [ebp - 0x394]
mov byte [ebp + edx - 0x370], al
jmp 0x4c59a9
mov dword [ebp - 0x26c], 0
mov byte [ebp - 0x3aa], 0
mov dword [ebp - 0x394], 0xff
jmp 0x4c5a05
mov ecx, dword [ebp - 0x394]
sub ecx, 1
mov dword [ebp - 0x394], ecx
cmp dword [ebp - 0x394], 0
jbe 0x4c5f2b
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3b8], 1
mov edx, dword [ebp - 0x3b8]
cmp edx, dword [ebp - 0x394]
jae 0x4c5a46
mov eax, dword [ebp - 0x3b8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3b8], ecx
jmp 0x4c5a26
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x6d4], edx
cmp dword [ebp - 0x6d4], 3
ja case.default.0x4c5a65
mov eax, dword [ebp - 0x6d4]
jmp dword [eax*4 + 0x4c9b74]
movzx ecx, byte [ebp - 0x3aa]
movzx edx, byte [ebp + ecx - 0x370]
fld qword [ebp - 0x220]
fnstcw word [ebp - 0x6d6]
movzx eax, word [ebp - 0x6d6]
or eax, 0xc00
mov dword [ebp - 0x6dc], eax
fldcw word [ebp - 0x6dc]
fistp qword [ebp - 0x6e4]
fldcw word [ebp - 0x6d6]
mov eax, dword [ebp - 0x6e4]
and eax, 0xff
add edx, eax
mov byte [ebp - 0x3aa], dl
jmp 0x4c5bf2
movzx ecx, byte [ebp - 0x3aa]
movzx edx, byte [ebp + ecx - 0x370]
fld qword [ebp - 0x220]
fnstcw word [ebp - 0x6e6]
movzx eax, word [ebp - 0x6e6]
or eax, 0xc00
mov dword [ebp - 0x6ec], eax
fldcw word [ebp - 0x6ec]
fistp qword [ebp - 0x6f4]
fldcw word [ebp - 0x6e6]
mov eax, dword [ebp - 0x6f4]
shr eax, 8
and eax, 0xff
add edx, eax
mov byte [ebp - 0x3aa], dl
jmp 0x4c5bf2
movzx ecx, byte [ebp - 0x3aa]
movzx edx, byte [ebp + ecx - 0x370]
fld qword [ebp - 0x220]
fnstcw word [ebp - 0x6f6]
movzx eax, word [ebp - 0x6f6]
or eax, 0xc00
mov dword [ebp - 0x6fc], eax
fldcw word [ebp - 0x6fc]
fistp qword [ebp - 0x704]
fldcw word [ebp - 0x6f6]
mov eax, dword [ebp - 0x704]
shr eax, 0x10
and eax, 0xff
add edx, eax
mov byte [ebp - 0x3aa], dl
jmp 0x4c5bf2
movzx ecx, byte [ebp - 0x3aa]
movzx edx, byte [ebp + ecx - 0x370]
fld qword [ebp - 0x220]
fnstcw word [ebp - 0x706]
movzx eax, word [ebp - 0x706]
or eax, 0xc00
mov dword [ebp - 0x70c], eax
fldcw word [ebp - 0x70c]
fistp qword [ebp - 0x714]
fldcw word [ebp - 0x706]
mov eax, dword [ebp - 0x714]
shr eax, 0x18
and eax, 0xff
add edx, eax
mov byte [ebp - 0x3aa], dl
jmp 0x4c5bf2
movzx ecx, byte [ebp - 0x3aa]
movzx edx, byte [ebp + ecx - 0x370]
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x26c]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x3aa], dl
mov edx, dword [ebp - 0x26c]
add edx, 1
mov dword [ebp - 0x26c], edx
movzx eax, byte [ebp - 0x3a9]
cmp dword [ebp - 0x26c], eax
jb 0x4c5c30
mov dword [ebp - 0x26c], 0
movzx ecx, byte [ebp - 0x3a9]
movzx edx, byte [ebp - 0x3aa]
add edx, ecx
mov byte [ebp - 0x3aa], dl
fld dword [0x9d4774]
fstp dword [ebp - 0x3c0]
fld dword [0x9d4770]
fstp dword [ebp - 0x3bc]
fld dword [0x9d476c]
fstp dword [ebp - 0x3c8]
fld dword [0x9d4768]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3bc]
fsub dword [ebp - 0x3c4]
fstp dword [ebp - 0x3bc]
fld dword [ebp - 0x3c8]
fadd dword [ebp - 0x3c4]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c8]
fsub dword [ebp - 0x3c4]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c8]
fadd dword [ebp - 0x3c4]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c0]
fld dword [ebp - 0x3c4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4c5dfa
fld dword [ebp - 0x3c0]
fadd dword [ebp - 0x3c8]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3bc]
fadd dword [ebp - 0x3c4]
fstp dword [ebp - 0x3bc]
fld dword [ebp - 0x3c4]
fadd dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c8]
fmul dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c0]
fadd dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3c4]
fmul dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c4]
fmul dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3bc]
fdiv dword [ebp - 0x3c8]
fstp dword [ebp - 0x3bc]
fld dword [ebp - 0x3c4]
fld dword [ebp - 0x3bc]
fcompp
fnstsw ax
test ah, 5
jp 0x4c5db0
fld dword [ebp - 0x3c8]
fmul dword [ebp - 0x3c4]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c0]
fsub dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3c8]
fmul dword [ebp - 0x3c4]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3bc]
fmul dword [ebp - 0x3c8]
fstp dword [ebp - 0x3bc]
jmp 0x4c5df8
fld dword [ebp - 0x3c0]
fadd dword [ebp - 0x3c8]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3c0]
fmul dword [ebp - 0x3c8]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3bc]
fadd dword [ebp - 0x3c4]
fstp dword [ebp - 0x3bc]
fld dword [ebp - 0x3c8]
fdiv dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c8]
jmp 0x4c5e55
fld dword [ebp - 0x3c8]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c0]
fadd dword [ebp - 0x3c8]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3c8]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c0]
fsub dword [ebp - 0x3c8]
fstp dword [ebp - 0x3c0]
movzx eax, byte [ebp - 0x3aa]
and eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x3b0]
add ecx, 1
mov dword [ebp - 0x3b0], ecx
cmp dword [ebp - 0x3b0], 0xb
jbe 0x4c5e81
mov eax, dword [ebp - 0x3b4]
xor edx, edx
div dword [ebp - 0x394]
mov dword [ebp - 0x3b4], edx
mov edx, dword [ebp - 0x3b4]
cmp edx, dword [ebp - 0x394]
ja 0x4c5a46
mov eax, dword [ebp - 0x394]
cmp eax, dword [ebp - 0x3b4]
je 0x4c5f26
mov ecx, dword [ebp - 0x3b4]
movzx edx, byte [ebp + ecx - 0x370]
mov eax, dword [ebp - 0x394]
movzx ecx, byte [ebp + eax - 0x370]
xor ecx, edx
mov edx, dword [ebp - 0x394]
mov byte [ebp + edx - 0x370], cl
mov eax, dword [ebp - 0x394]
movzx ecx, byte [ebp + eax - 0x370]
mov edx, dword [ebp - 0x3b4]
movzx eax, byte [ebp + edx - 0x370]
xor eax, ecx
mov ecx, dword [ebp - 0x3b4]
mov byte [ebp + ecx - 0x370], al
mov edx, dword [ebp - 0x3b4]
movzx eax, byte [ebp + edx - 0x370]
mov ecx, dword [ebp - 0x394]
movzx edx, byte [ebp + ecx - 0x370]
xor edx, eax
mov eax, dword [ebp - 0x394]
mov byte [ebp + eax - 0x370], dl
jmp 0x4c59f6
fld qword [0x9d4760]
fstp qword [ebp - 0x380]
fld qword [0x9d4758]
fstp qword [ebp - 0x268]
fld qword [0x9d4750]
fstp qword [ebp - 0x3a8]
fld qword [0x9d4748]
fstp qword [ebp - 0x390]
fld qword [0x9d4740]
fstp qword [ebp - 0x378]
fld qword [0x9d4738]
fstp qword [ebp - 0x260]
fld qword [0x9d4730]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x3a8]
fmul qword [ebp - 0x248]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x378]
fsub qword [ebp - 0x248]
fstp qword [ebp - 0x378]
fld qword [ebp - 0x260]
fadd qword [ebp - 0x248]
fstp qword [ebp - 0x260]
fld qword [ebp - 0x378]
fmul qword [ebp - 0x248]
fstp qword [ebp - 0x378]
fld qword [ebp - 0x390]
fmul qword [ebp - 0x248]
fstp qword [ebp - 0x390]
fld qword [ebp - 0x3a8]
fadd qword [ebp - 0x248]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x390]
fadd qword [ebp - 0x248]
fstp qword [ebp - 0x390]
fld qword [ebp - 0x3a8]
fcomp qword [ebp - 0x248]
fnstsw ax
test ah, 5
jp 0x4c622a
fld qword [ebp - 0x3a8]
fsub qword [ebp - 0x390]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x378]
fmul qword [ebp - 0x260]
fstp qword [ebp - 0x378]
fld qword [ebp - 0x390]
fsub qword [ebp - 0x378]
fstp qword [ebp - 0x390]
fld qword [ebp - 0x260]
fdiv qword [ebp - 0x248]
fstp qword [ebp - 0x260]
fld qword [ebp - 0x3a8]
fdiv qword [ebp - 0x390]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x380]
fadd qword [ebp - 0x268]
fstp qword [ebp - 0x380]
fld qword [ebp - 0x390]
fsub qword [ebp - 0x378]
fstp qword [ebp - 0x390]
fld qword [ebp - 0x3a8]
fdiv qword [ebp - 0x390]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x260]
fsub qword [ebp - 0x248]
fstp qword [ebp - 0x260]
fld qword [ebp - 0x260]
fmul qword [ebp - 0x248]
fstp qword [ebp - 0x260]
fld qword [ebp - 0x390]
fmul qword [ebp - 0x378]
fstp qword [ebp - 0x390]
fld qword [ebp - 0x378]
fdiv qword [ebp - 0x260]
fstp qword [ebp - 0x378]
fld qword [ebp - 0x260]
fdiv qword [ebp - 0x248]
fstp qword [ebp - 0x260]
fld qword [ebp - 0x268]
fdiv qword [ebp - 0x3a8]
fstp qword [ebp - 0x268]
fld qword [ebp - 0x380]
fcomp qword [ebp - 0x260]
fnstsw ax
test ah, 0x41
jne 0x4c61a7
fld qword [ebp - 0x378]
fdiv qword [ebp - 0x248]
fstp qword [ebp - 0x378]
fld qword [ebp - 0x378]
fdiv qword [ebp - 0x248]
fstp qword [ebp - 0x378]
fld qword [ebp - 0x3a8]
fsub qword [ebp - 0x378]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x390]
fsub qword [ebp - 0x260]
fstp qword [ebp - 0x390]
fld qword [ebp - 0x248]
fdiv qword [ebp - 0x268]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x260]
fmul qword [ebp - 0x380]
fstp qword [ebp - 0x260]
fld qword [ebp - 0x260]
fsub qword [ebp - 0x380]
fstp qword [ebp - 0x260]
jmp 0x4c6225
fld qword [ebp - 0x380]
fadd qword [ebp - 0x268]
fstp qword [ebp - 0x380]
fld qword [ebp - 0x378]
fadd qword [ebp - 0x260]
fstp qword [ebp - 0x378]
fld qword [ebp - 0x260]
fsub qword [ebp - 0x248]
fstp qword [ebp - 0x260]
fld qword [ebp - 0x268]
fadd qword [ebp - 0x3a8]
fstp qword [ebp - 0x268]
fld qword [ebp - 0x268]
fadd qword [ebp - 0x3a8]
fstp qword [ebp - 0x268]
fld qword [ebp - 0x378]
fmul qword [ebp - 0x260]
fstp qword [ebp - 0x378]
fld qword [ebp - 0x390]
fadd qword [ebp - 0x378]
fstp qword [ebp - 0x390]
jmp 0x4c62b4
fld qword [ebp - 0x268]
fadd qword [ebp - 0x390]
fstp qword [ebp - 0x268]
fld qword [ebp - 0x390]
fsub qword [ebp - 0x260]
fstp qword [ebp - 0x390]
fld qword [ebp - 0x248]
fsub qword [ebp - 0x268]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x380]
fadd qword [ebp - 0x3a8]
fstp qword [ebp - 0x380]
fld qword [ebp - 0x248]
fsub qword [ebp - 0x268]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x380]
fadd qword [ebp - 0x3a8]
fstp qword [ebp - 0x380]
fld qword [ebp - 0x390]
fmul qword [ebp - 0x260]
fstp qword [ebp - 0x390]
mov cl, byte [ebp - 0x36f]
mov byte [ebp - 0x3ab], cl
mov dl, byte [ebp - 0x36d]
mov byte [ebp - 0x26d], dl
mov al, byte [ebp - 0x36b]
mov byte [ebp - 0x381], al
mov cl, byte [ebp - 0x369]
mov byte [ebp - 0x395], cl
movzx edx, byte [ebp - 0x3aa]
mov al, byte [ebp + edx - 0x370]
mov byte [ebp - 0x249], al
mov dword [ebp - 0x39c], 0x18
cmp dword [ebp - 0x39c], 2
jle 0x4c77a4
mov ecx, dword [ebp - 0x39c]
and ecx, 1
jne 0x4c77a4
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 0
mov edx, dword [ebp - 0x430]
add edx, 1
mov dword [ebp - 0x430], edx
mov dword [ebp - 0x3e0], 0
mov eax, dword [ebp - 0x434]
shl eax, 1
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x468], 0
mov ecx, dword [ebp - 0x254]
add ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x468]
mov dword [ebp - 0x468], edx
mov dword [ebp - 0x400], 0
mov eax, dword [ebp - 0x400]
add eax, 0xe2
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x428], 0
mov ecx, dword [ebp - 0x434]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x478], 0
mov eax, dword [ebp - 0x254]
add eax, dword [ebp - 0x428]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x478]
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x464], 0
mov edx, dword [ebp - 0x464]
add edx, 0x96
mov dword [ebp - 0x464], edx
mov dword [ebp - 0x474], 0
mov eax, dword [ebp - 0x468]
sub eax, dword [ebp - 0x400]
add eax, dword [ebp - 0x474]
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x3e4], 0
mov ecx, dword [ebp - 0x478]
sub ecx, dword [ebp - 0x464]
add ecx, dword [ebp - 0x3e4]
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x470], 0
mov edx, dword [ebp - 0x474]
shl edx, 4
mov dword [ebp - 0x470], edx
mov dword [ebp - 0x460], 0
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x42c], 0
mov ecx, dword [ebp - 0x470]
or ecx, dword [ebp - 0x460]
mov dword [ebp - 0x42c], ecx
mov byte [ebp - 0x401], 0
mov dl, byte [ebp - 0x42c]
mov byte [ebp - 0x401], dl
mov byte [ebp - 0x469], 0
movzx eax, byte [ebp - 0x249]
mov cl, byte [ebp + eax - 0x370]
mov byte [ebp - 0x469], cl
movzx edx, byte [ebp - 0x3ab]
movzx eax, byte [ebp + edx - 0x370]
movzx ecx, byte [ebp - 0x26d]
add ecx, eax
mov byte [ebp - 0x26d], cl
mov dl, byte [ebp - 0x3ab]
add dl, 1
mov byte [ebp - 0x3ab], dl
fld dword [0x9d4728]
fstp dword [ebp - 0x458]
fld dword [0x9d4724]
fstp dword [ebp - 0x424]
fld dword [0x9d4720]
fstp dword [ebp - 0x3fc]
fld dword [0x9d471c]
fstp dword [ebp - 0x3dc]
fld dword [0x9d4718]
fstp dword [ebp - 0x454]
fld dword [ebp - 0x3dc]
fadd dword [ebp - 0x454]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x424]
fsub dword [ebp - 0x454]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x3fc]
fmul dword [ebp - 0x454]
fstp dword [ebp - 0x3fc]
fld dword [ebp - 0x424]
fadd dword [ebp - 0x454]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x424]
fadd dword [ebp - 0x454]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x454]
fld dword [ebp - 0x3fc]
fcompp
fnstsw ax
test ah, 5
jp 0x4c6702
fld dword [ebp - 0x3dc]
fsub dword [ebp - 0x454]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x458]
fadd dword [ebp - 0x424]
fstp dword [ebp - 0x458]
fld dword [ebp - 0x454]
fdiv dword [ebp - 0x458]
fstp dword [ebp - 0x454]
fld dword [ebp - 0x454]
fadd dword [ebp - 0x458]
fstp dword [ebp - 0x454]
fld dword [ebp - 0x3fc]
fmul dword [ebp - 0x3dc]
fstp dword [ebp - 0x3fc]
fld dword [ebp - 0x458]
fdiv dword [ebp - 0x3fc]
fstp dword [ebp - 0x458]
fld dword [ebp - 0x424]
fsub dword [ebp - 0x3dc]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x3fc]
fsub dword [ebp - 0x454]
fstp dword [ebp - 0x3fc]
fld dword [ebp - 0x424]
fadd dword [ebp - 0x3dc]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x458]
fdiv dword [ebp - 0x3fc]
fstp dword [ebp - 0x458]
fld dword [ebp - 0x3dc]
fld dword [ebp - 0x458]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4c66a6
fld dword [ebp - 0x454]
fsub dword [ebp - 0x424]
fstp dword [ebp - 0x454]
fld dword [ebp - 0x454]
fmul dword [ebp - 0x424]
fstp dword [ebp - 0x454]
fld dword [ebp - 0x454]
fadd dword [ebp - 0x424]
fstp dword [ebp - 0x454]
fld dword [ebp - 0x424]
fsub dword [ebp - 0x3dc]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x424]
fsub dword [ebp - 0x3dc]
fstp dword [ebp - 0x424]
jmp 0x4c6700
fld dword [ebp - 0x454]
fadd dword [ebp - 0x458]
fstp dword [ebp - 0x454]
fld dword [ebp - 0x3fc]
fmul dword [ebp - 0x3dc]
fstp dword [ebp - 0x3fc]
fld dword [ebp - 0x3fc]
fmul dword [ebp - 0x3dc]
fstp dword [ebp - 0x3fc]
fld dword [ebp - 0x3dc]
fdiv dword [ebp - 0x454]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3fc]
fadd dword [ebp - 0x3dc]
fstp dword [ebp - 0x3fc]
jmp 0x4c6778
fld dword [ebp - 0x458]
fmul dword [ebp - 0x424]
fstp dword [ebp - 0x458]
fld dword [ebp - 0x3fc]
fmul dword [ebp - 0x3dc]
fstp dword [ebp - 0x3fc]
fld dword [ebp - 0x454]
fadd dword [ebp - 0x458]
fstp dword [ebp - 0x454]
fld dword [ebp - 0x424]
fmul dword [ebp - 0x3fc]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x3dc]
fsub dword [ebp - 0x454]
fstp dword [ebp - 0x3dc]
movzx eax, byte [ebp - 0x26d]
movzx ecx, byte [ebp - 0x249]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0x395]
movzx ecx, byte [ebp - 0x26d]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0x3ab]
movzx ecx, byte [ebp - 0x395]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0x3ab]
mov cl, byte [ebp - 0x469]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0x469]
movzx eax, byte [ebp + edx - 0x370]
movzx ecx, byte [ebp - 0x381]
add ecx, eax
mov byte [ebp - 0x381], cl
movzx edx, byte [ebp - 0x401]
movzx eax, byte [ebp - 0x26d]
movzx ecx, byte [ebp + eax - 0x370]
movzx eax, byte [ebp - 0x3ab]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x370]
xor edx, ecx
movzx eax, byte [ebp - 0x395]
movzx ecx, byte [ebp + eax - 0x370]
movzx eax, byte [ebp - 0x249]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
movzx eax, byte [ebp - 0x381]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp + ecx - 0x370]
xor edx, eax
mov byte [ebp - 0x395], dl
mov cl, byte [ebp - 0x401]
mov byte [ebp - 0x249], cl
mov dl, byte [ebp - 0x395]
mov byte [ebp - 0x459], dl
cmp dword [ebp - 0x434], 0
jle 0x4c689c
mov eax, dword [ebp - 0x434]
mov cl, byte [ebp - 0x459]
mov byte [ebp + eax - 0x231], cl
mov edx, dword [ebp - 0x430]
add edx, 4
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x434]
add eax, 1
mov dword [ebp - 0x47c], eax
jmp 0x4c68cb
mov ecx, dword [ebp - 0x47c]
add ecx, 1
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x47c]
cmp edx, dword [ebp - 0x430]
jge 0x4c6b29
mov eax, dword [ebp - 0x434]
add eax, 1
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x434]
shl ecx, 1
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x254]
add edx, dword [ebp - 0x3e0]
movzx eax, byte [edx]
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x400], 0xe2
mov ecx, dword [ebp - 0x434]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x254]
add eax, dword [ebp - 0x428]
movzx ecx, byte [eax]
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x464], 0x96
mov edx, dword [ebp - 0x468]
sub edx, dword [ebp - 0x400]
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x478]
sub eax, dword [ebp - 0x464]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x474]
shl ecx, 4
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x470]
or eax, dword [ebp - 0x460]
mov dword [ebp - 0x42c], eax
mov cl, byte [ebp - 0x42c]
mov byte [ebp - 0x401], cl
movzx edx, byte [ebp - 0x249]
mov al, byte [ebp + edx - 0x370]
mov byte [ebp - 0x469], al
movzx ecx, byte [ebp - 0x3ab]
movzx edx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp - 0x26d]
add eax, edx
mov byte [ebp - 0x26d], al
mov cl, byte [ebp - 0x3ab]
add cl, 1
mov byte [ebp - 0x3ab], cl
movzx edx, byte [ebp - 0x26d]
movzx eax, byte [ebp - 0x249]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0x395]
movzx eax, byte [ebp - 0x26d]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0x3ab]
movzx eax, byte [ebp - 0x395]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0x3ab]
mov al, byte [ebp - 0x469]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0x469]
movzx edx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp - 0x381]
add eax, edx
mov byte [ebp - 0x381], al
movzx ecx, byte [ebp - 0x401]
movzx edx, byte [ebp - 0x26d]
movzx eax, byte [ebp + edx - 0x370]
movzx edx, byte [ebp - 0x3ab]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x370]
xor ecx, eax
movzx edx, byte [ebp - 0x395]
movzx eax, byte [ebp + edx - 0x370]
movzx edx, byte [ebp - 0x249]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
movzx edx, byte [ebp - 0x381]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x370]
movzx edx, byte [ebp + eax - 0x370]
xor ecx, edx
mov byte [ebp - 0x395], cl
mov al, byte [ebp - 0x401]
mov byte [ebp - 0x249], al
mov cl, byte [ebp - 0x395]
mov byte [ebp - 0x459], cl
cmp dword [ebp - 0x434], 0
jle 0x4c6b24
mov edx, dword [ebp - 0x434]
mov al, byte [ebp - 0x459]
mov byte [ebp + edx - 0x231], al
jmp 0x4c68bc
mov ecx, dword [ebp - 0x430]
add ecx, 1
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x430]
add eax, 1
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x434]
shl ecx, 1
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x254]
add edx, dword [ebp - 0x3e0]
movzx eax, byte [edx]
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x400], 0xe2
mov ecx, dword [ebp - 0x434]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x254]
add eax, dword [ebp - 0x428]
movzx ecx, byte [eax]
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x464], 0x96
mov edx, dword [ebp - 0x468]
sub edx, dword [ebp - 0x400]
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x478]
sub eax, dword [ebp - 0x464]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x474]
shl ecx, 4
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x470]
or eax, dword [ebp - 0x460]
mov dword [ebp - 0x42c], eax
mov cl, byte [ebp - 0x42c]
mov byte [ebp - 0x401], cl
movzx edx, byte [ebp - 0x249]
mov al, byte [ebp + edx - 0x370]
mov byte [ebp - 0x469], al
movzx ecx, byte [ebp - 0x3ab]
movzx edx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp - 0x26d]
add eax, edx
mov byte [ebp - 0x26d], al
mov cl, byte [ebp - 0x3ab]
add cl, 1
mov byte [ebp - 0x3ab], cl
movzx edx, byte [ebp - 0x26d]
movzx eax, byte [ebp - 0x249]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0x395]
movzx eax, byte [ebp - 0x26d]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
fld qword [0x9d4710]
fstp qword [ebp - 0x420]
fld qword [0x9d4708]
fstp qword [ebp - 0x3f8]
fld qword [0x9d4700]
fstp qword [ebp - 0x3d8]
fld qword [0x9d46f8]
fstp qword [ebp - 0x450]
fld qword [0x9d46f0]
fstp qword [ebp - 0x418]
fld qword [0x9d46e8]
fstp qword [ebp - 0x448]
fld qword [ebp - 0x450]
fmul qword [ebp - 0x448]
fstp qword [ebp - 0x450]
fld qword [ebp - 0x3f8]
fmul qword [ebp - 0x448]
fstp qword [ebp - 0x3f8]
fld qword [ebp - 0x3d8]
fmul qword [ebp - 0x448]
fstp qword [ebp - 0x3d8]
fld qword [ebp - 0x418]
fsub qword [ebp - 0x448]
fstp qword [ebp - 0x418]
fld qword [ebp - 0x450]
fsub qword [ebp - 0x448]
fstp qword [ebp - 0x450]
fld qword [ebp - 0x418]
fmul qword [ebp - 0x448]
fstp qword [ebp - 0x418]
fld qword [ebp - 0x448]
fcomp qword [ebp - 0x3f8]
fnstsw ax
test ah, 0x41
jne 0x4c6dc0
fld qword [ebp - 0x420]
fadd qword [ebp - 0x3f8]
fstp qword [ebp - 0x420]
fld qword [ebp - 0x418]
fadd qword [ebp - 0x448]
fstp qword [ebp - 0x418]
fld qword [ebp - 0x3d8]
fadd qword [ebp - 0x450]
fstp qword [ebp - 0x3d8]
fld qword [ebp - 0x448]
fmul qword [ebp - 0x420]
fstp qword [ebp - 0x448]
fld qword [ebp - 0x3d8]
fadd qword [ebp - 0x450]
fstp qword [ebp - 0x3d8]
fld qword [ebp - 0x3f8]
fadd qword [ebp - 0x3d8]
fstp qword [ebp - 0x3f8]
jmp 0x4c6e48
fld qword [ebp - 0x420]
fadd qword [ebp - 0x3f8]
fstp qword [ebp - 0x420]
fld qword [ebp - 0x3f8]
fadd qword [ebp - 0x3d8]
fstp qword [ebp - 0x3f8]
fld qword [ebp - 0x418]
fmul qword [ebp - 0x448]
fstp qword [ebp - 0x418]
fld qword [ebp - 0x420]
fadd qword [ebp - 0x3f8]
fstp qword [ebp - 0x420]
fld qword [ebp - 0x418]
fmul qword [ebp - 0x448]
fstp qword [ebp - 0x418]
fld qword [ebp - 0x3d8]
fsub qword [ebp - 0x450]
fstp qword [ebp - 0x3d8]
movzx edx, byte [ebp - 0x3ab]
movzx eax, byte [ebp - 0x395]
mov cl, byte [ebp + edx - 0x370]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0x3ab]
mov al, byte [ebp - 0x469]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0x469]
movzx edx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp - 0x381]
add eax, edx
mov byte [ebp - 0x381], al
movzx ecx, byte [ebp - 0x401]
movzx edx, byte [ebp - 0x26d]
movzx eax, byte [ebp + edx - 0x370]
movzx edx, byte [ebp - 0x3ab]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x370]
xor ecx, eax
movzx edx, byte [ebp - 0x395]
movzx eax, byte [ebp + edx - 0x370]
movzx edx, byte [ebp - 0x249]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
movzx edx, byte [ebp - 0x381]
movzx edx, byte [ebp + edx - 0x370]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x370]
movzx edx, byte [ebp + eax - 0x370]
xor ecx, edx
mov byte [ebp - 0x395], cl
mov al, byte [ebp - 0x401]
mov byte [ebp - 0x249], al
mov cl, byte [ebp - 0x395]
mov byte [ebp - 0x459], cl
cmp dword [ebp - 0x434], 0
jle 0x4c6f32
mov edx, dword [ebp - 0x434]
mov al, byte [ebp - 0x459]
mov byte [ebp + edx - 0x231], al
mov ecx, dword [ebp - 0x430]
add ecx, 4
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x480], edx
jmp 0x4c6f61
mov eax, dword [ebp - 0x480]
add eax, 1
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x480]
cmp ecx, dword [ebp - 0x430]
jge 0x4c71c0
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x434]
shl eax, 1
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x254]
add ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx]
mov dword [ebp - 0x468], edx
mov dword [ebp - 0x400], 0xe2
mov eax, dword [ebp - 0x434]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x254]
add edx, dword [ebp - 0x428]
movzx eax, byte [edx]
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x464], 0x96
mov ecx, dword [ebp - 0x468]
sub ecx, dword [ebp - 0x400]
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x478]
sub edx, dword [ebp - 0x464]
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x474]
shl eax, 4
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x3e4]
mov dword [ebp - 0x460], ecx
mov edx, dword [ebp - 0x470]
or edx, dword [ebp - 0x460]
mov dword [ebp - 0x42c], edx
mov al, byte [ebp - 0x42c]
mov byte [ebp - 0x401], al
movzx ecx, byte [ebp - 0x249]
mov dl, byte [ebp + ecx - 0x370]
mov byte [ebp - 0x469], dl
movzx eax, byte [ebp - 0x3ab]
movzx ecx, byte [ebp + eax - 0x370]
movzx edx, byte [ebp - 0x26d]
add edx, ecx
mov byte [ebp - 0x26d], dl
mov al, byte [ebp - 0x3ab]
add al, 1
mov byte [ebp - 0x3ab], al
movzx ecx, byte [ebp - 0x26d]
movzx edx, byte [ebp - 0x249]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp - 0x26d]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0x3ab]
movzx edx, byte [ebp - 0x395]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0x3ab]
mov dl, byte [ebp - 0x469]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0x469]
movzx ecx, byte [ebp + eax - 0x370]
movzx edx, byte [ebp - 0x381]
add edx, ecx
mov byte [ebp - 0x381], dl
movzx eax, byte [ebp - 0x401]
movzx ecx, byte [ebp - 0x26d]
movzx edx, byte [ebp + ecx - 0x370]
movzx ecx, byte [ebp - 0x3ab]
movzx ecx, byte [ebp + ecx - 0x370]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x370]
xor eax, edx
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp + ecx - 0x370]
movzx ecx, byte [ebp - 0x249]
movzx ecx, byte [ebp + ecx - 0x370]
add edx, ecx
movzx ecx, byte [ebp - 0x381]
movzx ecx, byte [ebp + ecx - 0x370]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x370]
movzx ecx, byte [ebp + edx - 0x370]
xor eax, ecx
mov byte [ebp - 0x395], al
mov dl, byte [ebp - 0x401]
mov byte [ebp - 0x249], dl
mov al, byte [ebp - 0x395]
mov byte [ebp - 0x459], al
cmp dword [ebp - 0x434], 0
jle 0x4c71bb
mov ecx, dword [ebp - 0x434]
mov dl, byte [ebp - 0x459]
mov byte [ebp + ecx - 0x231], dl
jmp 0x4c6f52
mov eax, dword [ebp - 0x430]
add eax, 1
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x434]
add ecx, 1
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp - 0x430]
add edx, 1
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x434]
shl eax, 1
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x254]
add ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx]
mov dword [ebp - 0x468], edx
mov dword [ebp - 0x400], 0xe2
mov eax, dword [ebp - 0x434]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x254]
add edx, dword [ebp - 0x428]
movzx eax, byte [edx]
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x464], 0x96
mov ecx, dword [ebp - 0x468]
sub ecx, dword [ebp - 0x400]
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x478]
sub edx, dword [ebp - 0x464]
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x474]
shl eax, 4
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x3e4]
mov dword [ebp - 0x460], ecx
mov edx, dword [ebp - 0x470]
or edx, dword [ebp - 0x460]
mov dword [ebp - 0x42c], edx
mov al, byte [ebp - 0x42c]
mov byte [ebp - 0x401], al
movzx ecx, byte [ebp - 0x249]
mov dl, byte [ebp + ecx - 0x370]
mov byte [ebp - 0x469], dl
movzx eax, byte [ebp - 0x3ab]
movzx ecx, byte [ebp + eax - 0x370]
movzx edx, byte [ebp - 0x26d]
add edx, ecx
mov byte [ebp - 0x26d], dl
mov al, byte [ebp - 0x3ab]
add al, 1
mov byte [ebp - 0x3ab], al
movzx ecx, byte [ebp - 0x26d]
movzx edx, byte [ebp - 0x249]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp - 0x26d]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0x3ab]
movzx edx, byte [ebp - 0x395]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + edx - 0x370], al
movzx ecx, byte [ebp - 0x3ab]
mov dl, byte [ebp - 0x469]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0x469]
movzx ecx, byte [ebp + eax - 0x370]
movzx edx, byte [ebp - 0x381]
add edx, ecx
mov byte [ebp - 0x381], dl
movzx eax, byte [ebp - 0x401]
movzx ecx, byte [ebp - 0x26d]
movzx edx, byte [ebp + ecx - 0x370]
movzx ecx, byte [ebp - 0x3ab]
movzx ecx, byte [ebp + ecx - 0x370]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x370]
xor eax, edx
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp + ecx - 0x370]
movzx ecx, byte [ebp - 0x249]
movzx ecx, byte [ebp + ecx - 0x370]
add edx, ecx
movzx ecx, byte [ebp - 0x381]
movzx ecx, byte [ebp + ecx - 0x370]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x370]
movzx ecx, byte [ebp + edx - 0x370]
xor eax, ecx
mov byte [ebp - 0x395], al
mov dl, byte [ebp - 0x401]
mov byte [ebp - 0x249], dl
mov al, byte [ebp - 0x395]
mov byte [ebp - 0x459], al
cmp dword [ebp - 0x434], 0
jle 0x4c7426
mov ecx, dword [ebp - 0x434]
mov dl, byte [ebp - 0x459]
mov byte [ebp + ecx - 0x231], dl
mov eax, dword [ebp - 0x434]
add eax, 1
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x430]
add ecx, 1
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x434]
shl edx, 1
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x254]
add eax, dword [ebp - 0x3e0]
movzx ecx, byte [eax]
mov dword [ebp - 0x468], ecx
mov dword [ebp - 0x400], 0xe2
mov edx, dword [ebp - 0x434]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x254]
add ecx, dword [ebp - 0x428]
movzx edx, byte [ecx]
mov dword [ebp - 0x478], edx
mov dword [ebp - 0x464], 0x96
fld qword [0x9d46e0]
fstp qword [ebp - 0x3d0]
fld qword [0x9d46d8]
fstp qword [ebp - 0x3f0]
fld qword [0x9d46d0]
fstp qword [ebp - 0x410]
fld qword [0x9d46c8]
fstp qword [ebp - 0x440]
fld qword [ebp - 0x3f0]
fsub qword [ebp - 0x440]
fstp qword [ebp - 0x3f0]
fld qword [ebp - 0x3d0]
fmul qword [ebp - 0x440]
fstp qword [ebp - 0x3d0]
fld qword [ebp - 0x3f0]
fmul qword [ebp - 0x440]
fstp qword [ebp - 0x3f0]
fld qword [ebp - 0x3d0]
fsub qword [ebp - 0x440]
fstp qword [ebp - 0x3d0]
fld qword [ebp - 0x440]
fcomp qword [ebp - 0x3d0]
fnstsw ax
test ah, 5
jp 0x4c7587
fld qword [ebp - 0x410]
fsub qword [ebp - 0x440]
fstp qword [ebp - 0x410]
fld qword [ebp - 0x410]
fmul qword [ebp - 0x440]
fstp qword [ebp - 0x410]
fld qword [ebp - 0x410]
fsub qword [ebp - 0x440]
fstp qword [ebp - 0x410]
fld qword [ebp - 0x440]
fmul qword [ebp - 0x3d0]
fstp qword [ebp - 0x440]
mov eax, dword [ebp - 0x468]
sub eax, dword [ebp - 0x400]
mov dword [ebp - 0x474], eax
jmp 0x4c75cf
fld qword [ebp - 0x440]
fdiv qword [ebp - 0x3d0]
fstp qword [ebp - 0x440]
fld qword [ebp - 0x440]
fdiv qword [ebp - 0x3d0]
fstp qword [ebp - 0x440]
fld qword [ebp - 0x440]
fmul qword [ebp - 0x3d0]
fstp qword [ebp - 0x440]
fld qword [ebp - 0x410]
fdiv qword [ebp - 0x440]
fstp qword [ebp - 0x410]
mov ecx, dword [ebp - 0x478]
sub ecx, dword [ebp - 0x464]
mov dword [ebp - 0x3e4], ecx
mov edx, dword [ebp - 0x474]
shl edx, 4
mov dword [ebp - 0x470], edx
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x470]
or ecx, dword [ebp - 0x460]
mov dword [ebp - 0x42c], ecx
mov dl, byte [ebp - 0x42c]
mov byte [ebp - 0x401], dl
movzx eax, byte [ebp - 0x249]
mov cl, byte [ebp + eax - 0x370]
mov byte [ebp - 0x469], cl
movzx edx, byte [ebp - 0x3ab]
movzx eax, byte [ebp + edx - 0x370]
movzx ecx, byte [ebp - 0x26d]
add ecx, eax
mov byte [ebp - 0x26d], cl
mov dl, byte [ebp - 0x3ab]
add dl, 1
mov byte [ebp - 0x3ab], dl
movzx eax, byte [ebp - 0x26d]
movzx ecx, byte [ebp - 0x249]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0x395]
movzx ecx, byte [ebp - 0x26d]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0x3ab]
movzx ecx, byte [ebp - 0x395]
mov dl, byte [ebp + eax - 0x370]
mov byte [ebp + ecx - 0x370], dl
movzx eax, byte [ebp - 0x3ab]
mov cl, byte [ebp - 0x469]
mov byte [ebp + eax - 0x370], cl
movzx edx, byte [ebp - 0x469]
movzx eax, byte [ebp + edx - 0x370]
movzx ecx, byte [ebp - 0x381]
add ecx, eax
mov byte [ebp - 0x381], cl
movzx edx, byte [ebp - 0x401]
movzx eax, byte [ebp - 0x26d]
movzx ecx, byte [ebp + eax - 0x370]
movzx eax, byte [ebp - 0x3ab]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x370]
xor edx, ecx
movzx eax, byte [ebp - 0x395]
movzx ecx, byte [ebp + eax - 0x370]
movzx eax, byte [ebp - 0x249]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
movzx eax, byte [ebp - 0x381]
movzx eax, byte [ebp + eax - 0x370]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x370]
movzx eax, byte [ebp + ecx - 0x370]
xor edx, eax
mov byte [ebp - 0x395], dl
mov cl, byte [ebp - 0x401]
mov byte [ebp - 0x249], cl
mov dl, byte [ebp - 0x395]
mov byte [ebp - 0x459], dl
cmp dword [ebp - 0x434], 0
jle 0x4c779b
mov eax, dword [ebp - 0x434]
mov cl, byte [ebp - 0x459]
mov byte [ebp + eax - 0x231], cl
mov byte [ebp - 0x225], 0
jmp 0x4c77d8
mov dword [ebp - 0x484], 0
jmp 0x4c77bf
mov edx, dword [ebp - 0x484]
add edx, 1
mov dword [ebp - 0x484], edx
cmp dword [ebp - 0x484], 0xc
jge 0x4c77d8
mov eax, dword [ebp - 0x484]
mov byte [ebp + eax - 0x230], 0
jmp 0x4c77b0
lea ecx, [ebp - 0x230]
push ecx
mov ecx, dword [0xa08a1c]
call fcn.00451a00
mov dword [ebp - 0x214], eax
push 0
push 0x80
push 3
push 0
push 1
push 0xa0000000
lea edx, [ebp - 0x208]
push edx
call dword [ebp - 0x214]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0xffffffff
je 0x4c9b57
push 0
mov eax, dword [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x4bc], 0
mov ecx, dword [ebp - 0x4a0]
push ecx
call fcn.009668a7
add esp, 4
mov dword [ebp - 0x698], eax
mov edx, dword [ebp - 0x698]
mov dword [ebp - 0x49c], edx
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x498], 0
fldz
fstp qword [ebp - 0x4b8]
fldz
fstp qword [ebp - 0x490]
fldz
fstp qword [ebp - 0x490]
jmp 0x4c78a2
fld qword [ebp - 0x490]
fadd qword [0x9d0ab8]
fstp qword [ebp - 0x490]
fld qword [0x9d46c0]
fcomp qword [ebp - 0x490]
fnstsw ax
test ah, 0x41
jne 0x4c792b
fld qword [0x9d46b8]
fmul qword [ebp - 0x490]
fmul qword [ebp - 0x490]
fld qword [ebp - 0x490]
fmul qword [ebp - 0x490]
fsubp st(1)
fld qword [0x9d18a0]
fmul qword [ebp - 0x490]
fmul qword [ebp - 0x490]
fadd qword [0x9d46b0]
fdivp st(1)
fadd qword [ebp - 0x4b8]
fstp qword [ebp - 0x4b8]
fld qword [0x9d46a8]
fcomp qword [ebp - 0x4b8]
fnstsw ax
test ah, 5
jp 0x4c7926
fld qword [0x9d46a0]
fmul qword [ebp - 0x490]
fsubr qword [ebp - 0x4b8]
fstp qword [ebp - 0x4b8]
jmp 0x4c7890
fldz
fcomp qword [ebp - 0x4b8]
fnstsw ax
test ah, 0x41
jne 0x4c7962
push esi
rcr dword [eax - 0x37], 0x63
rcr dword [edi - 0x43], 0x60
ret
mov dword [ebp - 0x488], 0x4c793a
mov dword [ebp - 0x498], 0x4c794c
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x498]
mov dword [ebp - 0x4c4], ecx
mov byte [ebp - 0x5e1], 0x15
mov dword [ebp - 0x5d8], 0
jmp 0x4c79b0
mov edx, dword [ebp - 0x5d8]
add edx, 1
mov dword [ebp - 0x5d8], edx
cmp dword [ebp - 0x5d8], 0x100
jae 0x4c79d1
mov eax, dword [ebp - 0x5d8]
mov cl, byte [ebp - 0x5d8]
mov byte [ebp + eax - 0x5d0], cl
jmp 0x4c79a1
mov dword [ebp - 0x4cc], 0
mov byte [ebp - 0x5e2], 0
mov dword [ebp - 0x5d8], 0xff
jmp 0x4c79fd
mov edx, dword [ebp - 0x5d8]
sub edx, 1
mov dword [ebp - 0x5d8], edx
cmp dword [ebp - 0x5d8], 0
jbe 0x4c7d15
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 0x5f0], 1
mov eax, dword [ebp - 0x5f0]
cmp eax, dword [ebp - 0x5d8]
jae 0x4c7a3e
mov ecx, dword [ebp - 0x5f0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x5f0], edx
jmp 0x4c7a1e
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x718], eax
cmp dword [ebp - 0x718], 3
ja case.default.0x4c7a5d
mov ecx, dword [ebp - 0x718]
jmp dword [ecx*4 + 0x4c9b84]
movzx edx, byte [ebp - 0x5e2]
movzx ecx, byte [ebp + edx - 0x5d0]
fld qword [ebp - 0x4b8]
fnstcw word [ebp - 0x71a]
movzx eax, word [ebp - 0x71a]
or eax, 0xc00
mov dword [ebp - 0x720], eax
fldcw word [ebp - 0x720]
fistp qword [ebp - 0x728]
fldcw word [ebp - 0x71a]
mov edx, dword [ebp - 0x728]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x5e2], cl
jmp 0x4c7bee
movzx eax, byte [ebp - 0x5e2]
movzx ecx, byte [ebp + eax - 0x5d0]
fld qword [ebp - 0x4b8]
fnstcw word [ebp - 0x72a]
movzx eax, word [ebp - 0x72a]
or eax, 0xc00
mov dword [ebp - 0x730], eax
fldcw word [ebp - 0x730]
fistp qword [ebp - 0x738]
fldcw word [ebp - 0x72a]
mov edx, dword [ebp - 0x738]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x5e2], cl
jmp 0x4c7bee
movzx eax, byte [ebp - 0x5e2]
movzx ecx, byte [ebp + eax - 0x5d0]
fld qword [ebp - 0x4b8]
fnstcw word [ebp - 0x73a]
movzx eax, word [ebp - 0x73a]
or eax, 0xc00
mov dword [ebp - 0x740], eax
fldcw word [ebp - 0x740]
fistp qword [ebp - 0x748]
fldcw word [ebp - 0x73a]
mov edx, dword [ebp - 0x748]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x5e2], cl
jmp 0x4c7bee
movzx eax, byte [ebp - 0x5e2]
movzx ecx, byte [ebp + eax - 0x5d0]
fld qword [ebp - 0x4b8]
fnstcw word [ebp - 0x74a]
movzx eax, word [ebp - 0x74a]
or eax, 0xc00
mov dword [ebp - 0x750], eax
fldcw word [ebp - 0x750]
fistp qword [ebp - 0x758]
fldcw word [ebp - 0x74a]
mov edx, dword [ebp - 0x758]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x5e2], cl
jmp 0x4c7bee
movzx eax, byte [ebp - 0x5e2]
movzx ecx, byte [ebp + eax - 0x5d0]
mov edx, dword [ebp - 0x4c4]
add edx, dword [ebp - 0x4cc]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x5e2], cl
mov ecx, dword [ebp - 0x4cc]
add ecx, 1
mov dword [ebp - 0x4cc], ecx
movzx edx, byte [ebp - 0x5e1]
cmp dword [ebp - 0x4cc], edx
jb 0x4c7c2c
mov dword [ebp - 0x4cc], 0
movzx eax, byte [ebp - 0x5e1]
movzx ecx, byte [ebp - 0x5e2]
add ecx, eax
mov byte [ebp - 0x5e2], cl
movzx edx, byte [ebp - 0x5e2]
and edx, dword [ebp - 0x5f0]
mov dword [ebp - 0x5ec], edx
mov eax, dword [ebp - 0x5e8]
add eax, 1
mov dword [ebp - 0x5e8], eax
cmp dword [ebp - 0x5e8], 0xb
jbe 0x4c7c6b
mov eax, dword [ebp - 0x5ec]
xor edx, edx
div dword [ebp - 0x5d8]
mov dword [ebp - 0x5ec], edx
mov ecx, dword [ebp - 0x5ec]
cmp ecx, dword [ebp - 0x5d8]
ja 0x4c7a3e
mov edx, dword [ebp - 0x5d8]
cmp edx, dword [ebp - 0x5ec]
je 0x4c7d10
mov eax, dword [ebp - 0x5ec]
movzx ecx, byte [ebp + eax - 0x5d0]
mov edx, dword [ebp - 0x5d8]
movzx eax, byte [ebp + edx - 0x5d0]
xor eax, ecx
mov ecx, dword [ebp - 0x5d8]
mov byte [ebp + ecx - 0x5d0], al
mov edx, dword [ebp - 0x5d8]
movzx eax, byte [ebp + edx - 0x5d0]
mov ecx, dword [ebp - 0x5ec]
movzx edx, byte [ebp + ecx - 0x5d0]
xor edx, eax
mov eax, dword [ebp - 0x5ec]
mov byte [ebp + eax - 0x5d0], dl
mov ecx, dword [ebp - 0x5ec]
movzx edx, byte [ebp + ecx - 0x5d0]
mov eax, dword [ebp - 0x5d8]
movzx ecx, byte [ebp + eax - 0x5d0]
xor ecx, edx
mov edx, dword [ebp - 0x5d8]
mov byte [ebp + edx - 0x5d0], cl
jmp 0x4c79ee
mov al, byte [ebp - 0x5cf]
mov byte [ebp - 0x5e3], al
mov cl, byte [ebp - 0x5cd]
mov byte [ebp - 0x4cd], cl
mov dl, byte [ebp - 0x5cb]
mov byte [ebp - 0x5d1], dl
mov al, byte [ebp - 0x5c9]
mov byte [ebp - 0x5d9], al
movzx ecx, byte [ebp - 0x5e2]
mov dl, byte [ebp + ecx - 0x5d0]
mov byte [ebp - 0x4bd], dl
mov dword [ebp - 0x5e0], 0x12
cmp dword [ebp - 0x5e0], 2
jle 0x4c9957
mov eax, dword [ebp - 0x5e0]
and eax, 1
jne 0x4c9957
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x644], 0
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
mov dword [ebp - 0x608], 0
mov edx, dword [ebp - 0x648]
shl edx, 1
mov dword [ebp - 0x608], edx
mov dword [ebp - 0x66c], 0
mov eax, dword [ebp - 0x4c8]
add eax, dword [ebp - 0x608]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x66c]
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x624], 0
mov edx, dword [ebp - 0x624]
add edx, 0x54
mov dword [ebp - 0x624], edx
mov dword [ebp - 0x638], 0
mov eax, dword [ebp - 0x648]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x638], ecx
mov dword [ebp - 0x67c], 0
mov edx, dword [ebp - 0x4c8]
add edx, dword [ebp - 0x638]
movzx eax, byte [edx]
add eax, dword [ebp - 0x67c]
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x668], 0
mov ecx, dword [ebp - 0x668]
add ecx, 0xbb
mov dword [ebp - 0x668], ecx
mov dword [ebp - 0x678], 0
mov edx, dword [ebp - 0x66c]
sub edx, dword [ebp - 0x624]
add edx, dword [ebp - 0x678]
mov dword [ebp - 0x678], edx
mov dword [ebp - 0x60c], 0
mov eax, dword [ebp - 0x67c]
sub eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x60c]
mov dword [ebp - 0x60c], eax
mov dword [ebp - 0x674], 0
mov ecx, dword [ebp - 0x678]
shl ecx, 4
mov dword [ebp - 0x674], ecx
mov dword [ebp - 0x664], 0
mov edx, dword [ebp - 0x60c]
mov dword [ebp - 0x664], edx
mov dword [ebp - 0x640], 0
mov eax, dword [ebp - 0x674]
or eax, dword [ebp - 0x664]
mov dword [ebp - 0x640], eax
mov byte [ebp - 0x625], 0
mov cl, byte [ebp - 0x640]
mov byte [ebp - 0x625], cl
mov byte [ebp - 0x66d], 0
movzx edx, byte [ebp - 0x4bd]
mov al, byte [ebp + edx - 0x5d0]
mov byte [ebp - 0x66d], al
movzx ecx, byte [ebp - 0x5e3]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp - 0x4cd]
add eax, edx
mov byte [ebp - 0x4cd], al
mov cl, byte [ebp - 0x5e3]
add cl, 1
mov byte [ebp - 0x5e3], cl
movzx edx, byte [ebp - 0x4cd]
movzx eax, byte [ebp - 0x4bd]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5d9]
movzx eax, byte [ebp - 0x4cd]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5e3]
movzx eax, byte [ebp - 0x5d9]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5e3]
mov al, byte [ebp - 0x66d]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x66d]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp - 0x5d1]
add eax, edx
mov byte [ebp - 0x5d1], al
movzx ecx, byte [ebp - 0x625]
movzx edx, byte [ebp - 0x4cd]
movzx eax, byte [ebp + edx - 0x5d0]
movzx edx, byte [ebp - 0x5e3]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x5d0]
xor ecx, eax
movzx edx, byte [ebp - 0x5d9]
movzx eax, byte [ebp + edx - 0x5d0]
movzx edx, byte [ebp - 0x4bd]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
movzx edx, byte [ebp - 0x5d1]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x5d0]
movzx edx, byte [ebp + eax - 0x5d0]
xor ecx, edx
mov byte [ebp - 0x5d9], cl
mov al, byte [ebp - 0x625]
mov byte [ebp - 0x4bd], al
mov cl, byte [ebp - 0x5d9]
mov byte [ebp - 0x65d], cl
cmp dword [ebp - 0x648], 0
jle 0x4c807b
mov edx, dword [ebp - 0x648]
mov al, byte [ebp - 0x65d]
mov byte [ebp + edx - 0x4ad], al
mov ecx, dword [ebp - 0x648]
add ecx, 1
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x644]
add edx, 1
mov dword [ebp - 0x644], edx
mov eax, dword [ebp - 0x648]
shl eax, 1
mov dword [ebp - 0x608], eax
mov ecx, dword [ebp - 0x4c8]
add ecx, dword [ebp - 0x608]
movzx edx, byte [ecx]
mov dword [ebp - 0x66c], edx
mov dword [ebp - 0x624], 0x54
mov eax, dword [ebp - 0x648]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x4c8]
add edx, dword [ebp - 0x638]
movzx eax, byte [edx]
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x668], 0xbb
mov ecx, dword [ebp - 0x66c]
sub ecx, dword [ebp - 0x624]
mov dword [ebp - 0x678], ecx
mov edx, dword [ebp - 0x67c]
sub edx, dword [ebp - 0x668]
mov dword [ebp - 0x60c], edx
mov eax, dword [ebp - 0x678]
shl eax, 4
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x60c]
mov dword [ebp - 0x664], ecx
mov edx, dword [ebp - 0x674]
or edx, dword [ebp - 0x664]
mov dword [ebp - 0x640], edx
mov al, byte [ebp - 0x640]
mov byte [ebp - 0x625], al
movzx ecx, byte [ebp - 0x4bd]
mov dl, byte [ebp + ecx - 0x5d0]
mov byte [ebp - 0x66d], dl
movzx eax, byte [ebp - 0x5e3]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx edx, byte [ebp - 0x4cd]
add edx, ecx
mov byte [ebp - 0x4cd], dl
mov al, byte [ebp - 0x5e3]
add al, 1
mov byte [ebp - 0x5e3], al
movzx ecx, byte [ebp - 0x4cd]
movzx edx, byte [ebp - 0x4bd]
mov al, byte [ebp + ecx - 0x5d0]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x5d9]
movzx edx, byte [ebp - 0x4cd]
mov al, byte [ebp + ecx - 0x5d0]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x5e3]
movzx edx, byte [ebp - 0x5d9]
mov al, byte [ebp + ecx - 0x5d0]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x5e3]
mov dl, byte [ebp - 0x66d]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x66d]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx edx, byte [ebp - 0x5d1]
add edx, ecx
mov byte [ebp - 0x5d1], dl
movzx eax, byte [ebp - 0x625]
movzx ecx, byte [ebp - 0x4cd]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx ecx, byte [ebp - 0x5e3]
movzx ecx, byte [ebp + ecx - 0x5d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x5d0]
xor eax, edx
movzx ecx, byte [ebp - 0x5d9]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx ecx, byte [ebp - 0x4bd]
movzx ecx, byte [ebp + ecx - 0x5d0]
add edx, ecx
movzx ecx, byte [ebp - 0x5d1]
movzx ecx, byte [ebp + ecx - 0x5d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x5d0]
movzx ecx, byte [ebp + edx - 0x5d0]
xor eax, ecx
mov byte [ebp - 0x5d9], al
mov dl, byte [ebp - 0x625]
mov byte [ebp - 0x4bd], dl
mov al, byte [ebp - 0x5d9]
mov byte [ebp - 0x65d], al
cmp dword [ebp - 0x648], 0
jle 0x4c82d2
mov ecx, dword [ebp - 0x648]
mov dl, byte [ebp - 0x65d]
mov byte [ebp + ecx - 0x4ad], dl
mov eax, dword [ebp - 0x648]
add eax, 1
mov dword [ebp - 0x648], eax
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
mov edx, dword [ebp - 0x648]
shl edx, 1
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x4c8]
add eax, dword [ebp - 0x608]
movzx ecx, byte [eax]
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x624], 0x54
mov edx, dword [ebp - 0x648]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x4c8]
add ecx, dword [ebp - 0x638]
movzx edx, byte [ecx]
mov dword [ebp - 0x67c], edx
mov dword [ebp - 0x668], 0xbb
mov eax, dword [ebp - 0x66c]
sub eax, dword [ebp - 0x624]
mov dword [ebp - 0x678], eax
mov ecx, dword [ebp - 0x67c]
sub ecx, dword [ebp - 0x668]
mov dword [ebp - 0x60c], ecx
mov edx, dword [ebp - 0x678]
shl edx, 4
mov dword [ebp - 0x674], edx
mov eax, dword [ebp - 0x60c]
mov dword [ebp - 0x664], eax
mov ecx, dword [ebp - 0x674]
or ecx, dword [ebp - 0x664]
mov dword [ebp - 0x640], ecx
mov dl, byte [ebp - 0x640]
mov byte [ebp - 0x625], dl
movzx eax, byte [ebp - 0x4bd]
mov cl, byte [ebp + eax - 0x5d0]
mov byte [ebp - 0x66d], cl
movzx edx, byte [ebp - 0x5e3]
movzx eax, byte [ebp + edx - 0x5d0]
movzx ecx, byte [ebp - 0x4cd]
add ecx, eax
mov byte [ebp - 0x4cd], cl
mov dl, byte [ebp - 0x5e3]
add dl, 1
mov byte [ebp - 0x5e3], dl
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp - 0x4bd]
mov dl, byte [ebp + eax - 0x5d0]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x5d9]
movzx ecx, byte [ebp - 0x4cd]
mov dl, byte [ebp + eax - 0x5d0]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x5e3]
movzx ecx, byte [ebp - 0x5d9]
mov dl, byte [ebp + eax - 0x5d0]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x5e3]
mov cl, byte [ebp - 0x66d]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x66d]
movzx eax, byte [ebp + edx - 0x5d0]
movzx ecx, byte [ebp - 0x5d1]
add ecx, eax
mov byte [ebp - 0x5d1], cl
movzx edx, byte [ebp - 0x625]
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx eax, byte [ebp - 0x5e3]
movzx eax, byte [ebp + eax - 0x5d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5d0]
xor edx, ecx
movzx eax, byte [ebp - 0x5d9]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx eax, byte [ebp - 0x4bd]
movzx eax, byte [ebp + eax - 0x5d0]
add ecx, eax
movzx eax, byte [ebp - 0x5d1]
movzx eax, byte [ebp + eax - 0x5d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp + ecx - 0x5d0]
xor edx, eax
mov byte [ebp - 0x5d9], dl
mov cl, byte [ebp - 0x625]
mov byte [ebp - 0x4bd], cl
mov dl, byte [ebp - 0x5d9]
mov byte [ebp - 0x65d], dl
cmp dword [ebp - 0x648], 0
jle 0x4c852a
mov eax, dword [ebp - 0x648]
mov cl, byte [ebp - 0x65d]
mov byte [ebp + eax - 0x4ad], cl
mov edx, dword [ebp - 0x644]
add edx, 1
mov dword [ebp - 0x644], edx
mov eax, dword [ebp - 0x648]
add eax, 1
mov dword [ebp - 0x680], eax
jmp 0x4c8559
mov ecx, dword [ebp - 0x680]
add ecx, 1
mov dword [ebp - 0x680], ecx
mov edx, dword [ebp - 0x680]
cmp edx, dword [ebp - 0x644]
jge 0x4c87b7
mov eax, dword [ebp - 0x648]
add eax, 1
mov dword [ebp - 0x648], eax
mov ecx, dword [ebp - 0x648]
shl ecx, 1
mov dword [ebp - 0x608], ecx
mov edx, dword [ebp - 0x4c8]
add edx, dword [ebp - 0x608]
movzx eax, byte [edx]
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x624], 0x54
mov ecx, dword [ebp - 0x648]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x4c8]
add eax, dword [ebp - 0x638]
movzx ecx, byte [eax]
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 0x668], 0xbb
mov edx, dword [ebp - 0x66c]
sub edx, dword [ebp - 0x624]
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x67c]
sub eax, dword [ebp - 0x668]
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0x678]
shl ecx, 4
mov dword [ebp - 0x674], ecx
mov edx, dword [ebp - 0x60c]
mov dword [ebp - 0x664], edx
mov eax, dword [ebp - 0x674]
or eax, dword [ebp - 0x664]
mov dword [ebp - 0x640], eax
mov cl, byte [ebp - 0x640]
mov byte [ebp - 0x625], cl
movzx edx, byte [ebp - 0x4bd]
mov al, byte [ebp + edx - 0x5d0]
mov byte [ebp - 0x66d], al
movzx ecx, byte [ebp - 0x5e3]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp - 0x4cd]
add eax, edx
mov byte [ebp - 0x4cd], al
mov cl, byte [ebp - 0x5e3]
add cl, 1
mov byte [ebp - 0x5e3], cl
movzx edx, byte [ebp - 0x4cd]
movzx eax, byte [ebp - 0x4bd]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5d9]
movzx eax, byte [ebp - 0x4cd]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5e3]
movzx eax, byte [ebp - 0x5d9]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5e3]
mov al, byte [ebp - 0x66d]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x66d]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp - 0x5d1]
add eax, edx
mov byte [ebp - 0x5d1], al
movzx ecx, byte [ebp - 0x625]
movzx edx, byte [ebp - 0x4cd]
movzx eax, byte [ebp + edx - 0x5d0]
movzx edx, byte [ebp - 0x5e3]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x5d0]
xor ecx, eax
movzx edx, byte [ebp - 0x5d9]
movzx eax, byte [ebp + edx - 0x5d0]
movzx edx, byte [ebp - 0x4bd]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
movzx edx, byte [ebp - 0x5d1]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x5d0]
movzx edx, byte [ebp + eax - 0x5d0]
xor ecx, edx
mov byte [ebp - 0x5d9], cl
mov al, byte [ebp - 0x625]
mov byte [ebp - 0x4bd], al
mov cl, byte [ebp - 0x5d9]
mov byte [ebp - 0x65d], cl
cmp dword [ebp - 0x648], 0
jle 0x4c87b2
mov edx, dword [ebp - 0x648]
mov al, byte [ebp - 0x65d]
mov byte [ebp + edx - 0x4ad], al
jmp 0x4c854a
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
mov edx, dword [ebp - 0x648]
add edx, 1
mov dword [ebp - 0x648], edx
mov eax, dword [ebp - 0x644]
add eax, 1
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x648]
shl ecx, 1
mov dword [ebp - 0x608], ecx
fld dword [0x9d4698]
fstp dword [ebp - 0x63c]
fld dword [0x9d3270]
fstp dword [ebp - 0x604]
fld dword [0x9d4694]
fstp dword [ebp - 0x65c]
fld dword [0x9d4690]
fstp dword [ebp - 0x634]
fld dword [ebp - 0x65c]
fmul dword [ebp - 0x634]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x65c]
fmul dword [ebp - 0x634]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x65c]
fadd dword [ebp - 0x634]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x65c]
fsub dword [ebp - 0x634]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x65c]
fld dword [ebp - 0x634]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4c89bc
fld dword [ebp - 0x65c]
fmul dword [ebp - 0x634]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x604]
fsub dword [ebp - 0x65c]
fstp dword [ebp - 0x604]
fld dword [ebp - 0x63c]
fadd dword [ebp - 0x604]
fstp dword [ebp - 0x63c]
fld dword [ebp - 0x63c]
fmul dword [ebp - 0x604]
fstp dword [ebp - 0x63c]
fld dword [ebp - 0x65c]
fmul dword [ebp - 0x63c]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x63c]
fsub dword [ebp - 0x65c]
fstp dword [ebp - 0x63c]
fld dword [ebp - 0x634]
fadd dword [ebp - 0x604]
fstp dword [ebp - 0x634]
fld dword [ebp - 0x604]
fmul dword [ebp - 0x634]
fstp dword [ebp - 0x604]
fld dword [ebp - 0x65c]
fld dword [ebp - 0x63c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4c8972
fld dword [ebp - 0x634]
fdiv dword [ebp - 0x604]
fstp dword [ebp - 0x634]
fld dword [ebp - 0x634]
fsub dword [ebp - 0x604]
fstp dword [ebp - 0x634]
fld dword [ebp - 0x634]
fmul dword [ebp - 0x604]
fstp dword [ebp - 0x634]
fld dword [ebp - 0x63c]
fmul dword [ebp - 0x65c]
fstp dword [ebp - 0x63c]
jmp 0x4c89ba
fld dword [ebp - 0x65c]
fmul dword [ebp - 0x63c]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x65c]
fsub dword [ebp - 0x63c]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x604]
fmul dword [ebp - 0x634]
fstp dword [ebp - 0x604]
fld dword [ebp - 0x604]
fmul dword [ebp - 0x634]
fstp dword [ebp - 0x604]
jmp 0x4c8a19
fld dword [ebp - 0x634]
fsub dword [ebp - 0x604]
fstp dword [ebp - 0x634]
fld dword [ebp - 0x63c]
fadd dword [ebp - 0x65c]
fstp dword [ebp - 0x63c]
fld dword [ebp - 0x604]
fadd dword [ebp - 0x634]
fstp dword [ebp - 0x604]
fld dword [ebp - 0x63c]
fsub dword [ebp - 0x65c]
fstp dword [ebp - 0x63c]
mov edx, dword [ebp - 0x4c8]
add edx, dword [ebp - 0x608]
movzx eax, byte [edx]
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x624], 0x54
mov ecx, dword [ebp - 0x648]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x4c8]
add eax, dword [ebp - 0x638]
movzx ecx, byte [eax]
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 0x668], 0xbb
mov edx, dword [ebp - 0x66c]
sub edx, dword [ebp - 0x624]
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x67c]
sub eax, dword [ebp - 0x668]
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0x678]
shl ecx, 4
mov dword [ebp - 0x674], ecx
mov edx, dword [ebp - 0x60c]
mov dword [ebp - 0x664], edx
mov eax, dword [ebp - 0x674]
or eax, dword [ebp - 0x664]
mov dword [ebp - 0x640], eax
mov cl, byte [ebp - 0x640]
mov byte [ebp - 0x625], cl
movzx edx, byte [ebp - 0x4bd]
mov al, byte [ebp + edx - 0x5d0]
mov byte [ebp - 0x66d], al
movzx ecx, byte [ebp - 0x5e3]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp - 0x4cd]
add eax, edx
mov byte [ebp - 0x4cd], al
mov cl, byte [ebp - 0x5e3]
add cl, 1
mov byte [ebp - 0x5e3], cl
movzx edx, byte [ebp - 0x4cd]
movzx eax, byte [ebp - 0x4bd]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5d9]
movzx eax, byte [ebp - 0x4cd]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5e3]
movzx eax, byte [ebp - 0x5d9]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5e3]
mov al, byte [ebp - 0x66d]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x66d]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp - 0x5d1]
add eax, edx
mov byte [ebp - 0x5d1], al
movzx ecx, byte [ebp - 0x625]
movzx edx, byte [ebp - 0x4cd]
movzx eax, byte [ebp + edx - 0x5d0]
movzx edx, byte [ebp - 0x5e3]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x5d0]
xor ecx, eax
movzx edx, byte [ebp - 0x5d9]
movzx eax, byte [ebp + edx - 0x5d0]
movzx edx, byte [ebp - 0x4bd]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
movzx edx, byte [ebp - 0x5d1]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x5d0]
movzx edx, byte [ebp + eax - 0x5d0]
xor ecx, edx
mov byte [ebp - 0x5d9], cl
mov al, byte [ebp - 0x625]
mov byte [ebp - 0x4bd], al
mov cl, byte [ebp - 0x5d9]
mov byte [ebp - 0x65d], cl
cmp dword [ebp - 0x648], 0
jle 0x4c8c2e
mov edx, dword [ebp - 0x648]
mov al, byte [ebp - 0x65d]
mov byte [ebp + edx - 0x4ad], al
mov ecx, dword [ebp - 0x648]
add ecx, 1
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x644]
add edx, 1
mov dword [ebp - 0x644], edx
mov eax, dword [ebp - 0x648]
shl eax, 1
mov dword [ebp - 0x608], eax
mov ecx, dword [ebp - 0x4c8]
add ecx, dword [ebp - 0x608]
movzx edx, byte [ecx]
mov dword [ebp - 0x66c], edx
mov dword [ebp - 0x624], 0x54
mov eax, dword [ebp - 0x648]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x4c8]
add edx, dword [ebp - 0x638]
movzx eax, byte [edx]
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x668], 0xbb
mov ecx, dword [ebp - 0x66c]
sub ecx, dword [ebp - 0x624]
mov dword [ebp - 0x678], ecx
mov edx, dword [ebp - 0x67c]
sub edx, dword [ebp - 0x668]
mov dword [ebp - 0x60c], edx
mov eax, dword [ebp - 0x678]
shl eax, 4
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x60c]
mov dword [ebp - 0x664], ecx
mov edx, dword [ebp - 0x674]
or edx, dword [ebp - 0x664]
mov dword [ebp - 0x640], edx
mov al, byte [ebp - 0x640]
mov byte [ebp - 0x625], al
movzx ecx, byte [ebp - 0x4bd]
mov dl, byte [ebp + ecx - 0x5d0]
mov byte [ebp - 0x66d], dl
movzx eax, byte [ebp - 0x5e3]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx edx, byte [ebp - 0x4cd]
add edx, ecx
mov byte [ebp - 0x4cd], dl
mov al, byte [ebp - 0x5e3]
add al, 1
mov byte [ebp - 0x5e3], al
movzx ecx, byte [ebp - 0x4cd]
movzx edx, byte [ebp - 0x4bd]
mov al, byte [ebp + ecx - 0x5d0]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x5d9]
movzx edx, byte [ebp - 0x4cd]
mov al, byte [ebp + ecx - 0x5d0]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x5e3]
movzx edx, byte [ebp - 0x5d9]
mov al, byte [ebp + ecx - 0x5d0]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x5e3]
mov dl, byte [ebp - 0x66d]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x66d]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx edx, byte [ebp - 0x5d1]
add edx, ecx
mov byte [ebp - 0x5d1], dl
movzx eax, byte [ebp - 0x625]
movzx ecx, byte [ebp - 0x4cd]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx ecx, byte [ebp - 0x5e3]
movzx ecx, byte [ebp + ecx - 0x5d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x5d0]
xor eax, edx
movzx ecx, byte [ebp - 0x5d9]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx ecx, byte [ebp - 0x4bd]
movzx ecx, byte [ebp + ecx - 0x5d0]
add edx, ecx
movzx ecx, byte [ebp - 0x5d1]
movzx ecx, byte [ebp + ecx - 0x5d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x5d0]
movzx ecx, byte [ebp + edx - 0x5d0]
xor eax, ecx
mov byte [ebp - 0x5d9], al
mov dl, byte [ebp - 0x625]
mov byte [ebp - 0x4bd], dl
mov al, byte [ebp - 0x5d9]
mov byte [ebp - 0x65d], al
cmp dword [ebp - 0x648], 0
jle 0x4c8e85
mov ecx, dword [ebp - 0x648]
mov dl, byte [ebp - 0x65d]
mov byte [ebp + ecx - 0x4ad], dl
mov eax, dword [ebp - 0x644]
add eax, 1
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x648]
add ecx, 1
mov dword [ebp - 0x684], ecx
jmp 0x4c8eb4
mov edx, dword [ebp - 0x684]
add edx, 1
mov dword [ebp - 0x684], edx
mov eax, dword [ebp - 0x684]
cmp eax, dword [ebp - 0x644]
jge 0x4c9114
mov ecx, dword [ebp - 0x648]
add ecx, 1
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x648]
shl edx, 1
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x4c8]
add eax, dword [ebp - 0x608]
movzx ecx, byte [eax]
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x624], 0x54
mov edx, dword [ebp - 0x648]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x4c8]
add ecx, dword [ebp - 0x638]
movzx edx, byte [ecx]
mov dword [ebp - 0x67c], edx
mov dword [ebp - 0x668], 0xbb
mov eax, dword [ebp - 0x66c]
sub eax, dword [ebp - 0x624]
mov dword [ebp - 0x678], eax
mov ecx, dword [ebp - 0x67c]
sub ecx, dword [ebp - 0x668]
mov dword [ebp - 0x60c], ecx
mov edx, dword [ebp - 0x678]
shl edx, 4
mov dword [ebp - 0x674], edx
mov eax, dword [ebp - 0x60c]
mov dword [ebp - 0x664], eax
mov ecx, dword [ebp - 0x674]
or ecx, dword [ebp - 0x664]
mov dword [ebp - 0x640], ecx
mov dl, byte [ebp - 0x640]
mov byte [ebp - 0x625], dl
movzx eax, byte [ebp - 0x4bd]
mov cl, byte [ebp + eax - 0x5d0]
mov byte [ebp - 0x66d], cl
movzx edx, byte [ebp - 0x5e3]
movzx eax, byte [ebp + edx - 0x5d0]
movzx ecx, byte [ebp - 0x4cd]
add ecx, eax
mov byte [ebp - 0x4cd], cl
mov dl, byte [ebp - 0x5e3]
add dl, 1
mov byte [ebp - 0x5e3], dl
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp - 0x4bd]
mov dl, byte [ebp + eax - 0x5d0]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x5d9]
movzx ecx, byte [ebp - 0x4cd]
mov dl, byte [ebp + eax - 0x5d0]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x5e3]
movzx ecx, byte [ebp - 0x5d9]
mov dl, byte [ebp + eax - 0x5d0]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x5e3]
mov cl, byte [ebp - 0x66d]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x66d]
movzx eax, byte [ebp + edx - 0x5d0]
movzx ecx, byte [ebp - 0x5d1]
add ecx, eax
mov byte [ebp - 0x5d1], cl
movzx edx, byte [ebp - 0x625]
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx eax, byte [ebp - 0x5e3]
movzx eax, byte [ebp + eax - 0x5d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5d0]
xor edx, ecx
movzx eax, byte [ebp - 0x5d9]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx eax, byte [ebp - 0x4bd]
movzx eax, byte [ebp + eax - 0x5d0]
add ecx, eax
movzx eax, byte [ebp - 0x5d1]
movzx eax, byte [ebp + eax - 0x5d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp + ecx - 0x5d0]
xor edx, eax
mov byte [ebp - 0x5d9], dl
mov cl, byte [ebp - 0x625]
mov byte [ebp - 0x4bd], cl
mov dl, byte [ebp - 0x5d9]
mov byte [ebp - 0x65d], dl
cmp dword [ebp - 0x648], 0
jle 0x4c910f
mov eax, dword [ebp - 0x648]
mov cl, byte [ebp - 0x65d]
mov byte [ebp + eax - 0x4ad], cl
jmp 0x4c8ea5
mov edx, dword [ebp - 0x644]
add edx, 1
mov dword [ebp - 0x644], edx
mov eax, dword [ebp - 0x648]
add eax, 1
mov dword [ebp - 0x648], eax
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
mov edx, dword [ebp - 0x648]
shl edx, 1
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x4c8]
add eax, dword [ebp - 0x608]
movzx ecx, byte [eax]
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x624], 0x54
mov edx, dword [ebp - 0x648]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x4c8]
add ecx, dword [ebp - 0x638]
movzx edx, byte [ecx]
mov dword [ebp - 0x67c], edx
mov dword [ebp - 0x668], 0xbb
mov eax, dword [ebp - 0x66c]
sub eax, dword [ebp - 0x624]
mov dword [ebp - 0x678], eax
mov ecx, dword [ebp - 0x67c]
sub ecx, dword [ebp - 0x668]
mov dword [ebp - 0x60c], ecx
mov edx, dword [ebp - 0x678]
shl edx, 4
mov dword [ebp - 0x674], edx
fld qword [0x9d4688]
fstp qword [ebp - 0x620]
fld qword [0x9d4680]
fstp qword [ebp - 0x600]
fld qword [0x9d4678]
fstp qword [ebp - 0x658]
fld qword [0x9d4670]
fstp qword [ebp - 0x630]
fld qword [0x9d4668]
fstp qword [ebp - 0x618]
fld qword [0x9d4660]
fstp qword [ebp - 0x5f8]
fld qword [0x9d4658]
fstp qword [ebp - 0x650]
fld qword [ebp - 0x630]
fadd qword [ebp - 0x650]
fstp qword [ebp - 0x630]
fld qword [ebp - 0x630]
fsub qword [ebp - 0x650]
fstp qword [ebp - 0x630]
fld qword [ebp - 0x658]
fmul qword [ebp - 0x650]
fstp qword [ebp - 0x658]
fld qword [ebp - 0x5f8]
fadd qword [ebp - 0x650]
fstp qword [ebp - 0x5f8]
fld qword [ebp - 0x600]
fadd qword [ebp - 0x650]
fstp qword [ebp - 0x600]
fld qword [ebp - 0x658]
fmul qword [ebp - 0x650]
fstp qword [ebp - 0x658]
fld qword [ebp - 0x618]
fmul qword [ebp - 0x650]
fstp qword [ebp - 0x618]
fld qword [ebp - 0x650]
fcomp qword [ebp - 0x658]
fnstsw ax
test ah, 5
jp 0x4c9348
fld qword [ebp - 0x658]
fadd qword [ebp - 0x618]
fstp qword [ebp - 0x658]
fld qword [ebp - 0x5f8]
fadd qword [ebp - 0x620]
fstp qword [ebp - 0x5f8]
fld qword [ebp - 0x618]
fsub qword [ebp - 0x650]
fstp qword [ebp - 0x618]
fld qword [ebp - 0x618]
fadd qword [ebp - 0x650]
fstp qword [ebp - 0x618]
fld qword [ebp - 0x600]
fadd qword [ebp - 0x630]
fstp qword [ebp - 0x600]
fld qword [ebp - 0x600]
fmul qword [ebp - 0x630]
fstp qword [ebp - 0x600]
fld qword [ebp - 0x650]
fsub qword [ebp - 0x600]
fstp qword [ebp - 0x650]
mov eax, dword [ebp - 0x60c]
mov dword [ebp - 0x664], eax
jmp 0x4c9559
fld qword [ebp - 0x620]
fadd qword [ebp - 0x600]
fstp qword [ebp - 0x620]
fld qword [ebp - 0x630]
fmul qword [ebp - 0x618]
fstp qword [ebp - 0x630]
fld qword [ebp - 0x620]
fsub qword [ebp - 0x600]
fstp qword [ebp - 0x620]
fld qword [ebp - 0x618]
fsub qword [ebp - 0x5f8]
fstp qword [ebp - 0x618]
fld qword [ebp - 0x620]
fdiv qword [ebp - 0x600]
fstp qword [ebp - 0x620]
fld qword [ebp - 0x618]
fadd qword [ebp - 0x5f8]
fstp qword [ebp - 0x618]
fld qword [ebp - 0x620]
fadd qword [ebp - 0x600]
fstp qword [ebp - 0x620]
fld qword [ebp - 0x5f8]
fsub qword [ebp - 0x650]
fstp qword [ebp - 0x5f8]
fld qword [ebp - 0x630]
fmul qword [ebp - 0x618]
fstp qword [ebp - 0x630]
fld qword [ebp - 0x630]
fdiv qword [ebp - 0x618]
fstp qword [ebp - 0x630]
fld qword [ebp - 0x620]
fsub qword [ebp - 0x600]
fstp qword [ebp - 0x620]
fld qword [ebp - 0x618]
fadd qword [ebp - 0x5f8]
fstp qword [ebp - 0x618]
fld qword [ebp - 0x658]
fdiv qword [ebp - 0x630]
fstp qword [ebp - 0x658]
fld qword [ebp - 0x600]
fadd qword [ebp - 0x658]
fstp qword [ebp - 0x600]
fld qword [ebp - 0x630]
fcomp qword [ebp - 0x600]
fnstsw ax
test ah, 0x41
jne 0x4c94db
fld qword [ebp - 0x5f8]
fdiv qword [ebp - 0x620]
fstp qword [ebp - 0x5f8]
fld qword [ebp - 0x5f8]
fsub qword [ebp - 0x620]
fstp qword [ebp - 0x5f8]
fld qword [ebp - 0x620]
fsub qword [ebp - 0x658]
fstp qword [ebp - 0x620]
fld qword [ebp - 0x658]
fadd qword [ebp - 0x618]
fstp qword [ebp - 0x658]
fld qword [ebp - 0x5f8]
fadd qword [ebp - 0x620]
fstp qword [ebp - 0x5f8]
fld qword [ebp - 0x620]
fadd qword [ebp - 0x658]
fstp qword [ebp - 0x620]
fld qword [ebp - 0x5f8]
fmul qword [ebp - 0x620]
fstp qword [ebp - 0x5f8]
jmp 0x4c9559
fld qword [ebp - 0x630]
fadd qword [ebp - 0x5f8]
fstp qword [ebp - 0x630]
fld qword [ebp - 0x600]
fadd qword [ebp - 0x630]
fstp qword [ebp - 0x600]
fld qword [ebp - 0x658]
fmul qword [ebp - 0x618]
fstp qword [ebp - 0x658]
fld qword [ebp - 0x600]
fmul qword [ebp - 0x630]
fstp qword [ebp - 0x600]
fld qword [ebp - 0x650]
fsub qword [ebp - 0x600]
fstp qword [ebp - 0x650]
fld qword [ebp - 0x600]
fsub qword [ebp - 0x630]
fstp qword [ebp - 0x600]
fld qword [ebp - 0x620]
fdiv qword [ebp - 0x658]
fstp qword [ebp - 0x620]
mov ecx, dword [ebp - 0x674]
or ecx, dword [ebp - 0x664]
mov dword [ebp - 0x640], ecx
mov dl, byte [ebp - 0x640]
mov byte [ebp - 0x625], dl
movzx eax, byte [ebp - 0x4bd]
mov cl, byte [ebp + eax - 0x5d0]
mov byte [ebp - 0x66d], cl
movzx edx, byte [ebp - 0x5e3]
movzx eax, byte [ebp + edx - 0x5d0]
movzx ecx, byte [ebp - 0x4cd]
add ecx, eax
mov byte [ebp - 0x4cd], cl
mov dl, byte [ebp - 0x5e3]
add dl, 1
mov byte [ebp - 0x5e3], dl
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp - 0x4bd]
mov dl, byte [ebp + eax - 0x5d0]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x5d9]
movzx ecx, byte [ebp - 0x4cd]
mov dl, byte [ebp + eax - 0x5d0]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x5e3]
movzx ecx, byte [ebp - 0x5d9]
mov dl, byte [ebp + eax - 0x5d0]
mov byte [ebp + ecx - 0x5d0], dl
movzx eax, byte [ebp - 0x5e3]
mov cl, byte [ebp - 0x66d]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x66d]
movzx eax, byte [ebp + edx - 0x5d0]
movzx ecx, byte [ebp - 0x5d1]
add ecx, eax
mov byte [ebp - 0x5d1], cl
movzx edx, byte [ebp - 0x625]
movzx eax, byte [ebp - 0x4cd]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx eax, byte [ebp - 0x5e3]
movzx eax, byte [ebp + eax - 0x5d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5d0]
xor edx, ecx
movzx eax, byte [ebp - 0x5d9]
movzx ecx, byte [ebp + eax - 0x5d0]
movzx eax, byte [ebp - 0x4bd]
movzx eax, byte [ebp + eax - 0x5d0]
add ecx, eax
movzx eax, byte [ebp - 0x5d1]
movzx eax, byte [ebp + eax - 0x5d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp + ecx - 0x5d0]
xor edx, eax
mov byte [ebp - 0x5d9], dl
mov cl, byte [ebp - 0x625]
mov byte [ebp - 0x4bd], cl
mov dl, byte [ebp - 0x5d9]
mov byte [ebp - 0x65d], dl
cmp dword [ebp - 0x648], 0
jle 0x4c96f8
mov eax, dword [ebp - 0x648]
mov cl, byte [ebp - 0x65d]
mov byte [ebp + eax - 0x4ad], cl
mov edx, dword [ebp - 0x648]
add edx, 1
mov dword [ebp - 0x648], edx
mov eax, dword [ebp - 0x644]
add eax, 1
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x648]
shl ecx, 1
mov dword [ebp - 0x608], ecx
mov edx, dword [ebp - 0x4c8]
add edx, dword [ebp - 0x608]
movzx eax, byte [edx]
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x624], 0x54
mov ecx, dword [ebp - 0x648]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x4c8]
add eax, dword [ebp - 0x638]
movzx ecx, byte [eax]
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 0x668], 0xbb
mov edx, dword [ebp - 0x66c]
sub edx, dword [ebp - 0x624]
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x67c]
sub eax, dword [ebp - 0x668]
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0x678]
shl ecx, 4
mov dword [ebp - 0x674], ecx
mov edx, dword [ebp - 0x60c]
mov dword [ebp - 0x664], edx
mov eax, dword [ebp - 0x674]
or eax, dword [ebp - 0x664]
mov dword [ebp - 0x640], eax
mov cl, byte [ebp - 0x640]
mov byte [ebp - 0x625], cl
movzx edx, byte [ebp - 0x4bd]
mov al, byte [ebp + edx - 0x5d0]
mov byte [ebp - 0x66d], al
movzx ecx, byte [ebp - 0x5e3]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp - 0x4cd]
add eax, edx
mov byte [ebp - 0x4cd], al
mov cl, byte [ebp - 0x5e3]
add cl, 1
mov byte [ebp - 0x5e3], cl
movzx edx, byte [ebp - 0x4cd]
movzx eax, byte [ebp - 0x4bd]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5d9]
movzx eax, byte [ebp - 0x4cd]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5e3]
movzx eax, byte [ebp - 0x5d9]
mov cl, byte [ebp + edx - 0x5d0]
mov byte [ebp + eax - 0x5d0], cl
movzx edx, byte [ebp - 0x5e3]
mov al, byte [ebp - 0x66d]
mov byte [ebp + edx - 0x5d0], al
movzx ecx, byte [ebp - 0x66d]
movzx edx, byte [ebp + ecx - 0x5d0]
movzx eax, byte [ebp - 0x5d1]
add eax, edx
mov byte [ebp - 0x5d1], al
movzx ecx, byte [ebp - 0x625]
movzx edx, byte [ebp - 0x4cd]
movzx eax, byte [ebp + edx - 0x5d0]
movzx edx, byte [ebp - 0x5e3]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x5d0]
xor ecx, eax
movzx edx, byte [ebp - 0x5d9]
movzx eax, byte [ebp + edx - 0x5d0]
movzx edx, byte [ebp - 0x4bd]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
movzx edx, byte [ebp - 0x5d1]
movzx edx, byte [ebp + edx - 0x5d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x5d0]
movzx edx, byte [ebp + eax - 0x5d0]
xor ecx, edx
mov byte [ebp - 0x5d9], cl
mov al, byte [ebp - 0x625]
mov byte [ebp - 0x4bd], al
mov cl, byte [ebp - 0x5d9]
mov byte [ebp - 0x65d], cl
cmp dword [ebp - 0x648], 0
jle 0x4c994e
mov edx, dword [ebp - 0x648]
mov al, byte [ebp - 0x65d]
mov byte [ebp + edx - 0x4ad], al
mov byte [ebp - 0x4a4], 0
jmp 0x4c998b
mov dword [ebp - 0x688], 0
jmp 0x4c9972
mov ecx, dword [ebp - 0x688]
add ecx, 1
mov dword [ebp - 0x688], ecx
cmp dword [ebp - 0x688], 9
jge 0x4c998b
mov edx, dword [ebp - 0x688]
mov byte [ebp + edx - 0x4ac], 0
jmp 0x4c9963
lea eax, [ebp - 0x4ac]
push eax
mov ecx, dword [0xa08a1c]
call fcn.00451a00
mov dword [ebp - 0x494], eax
push 0
lea ecx, [ebp - 0x4bc]
push ecx
mov edx, dword [ebp - 0x4a0]
push edx
mov eax, dword [ebp - 0x49c]
push eax
mov ecx, dword [ebp - 0x224]
push ecx
call dword [ebp - 0x494]
test eax, eax
je 0x4c9ae3
mov dword [ebp - 0x68c], 0xffffffff
mov byte [ebp - 0x68e], 0
mov byte [ebp - 0x68d], 0
cmp dword [ebp - 0x4bc], 0x100
jbe 0x4c9abd
mov edx, dword [ebp - 0x49c]
movzx eax, byte [edx]
cmp eax, 0x4d
jne 0x4c9a25
mov ecx, dword [ebp - 0x49c]
movzx edx, byte [ecx + 1]
cmp edx, 0x5a
jne 0x4c9a25
mov byte [ebp - 0x68d], 1
mov dword [ebp - 0x68c], 0
mov eax, dword [ebp - 0x49c]
movzx ecx, byte [eax]
cmp ecx, 0xd0
jne 0x4c9a79
mov edx, dword [ebp - 0x49c]
movzx eax, byte [edx + 1]
cmp eax, 0xcf
jne 0x4c9a79
mov ecx, dword [ebp - 0x49c]
movzx edx, byte [ecx + 2]
cmp edx, 0x11
jne 0x4c9a79
mov eax, dword [ebp - 0x49c]
movzx ecx, byte [eax + 3]
cmp ecx, 0xe0
jne 0x4c9a79
mov byte [ebp - 0x68d], 1
mov dword [ebp - 0x68c], 1
mov dword [ebp - 0x694], 0
cmp dword [ebp - 0x68c], 0
jne 0x4c9abd
mov edx, dword [ebp - 0x4bc]
push edx
mov eax, dword [ebp - 0x49c]
push eax
call fcn.004c56c0
add esp, 8
mov dword [ebp - 0x694], eax
xor ecx, ecx
cmp dword [ebp - 0x694], 0x1000
sete cl
mov byte [ebp - 0x68e], cl
movzx edx, byte [ebp - 0x68d]
test edx, edx
je 0x4c9ae3
movzx eax, byte [ebp - 0x68e]
test eax, eax
je 0x4c9ae3
cmp dword [ebp - 0x68c], 0
jne 0x4c9ae3
mov byte [ebp - 0x209], 1
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x49c]
mov dword [ebp - 0x6a0], edx
cmp dword [ebp - 0x6a4], 0
je 0x4c9b2d
mov eax, dword [ebp - 0x6a0]
mov byte [eax], 0
mov ecx, dword [ebp - 0x6a0]
add ecx, 1
mov dword [ebp - 0x6a0], ecx
mov edx, dword [ebp - 0x6a4]
sub edx, 1
mov dword [ebp - 0x6a4], edx
jmp 0x4c9afb
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x69c], eax
mov ecx, dword [ebp - 0x69c]
push ecx
call fcn.00966891
add esp, 4
mov edx, dword [ebp - 0x224]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4c9b67
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4c583e
mov al, byte [ebp - 0x209]
pop edi
pop esi
mov esp, ebp
pop ebp
ret