Function at 0x4dd15b
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, dword [0xa59064]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov byte [ebp - 0x27e], 0
push 0x208
push 0
lea eax, [ebp - 0x224]
push eax
call fcn.009dd200
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3cc], eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp - 0x3cc]
mov ax, word [eax]
mov word [ebp - 0x37e], ax
mov eax, dword [ebp - 0x394]
mov cx, word [ebp - 0x37e]
mov word [eax], cx
mov eax, dword [ebp - 0x3cc]
inc eax
inc eax
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x394]
inc eax
inc eax
mov dword [ebp - 0x394], eax
cmp word [ebp - 0x37e], 0
jne 0x4dd1af
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0x364]
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x364]
mov ax, word [eax]
mov word [ebp - 0x3c6], ax
add dword [ebp - 0x364], 2
cmp word [ebp - 0x3c6], 0
jne 0x4dd20d
mov eax, dword [ebp - 0x364]
sub eax, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x418], ecx
mov dword [ebp - 0x444], eax
lea eax, [ebp - 0x224]
dec eax
dec eax
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x3a4]
mov ax, word [eax + 2]
mov word [ebp - 0x3c8], ax
add dword [ebp - 0x3a4], 2
cmp word [ebp - 0x3c8], 0
jne 0x4dd25a
mov edi, dword [ebp - 0x3a4]
mov esi, dword [ebp - 0x418]
mov eax, dword [ebp - 0x444]
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]
and dword [ebp - 0x3c4], 0
jmp 0x4dd2b2
mov eax, dword [ebp - 0x3c4]
inc eax
mov dword [ebp - 0x3c4], eax
cmp dword [ebp - 0x3c4], 0x3c
jge 0x4e07d7
and dword [ebp - 0x230], 0
and dword [ebp - 0x22c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x390], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x36c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x36c], xmm0
jmp 0x4dd308
movsd xmm0, qword [ebp - 0x36c]
addsd xmm0, qword [0xa1ef38]
movsd qword [ebp - 0x36c], xmm0
movsd xmm0, qword [0xa21220]
comisd xmm0, xmmword [ebp - 0x36c]
jbe 0x4dd3b9
movsd xmm0, qword [0xa211f0]
mulsd xmm0, qword [ebp - 0x36c]
mulsd xmm0, qword [ebp - 0x36c]
movsd xmm1, qword [ebp - 0x36c]
mulsd xmm1, qword [ebp - 0x36c]
subsd xmm0, xmm1
movsd xmm1, qword [0xa21140]
mulsd xmm1, qword [ebp - 0x36c]
mulsd xmm1, qword [ebp - 0x36c]
addsd xmm1, qword [0xa21170]
addps xmm1, xmmword [0xa21170]
add dl, dh
divps xmm0, xmm1
divsd xmm0, xmm1
pop esi
sal edx, 0xf
pop eax
test dword [eax - 4], esi
invalid
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x390]
comisd xmm0, xmmword [0xa211c8]
jbe 0x4dd3b4
movsd xmm0, qword [0xa21130]
mulsd xmm0, qword [ebp - 0x36c]
movsd xmm1, qword [ebp - 0x390]
subsd xmm1, xmm0
movsd qword [ebp - 0x390], xmm1
jmp 0x4dd2f0
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x390]
jbe 0x4dd3f6
xchg ebx, eax
jbe 0x4dd363
je 0x4dd369
imul ebx, dword [ebx - 0x67956e8f], 0x99689e6b
jo 0x4dd36d
jae 0x4dd36c
push 0x749f6992
push 0x70
push edi
and dword [esi + ebp + 0x7d], esi
jae 0x4dd41d
daa
jne 0x4dd438
pop ecx
inc edx
push esp
pop ebp
jmp 0x4dee3a
mov dword [ebp - 0x230], 0x4dd3c6
mov dword [ebp - 0x22c], 0x4dd3de
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x420], eax
mov byte [ebp - 0x2cd], 0x17
and dword [ebp - 0x258], 0
jmp 0x4dd43f
test eax, esp
sti
invalid
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0x100
jae 0x4dd460
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x258]
mov byte [ebp + eax - 0x548], cl
jmp 0x4dd432
and dword [ebp - 0x358], 0
mov byte [ebp - 0x247], 0
mov dword [ebp - 0x258], 0xff
jmp 0x4dd487
mov eax, dword [ebp - 0x258]
dec eax
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
jbe 0x4dd70c
and dword [ebp - 0x3d0], 0
mov dword [ebp - 0x3b8], 1
mov eax, dword [ebp - 0x3b8]
cmp eax, dword [ebp - 0x258]
jae 0x4dd4c5
mov eax, dword [ebp - 0x3b8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b8], eax
jmp 0x4dd4a5
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
je 0x4dd50a
sub dword [ebp - 0x2c8], 1
je 0x4dd538
sub dword [ebp - 0x2c8], 1
je 0x4dd569
sub dword [ebp - 0x2c8], 1
je 0x4dd597
jmp 0x4dd5c5
movzx eax, byte [ebp - 0x247]
movzx ebx, byte [ebp + eax - 0x548]
movsd xmm0, qword [ebp - 0x390]
call fcn.00986231
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x247], bl
jmp 0x4dd5ec
movzx eax, byte [ebp - 0x247]
movzx ebx, byte [ebp + eax - 0x548]
movsd xmm0, qword [ebp - 0x390]
call fcn.00986231
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x247], bl
jmp 0x4dd5ec
movzx eax, byte [ebp - 0x247]
movzx ebx, byte [ebp + eax - 0x548]
movsd xmm0, qword [ebp - 0x390]
call fcn.00986231
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x247], bl
jmp 0x4dd5ec
movzx eax, byte [ebp - 0x247]
movzx ebx, byte [ebp + eax - 0x548]
movsd xmm0, qword [ebp - 0x390]
call fcn.00986231
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x247], bl
jmp 0x4dd5ec
movzx eax, byte [ebp - 0x247]
movzx eax, byte [ebp + eax - 0x548]
mov ecx, dword [ebp - 0x420]
add ecx, dword [ebp - 0x358]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x247], al
mov eax, dword [ebp - 0x358]
inc eax
mov dword [ebp - 0x358], eax
movzx eax, byte [ebp - 0x2cd]
cmp dword [ebp - 0x358], eax
jb 0x4dd625
and dword [ebp - 0x358], 0
movzx eax, byte [ebp - 0x2cd]
movzx ecx, byte [ebp - 0x247]
add ecx, eax
mov byte [ebp - 0x247], cl
movzx eax, byte [ebp - 0x247]
and eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
cmp dword [ebp - 0x3d0], 0xb
jbe 0x4dd662
mov eax, dword [ebp - 0x344]
xor edx, edx
div dword [ebp - 0x258]
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x344]
cmp eax, dword [ebp - 0x258]
ja 0x4dd4c5
mov eax, dword [ebp - 0x258]
cmp eax, dword [ebp - 0x344]
je 0x4dd707
mov eax, dword [ebp - 0x344]
movzx eax, byte [ebp + eax - 0x548]
mov ecx, dword [ebp - 0x258]
movzx ecx, byte [ebp + ecx - 0x548]
xor ecx, eax
mov eax, dword [ebp - 0x258]
mov byte [ebp + eax - 0x548], cl
mov eax, dword [ebp - 0x258]
movzx eax, byte [ebp + eax - 0x548]
mov ecx, dword [ebp - 0x344]
movzx ecx, byte [ebp + ecx - 0x548]
xor ecx, eax
mov eax, dword [ebp - 0x344]
mov byte [ebp + eax - 0x548], cl
mov eax, dword [ebp - 0x344]
movzx eax, byte [ebp + eax - 0x548]
mov ecx, dword [ebp - 0x258]
movzx ecx, byte [ebp + ecx - 0x548]
xor ecx, eax
mov eax, dword [ebp - 0x258]
mov byte [ebp + eax - 0x548], cl
jmp 0x4dd47a
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x239], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x23b], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x242], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x23c], al
movzx eax, byte [ebp - 0x247]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x23f], al
mov dword [ebp - 0x40c], 0x18
cmp dword [ebp - 0x40c], 2
jle 0x4dedf2
mov eax, dword [ebp - 0x40c]
and eax, 1
jne 0x4dedf2
and dword [ebp - 0x250], 0
and dword [ebp - 0x26c], 0
mov eax, dword [ebp - 0x26c]
inc eax
mov dword [ebp - 0x26c], eax
and dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x318], eax
and dword [ebp - 0x2e4], 0
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x318]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e4], eax
and dword [ebp - 0x2e8], 0
mov eax, dword [ebp - 0x2e8]
add eax, 0x91
mov dword [ebp - 0x2e8], eax
and dword [ebp - 0x320], 0
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x320], eax
and dword [ebp - 0x2ec], 0
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x320]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ec], eax
and dword [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x2f0]
add eax, 0x68
mov dword [ebp - 0x2f0], eax
and dword [ebp - 0x2f4], 0
mov eax, dword [ebp - 0x2e4]
sub eax, dword [ebp - 0x2e8]
add eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2f4], eax
and dword [ebp - 0x2f8], 0
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2f0]
add eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2f8], eax
and dword [ebp - 0x30c], 0
mov eax, dword [ebp - 0x2f4]
shl eax, 4
mov dword [ebp - 0x30c], eax
and dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x314], eax
and dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x30c]
or eax, dword [ebp - 0x314]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 0x243], 0
mov al, byte [ebp - 0x32c]
mov byte [ebp - 0x243], al
mov byte [ebp - 0x241], 0
movzx eax, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x23b]
add ecx, eax
mov byte [ebp - 0x23b], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23c]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23f]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x23c]
mov byte [ebp - 0x249], al
cmp dword [ebp - 0x250], 0
jle 0x4dda62
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x26c]
inc eax
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x318]
movzx eax, byte [eax]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e8], 0x91
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x320]
movzx eax, byte [eax]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2f0], 0x68
mov eax, dword [ebp - 0x2e4]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f4]
shl eax, 4
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x30c]
or eax, dword [ebp - 0x314]
mov dword [ebp - 0x32c], eax
movsd xmm0, qword [0xa213d8]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [0xa21390]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [0xa21318]
movsd qword [ebp - 0x274], xmm0
movsd xmm0, qword [0xa21278]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [ebp - 0x2a0]
addsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x274]
addsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x274], xmm0
movsd xmm0, qword [ebp - 0x340]
mulsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x340]
addsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x340]
comisd xmm0, xmmword [ebp - 0x27c]
jbe 0x4ddc4c
movsd xmm0, qword [ebp - 0x274]
addsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x274], xmm0
movsd xmm0, qword [ebp - 0x27c]
addsd xmm0, qword [ebp - 0x2a0]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [ebp - 0x340]
subsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x274]
subsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x274], xmm0
mov al, byte [ebp - 0x32c]
mov byte [ebp - 0x243], al
jmp 0x4ddf17
movsd xmm0, qword [ebp - 0x2a0]
addsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x27c]
mulsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [ebp - 0x2a0]
subsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x340]
divsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x274]
mulsd xmm0, qword [ebp - 0x2a0]
movsd qword [ebp - 0x274], xmm0
movsd xmm0, qword [ebp - 0x2a0]
subsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x2a0]
addsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x2a0]
addsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x2a0]
comisd xmm0, xmmword [ebp - 0x274]
jbe 0x4ddd83
movsd xmm0, qword [ebp - 0x274]
mulsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x274], xmm0
movsd xmm0, qword [ebp - 0x340]
divsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x274]
addsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x274], xmm0
movsd xmm0, qword [ebp - 0x340]
subsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x340], xmm0
jmp 0x4ddf17
movsd xmm0, qword [ebp - 0x27c]
divsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [ebp - 0x2a0]
divsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x2a0]
divsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x2a0]
divsd xmm0, qword [ebp - 0x274]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x27c]
divsd xmm0, qword [ebp - 0x2a0]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [ebp - 0x27c]
divsd xmm0, qword [ebp - 0x2a0]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [ebp - 0x274]
subsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x274], xmm0
movsd xmm0, qword [ebp - 0x27c]
subsd xmm0, qword [ebp - 0x2a0]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [ebp - 0x2a0]
comisd xmm0, xmmword [ebp - 0x274]
jbe 0x4ddeb7
movsd xmm0, qword [ebp - 0x274]
mulsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x274], xmm0
movsd xmm0, qword [ebp - 0x2a0]
subsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x2a0], xmm0
movsd xmm0, qword [ebp - 0x27c]
divsd xmm0, qword [ebp - 0x2a0]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [ebp - 0x274]
mulsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x274], xmm0
jmp 0x4ddf17
movsd xmm0, qword [ebp - 0x27c]
divsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [ebp - 0x340]
subsd xmm0, qword [ebp - 0x27c]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x274]
divsd xmm0, qword [ebp - 0x2a0]
movsd qword [ebp - 0x274], xmm0
movsd xmm0, qword [ebp - 0x27c]
mulsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x27c], xmm0
movzx eax, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x23b]
add ecx, eax
mov byte [ebp - 0x23b], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23c]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23f]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x23c]
mov byte [ebp - 0x249], al
cmp dword [ebp - 0x250], 0
jle 0x4de094
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x26c]
add eax, 4
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x3d4], eax
jmp 0x4de0bf
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d4]
cmp eax, dword [ebp - 0x26c]
jge 0x4de319
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x318]
movzx eax, byte [eax]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e8], 0x91
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x320]
movzx eax, byte [eax]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2f0], 0x68
mov eax, dword [ebp - 0x2e4]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f4]
shl eax, 4
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x30c]
or eax, dword [ebp - 0x314]
mov dword [ebp - 0x32c], eax
mov al, byte [ebp - 0x32c]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x23b]
add ecx, eax
mov byte [ebp - 0x23b], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23c]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23f]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x23c]
mov byte [ebp - 0x249], al
cmp dword [ebp - 0x250], 0
jle 0x4de314
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x1d], cl
jmp 0x4de0b2
mov eax, dword [ebp - 0x26c]
inc eax
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x26c]
inc eax
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x318]
movzx eax, byte [eax]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e8], 0x91
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x320]
movzx eax, byte [eax]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2f0], 0x68
mov eax, dword [ebp - 0x2e4]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f4]
shl eax, 4
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x314], eax
movsd xmm0, qword [0xa21350]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [0xa21310]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [0xa212d0]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [0xa212b0]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [0xa21250]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [0xa21208]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x2b0]
addsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [ebp - 0x2c4]
addsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x2b8]
mulsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x2c4]
addsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x2b8]
addsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x2e0]
subsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x2b8]
comisd xmm0, xmmword [ebp - 0x264]
jbe 0x4de588
movsd xmm0, qword [ebp - 0x290]
subsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x264]
mulsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x2b8]
addsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x2c4]
mulsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x290]
subsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x290]
subsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x290], xmm0
mov eax, dword [ebp - 0x30c]
or eax, dword [ebp - 0x314]
mov dword [ebp - 0x32c], eax
jmp 0x4de9ae
movsd xmm0, qword [ebp - 0x290]
addsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x2e0]
addsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x264]
subsd xmm0, qword [ebp - 0x2b8]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x2b0]
addsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [ebp - 0x290]
addsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x2e0]
mulsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x2c4]
mulsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x2b0]
subsd xmm0, qword [ebp - 0x2b8]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [ebp - 0x264]
addsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x290]
addsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x2b0]
addsd xmm0, qword [ebp - 0x2b8]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [ebp - 0x2e0]
addsd xmm0, qword [ebp - 0x290]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x264]
comisd xmm0, xmmword [ebp - 0x2b8]
jbe 0x4de91e
movsd xmm0, qword [ebp - 0x2b8]
divsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x290]
subsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x2b0]
mulsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [ebp - 0x264]
mulsd xmm0, qword [ebp - 0x2b8]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x2b0]
subsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [ebp - 0x264]
divsd xmm0, qword [ebp - 0x2b8]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x264]
divsd xmm0, qword [ebp - 0x2b8]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x264]
divsd xmm0, qword [ebp - 0x2b8]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x2b0]
divsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [ebp - 0x2c4]
subsd xmm0, qword [ebp - 0x290]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x2b0]
addsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [ebp - 0x2b0]
divsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2b0], xmm0
movsd xmm0, qword [ebp - 0x264]
comisd xmm0, xmmword [ebp - 0x2b8]
jbe 0x4de889
movsd xmm0, qword [ebp - 0x2b8]
divsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x2c4]
divsd xmm0, qword [ebp - 0x290]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x2b8]
mulsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x2e0]
subsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x2e0]
mulsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x2c4]
subsd xmm0, qword [ebp - 0x290]
movsd qword [ebp - 0x2c4], xmm0
jmp 0x4de919
movsd xmm0, qword [ebp - 0x2c4]
mulsd xmm0, qword [ebp - 0x290]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x2e0]
divsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x290]
addsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x290]
divsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x2b8]
subsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x290]
mulsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x290], xmm0
jmp 0x4de9ae
movsd xmm0, qword [ebp - 0x290]
addsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x264]
mulsd xmm0, qword [ebp - 0x2b8]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x2e0]
subsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x2b8]
subsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x290]
mulsd xmm0, qword [ebp - 0x2b0]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x2c4]
addsd xmm0, qword [ebp - 0x290]
movsd qword [ebp - 0x2c4], xmm0
mov al, byte [ebp - 0x32c]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x23b]
add ecx, eax
mov byte [ebp - 0x23b], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23c]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23f]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x23c]
mov byte [ebp - 0x249], al
cmp dword [ebp - 0x250], 0
jle 0x4deb37
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x26c]
add eax, 5
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x3d8], eax
jmp 0x4deb62
mov eax, dword [ebp - 0x3d8]
inc eax
mov dword [ebp - 0x3d8], eax
mov eax, dword [ebp - 0x3d8]
cmp eax, dword [ebp - 0x26c]
jge 0x4dedbc
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x318]
movzx eax, byte [eax]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e8], 0x91
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x320]
movzx eax, byte [eax]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2f0], 0x68
mov eax, dword [ebp - 0x2e4]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f4]
shl eax, 4
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x30c]
or eax, dword [ebp - 0x314]
mov dword [ebp - 0x32c], eax
mov al, byte [ebp - 0x32c]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x23b]
add ecx, eax
mov byte [ebp - 0x23b], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23c]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23f]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x23c]
mov byte [ebp - 0x249], al
cmp dword [ebp - 0x250], 0
jle 0x4dedb7
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x1d], cl
jmp 0x4deb55
mov eax, dword [ebp - 0x26c]
inc eax
mov dword [ebp - 0x26c], eax
xor eax, eax
inc eax
imul eax, eax, 0xb
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0xc
jae 0x4dede0
jmp 0x4dede5
call fcn.00985b99
mov eax, dword [ebp - 0x408]
mov byte [ebp + eax - 0x1c], 0
jmp 0x4dee3a
and dword [ebp - 0x39c], 0
jmp 0x4dee08
mov eax, dword [ebp - 0x39c]
inc eax
mov dword [ebp - 0x39c], eax
cmp dword [ebp - 0x39c], 0xc
jge 0x4dee3a
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 0xc
jae 0x4dee28
jmp 0x4dee2d
call fcn.00985b99
mov eax, dword [ebp - 0x404]
mov byte [ebp + eax - 0x1c], 0
jmp 0x4dedfb
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.004568d0
mov dword [ebp - 0x440], eax
push 0
push 0x80
push 3
push 0
push 1
push 0xa0000000
lea eax, [ebp - 0x224]
push eax
call dword [ebp - 0x440]
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 0xffffffff
je 0x4e07af
push 0
push dword [ebp - 0x3a8]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x3e8], eax
and dword [ebp - 0x228], 0
push dword [ebp - 0x3e8]
call fcn.009859cc
pop ecx
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x2bc], eax
and dword [ebp - 0x234], 0
and dword [ebp - 0x238], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x388], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x374], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x374], xmm0
jmp 0x4def03
movsd xmm0, qword [ebp - 0x374]
addsd xmm0, qword [0xa1f128]
movsd qword [ebp - 0x374], xmm0
movsd xmm0, qword [0xa21280]
comisd xmm0, xmmword [ebp - 0x374]
jbe 0x4defb4
movsd xmm0, qword [0xa211e0]
mulsd xmm0, qword [ebp - 0x374]
mulsd xmm0, qword [ebp - 0x374]
movsd xmm1, qword [ebp - 0x374]
mulsd xmm1, qword [ebp - 0x374]
subsd xmm0, xmm1
movsd xmm1, qword [0xa21150]
mulsd xmm1, qword [ebp - 0x374]
mulsd xmm1, qword [ebp - 0x374]
addsd xmm1, qword [0xa21160]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x388]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x388]
comisd xmm0, xmmword [0xa211b8]
jbe 0x4defaf
movsd xmm0, qword [0xa21108]
mulsd xmm0, qword [ebp - 0x374]
movsd xmm1, qword [ebp - 0x388]
subsd xmm1, xmm0
movsd qword [ebp - 0x388], xmm1
jmp 0x4deeeb
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x388]
jbe 0x4defeb
mov eax, 0xbe1abc1e
sbb byte [ecx - 0x45ea3dde], bh
sbb eax, 0x15bc22bf
mov esp, 0x3967371d
jbe 0x4df038
dec edi
cmp dword [ecx + 0x6d], edi
pop ebx
inc edi
pop esp
sub al, 0x4a
jl 0x4df05e
insb byte es:[edi], dx
jmp 0x4e05b2
mov dword [ebp - 0x234], 0x4defc1
mov dword [ebp - 0x238], 0x4defd3
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x424], eax
mov byte [ebp - 0x2ce], 0x17
and dword [ebp - 0x25c], 0
jmp 0x4df034
mov eax, dword [ebp - 0x25c]
inc eax
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0x100
jae 0x4df055
invalid
mov eax, dword [ebp - 0x25c]
mov cl, byte [ebp - 0x25c]
mov byte [ebp + eax - 0x648], cl
jmp 0x4df027
and dword [ebp - 0x354], 0
mov byte [ebp - 0x248], 0
mov eax, 0xfffffd
mov dword [ebp - 0x25c], 0xff
jmp 0x4df07c
mov eax, dword [ebp - 0x25c]
dec eax
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0
jbe 0x4df301
and dword [ebp - 0x3dc], 0
mov dword [ebp - 0x398], 1
mov eax, dword [ebp - 0x398]
cmp eax, dword [ebp - 0x25c]
jae 0x4df0ba
mov eax, dword [ebp - 0x398]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x398], eax
jmp 0x4df09a
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x2cc], 0
je 0x4df0ff
sub dword [ebp - 0x2cc], 1
je 0x4df12d
sub dword [ebp - 0x2cc], 1
je 0x4df15e
sub dword [ebp - 0x2cc], 1
je 0x4df18c
jmp 0x4df1ba
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x648]
movsd xmm0, qword [ebp - 0x388]
call fcn.00986231
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x4df1e1
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x648]
movsd xmm0, qword [ebp - 0x388]
call fcn.00986231
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x4df1e1
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x648]
movsd xmm0, qword [ebp - 0x388]
call fcn.00986231
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x4df1e1
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x648]
movsd xmm0, qword [ebp - 0x388]
call fcn.00986231
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x4df1e1
movzx eax, byte [ebp - 0x248]
movzx eax, byte [ebp + eax - 0x648]
mov ecx, dword [ebp - 0x424]
add ecx, dword [ebp - 0x354]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x248], al
mov eax, dword [ebp - 0x354]
inc eax
mov dword [ebp - 0x354], eax
movzx eax, byte [ebp - 0x2ce]
cmp dword [ebp - 0x354], eax
jb 0x4df21a
and dword [ebp - 0x354], 0
movzx eax, byte [ebp - 0x2ce]
movzx ecx, byte [ebp - 0x248]
add ecx, eax
mov byte [ebp - 0x248], cl
movzx eax, byte [ebp - 0x248]
and eax, dword [ebp - 0x398]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x3dc]
inc eax
mov dword [ebp - 0x3dc], eax
cmp dword [ebp - 0x3dc], 0xb
jbe 0x4df257
mov eax, dword [ebp - 0x348]
xor edx, edx
div dword [ebp - 0x25c]
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x348]
cmp eax, dword [ebp - 0x25c]
ja 0x4df0ba
mov eax, dword [ebp - 0x25c]
cmp eax, dword [ebp - 0x348]
je 0x4df2fc
mov eax, dword [ebp - 0x348]
movzx eax, byte [ebp + eax - 0x648]
mov ecx, dword [ebp - 0x25c]
movzx ecx, byte [ebp + ecx - 0x648]
xor ecx, eax
mov eax, dword [ebp - 0x25c]
mov byte [ebp + eax - 0x648], cl
mov eax, dword [ebp - 0x25c]
movzx eax, byte [ebp + eax - 0x648]
mov ecx, dword [ebp - 0x348]
movzx ecx, byte [ebp + ecx - 0x648]
xor ecx, eax
mov eax, dword [ebp - 0x348]
mov byte [ebp + eax - 0x648], cl
mov eax, dword [ebp - 0x348]
movzx eax, byte [ebp + eax - 0x648]
mov ecx, dword [ebp - 0x25c]
movzx ecx, byte [ebp + ecx - 0x648]
xor ecx, eax
mov eax, dword [ebp - 0x25c]
mov byte [ebp + eax - 0x648], cl
jmp 0x4df06f
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x23a], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x23d], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x245], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x23e], al
movzx eax, byte [ebp - 0x248]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x240], al
mov dword [ebp - 0x414], 0x12
cmp dword [ebp - 0x414], 2
jle 0x4e056a
mov eax, dword [ebp - 0x414]
and eax, 1
jne 0x4e056a
and dword [ebp - 0x254], 0
and dword [ebp - 0x268], 0
mov eax, dword [ebp - 0x268]
inc eax
mov dword [ebp - 0x268], eax
and dword [ebp - 0x328], 0
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x328], eax
and dword [ebp - 0x2fc], 0
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x328]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x2fc], eax
and dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x300]
add eax, 0xb8
mov dword [ebp - 0x300], eax
and dword [ebp - 0x310], 0
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x310], eax
and dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x310]
movzx eax, byte [eax]
add eax, dword [ebp - 0x304]
mov dword [ebp - 0x304], eax
and dword [ebp - 0x308], 0
mov eax, dword [ebp - 0x308]
add eax, 0x14
mov dword [ebp - 0x308], eax
and dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x2fc]
sub eax, dword [ebp - 0x300]
add eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d4], eax
and dword [ebp - 0x2d8], 0
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x308]
add eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d8], eax
and dword [ebp - 0x330], 0
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x330], eax
and dword [ebp - 0x334], 0
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x334], eax
and dword [ebp - 0x338], 0
mov eax, dword [ebp - 0x330]
or eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
mov byte [ebp - 0x246], 0
mov al, byte [ebp - 0x338]
mov byte [ebp - 0x246], al
mov byte [ebp - 0x244], 0
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23a]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23d]
add ecx, eax
mov byte [ebp - 0x23d], cl
mov al, byte [ebp - 0x23a]
add al, 1
mov byte [ebp - 0x23a], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23d]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x23a]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
mov byte [ebp - 0x23e], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23e]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x4df657
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x268]
inc eax
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x328], eax
movsd xmm0, qword [0xa213b0]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [0xa21330]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [0xa21298]
movsd qword [ebp - 0x298], xmm0
movsd xmm0, qword [ebp - 0x2a8]
subsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x2a8]
mulsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x2a8]
addsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x2a8]
comisd xmm0, xmmword [ebp - 0x298]
jbe 0x4df76b
movsd xmm0, qword [ebp - 0x288]
subsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [ebp - 0x288]
mulsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [ebp - 0x288]
subsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x288], xmm0
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x328]
movzx eax, byte [eax]
mov dword [ebp - 0x2fc], eax
jmp 0x4df98f
movsd xmm0, qword [ebp - 0x2a8]
mulsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x288]
divsd xmm0, qword [ebp - 0x2a8]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [ebp - 0x298]
mulsd xmm0, qword [ebp - 0x288]
movsd qword [ebp - 0x298], xmm0
movsd xmm0, qword [ebp - 0x288]
mulsd xmm0, qword [ebp - 0x2a8]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [ebp - 0x298]
subsd xmm0, qword [ebp - 0x288]
movsd qword [ebp - 0x298], xmm0
movsd xmm0, qword [ebp - 0x2a8]
divsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x2a8]
comisd xmm0, xmmword [ebp - 0x298]
jbe 0x4df947
movsd xmm0, qword [ebp - 0x298]
subsd xmm0, qword [ebp - 0x288]
movsd qword [ebp - 0x298], xmm0
movsd xmm0, qword [ebp - 0x2a8]
mulsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x2a8]
subsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x288]
addsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [ebp - 0x288]
addsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [ebp - 0x288]
subsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [ebp - 0x298]
comisd xmm0, xmmword [ebp - 0x288]
jbe 0x4df8fd
movsd xmm0, qword [ebp - 0x2a8]
divsd xmm0, qword [ebp - 0x288]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x298]
divsd xmm0, qword [ebp - 0x2a8]
movsd qword [ebp - 0x298], xmm0
movsd xmm0, qword [ebp - 0x288]
subsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x288], xmm0
jmp 0x4df945
movsd xmm0, qword [ebp - 0x298]
mulsd xmm0, qword [ebp - 0x288]
movsd qword [ebp - 0x298], xmm0
movsd xmm0, qword [ebp - 0x288]
divsd xmm0, qword [ebp - 0x2a8]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [ebp - 0x288]
addsd xmm0, qword [ebp - 0x2a8]
movsd qword [ebp - 0x288], xmm0
jmp 0x4df98f
movsd xmm0, qword [ebp - 0x298]
addsd xmm0, qword [ebp - 0x2a8]
movsd qword [ebp - 0x298], xmm0
movsd xmm0, qword [ebp - 0x2a8]
addsd xmm0, qword [ebp - 0x288]
movsd qword [ebp - 0x2a8], xmm0
movsd xmm0, qword [ebp - 0x2a8]
mulsd xmm0, qword [ebp - 0x288]
movsd qword [ebp - 0x2a8], xmm0
mov dword [ebp - 0x300], 0xb8
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x310]
movzx eax, byte [eax]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x308], 0x14
mov eax, dword [ebp - 0x2fc]
sub eax, dword [ebp - 0x300]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x308]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x330]
or eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
mov al, byte [ebp - 0x338]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23a]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23d]
add ecx, eax
mov byte [ebp - 0x23d], cl
mov al, byte [ebp - 0x23a]
add al, 1
mov byte [ebp - 0x23a], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23d]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x23a]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
mov byte [ebp - 0x23e], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23e]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x4dfba2
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x268]
inc eax
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x328]
movzx eax, byte [eax]
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x300], 0xb8
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x310]
movzx eax, byte [eax]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x308], 0x14
mov eax, dword [ebp - 0x2fc]
sub eax, dword [ebp - 0x300]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x308]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x330]
or eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
mov al, byte [ebp - 0x338]
mov byte [ebp - 0x246], al
movsd xmm0, qword [0xa213c8]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [0xa21388]
movsd qword [ebp - 0x3f0], xmm0
movsd xmm0, qword [0xa21348]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [0xa212f8]
movsd qword [ebp - 0x37c], xmm0
movsd xmm0, qword [0xa212a8]
movsd qword [ebp - 0x3b4], xmm0
movsd xmm0, qword [0xa202d0]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x3f0]
addsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x3f0], xmm0
movsd xmm0, qword [ebp - 0x3b4]
subsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x3b4], xmm0
movsd xmm0, qword [ebp - 0x350]
mulsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x350]
addsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x37c]
subsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x37c], xmm0
movsd xmm0, qword [ebp - 0x350]
mulsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x3b4]
comisd xmm0, xmmword [ebp - 0x350]
jbe 0x4dfe10
movsd xmm0, qword [ebp - 0x3f0]
divsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x3f0], xmm0
movsd xmm0, qword [ebp - 0x37c]
divsd xmm0, qword [ebp - 0x3b4]
movsd qword [ebp - 0x37c], xmm0
movsd xmm0, qword [ebp - 0x360]
mulsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x360]
divsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x43c]
mulsd xmm0, qword [ebp - 0x37c]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x37c]
subsd xmm0, qword [ebp - 0x3b4]
movsd qword [ebp - 0x37c], xmm0
jmp 0x4dfeb4
movsd xmm0, qword [ebp - 0x3b4]
subsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x3b4], xmm0
movsd xmm0, qword [ebp - 0x37c]
mulsd xmm0, qword [ebp - 0x3b4]
movsd qword [ebp - 0x37c], xmm0
movsd xmm0, qword [ebp - 0x350]
mulsd xmm0, qword [ebp - 0x3f0]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x350]
mulsd xmm0, qword [ebp - 0x3f0]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x360]
addsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x37c]
mulsd xmm0, qword [ebp - 0x3b4]
movsd qword [ebp - 0x37c], xmm0
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23a]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23d]
add ecx, eax
mov byte [ebp - 0x23d], cl
mov al, byte [ebp - 0x23a]
add al, 1
mov byte [ebp - 0x23a], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23d]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x23a]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
mov byte [ebp - 0x23e], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23e]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x4e001d
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x268]
add eax, 3
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x3e0], eax
jmp 0x4e0048
mov eax, dword [ebp - 0x3e0]
inc eax
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x3e0]
cmp eax, dword [ebp - 0x268]
jge 0x4e02a2
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x328]
movzx eax, byte [eax]
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x300], 0xb8
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x310]
movzx eax, byte [eax]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x308], 0x14
mov eax, dword [ebp - 0x2fc]
sub eax, dword [ebp - 0x300]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x308]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x330]
or eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
mov al, byte [ebp - 0x338]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23a]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23d]
add ecx, eax
mov byte [ebp - 0x23d], cl
mov al, byte [ebp - 0x23a]
add al, 1
mov byte [ebp - 0x23a], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23d]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x23a]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
mov byte [ebp - 0x23e], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23e]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x4e029d
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x11], cl
jmp 0x4e003b
mov eax, dword [ebp - 0x268]
inc eax
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
add eax, 3
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x3e4], eax
jmp 0x4e02da
mov eax, dword [ebp - 0x3e4]
inc eax
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x3e4]
cmp eax, dword [ebp - 0x268]
jge 0x4e0534
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x328]
movzx eax, byte [eax]
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x300], 0xb8
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x310]
movzx eax, byte [eax]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x308], 0x14
mov eax, dword [ebp - 0x2fc]
sub eax, dword [ebp - 0x300]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x308]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x330]
or eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
mov al, byte [ebp - 0x338]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23a]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23d]
add ecx, eax
mov byte [ebp - 0x23d], cl
mov al, byte [ebp - 0x23a]
add al, 1
mov byte [ebp - 0x23a], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23a]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23d]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x23a]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
mov byte [ebp - 0x23e], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23e]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x4e052f
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x11], cl
jmp 0x4e02cd
mov eax, dword [ebp - 0x268]
inc eax
mov dword [ebp - 0x268], eax
xor eax, eax
inc eax
shl eax, 3
mov dword [ebp - 0x400], eax
cmp dword [ebp - 0x400], 9
jae 0x4e0558
jmp 0x4e055d
call fcn.00985b99
mov eax, dword [ebp - 0x400]
mov byte [ebp + eax - 0x10], 0
jmp 0x4e05b2
and dword [ebp - 0x3a0], 0
jmp 0x4e0580
mov eax, dword [ebp - 0x3a0]
inc eax
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x3a0], 9
jge 0x4e05b2
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 9
jae 0x4e05a0
jmp 0x4e05a5
call fcn.00985b99
mov eax, dword [ebp - 0x3fc]
mov byte [ebp + eax - 0x10], 0
jmp 0x4e0573
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.004568d0
mov dword [ebp - 0x428], eax
push 0
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x3e8]
push dword [ebp - 0x2bc]
push dword [ebp - 0x3a8]
call dword [ebp - 0x428]
test eax, eax
je 0x4e071b
or dword [ebp - 0x3ac], 0xffffffff
mov byte [ebp - 0x2cf], 0
mov byte [ebp - 0x27d], 0
cmp dword [ebp - 0x228], 0x100
jbe 0x4e06f5
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x2bc]
movzx eax, byte [ecx + eax]
cmp eax, 0x4d
jne 0x4e064d
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x2bc]
movzx eax, byte [ecx + eax]
cmp eax, 0x5a
jne 0x4e064d
mov byte [ebp - 0x27d], 1
and dword [ebp - 0x3ac], 0
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x2bc]
movzx eax, byte [ecx + eax]
cmp eax, 0xd0
jne 0x4e06b7
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x2bc]
movzx eax, byte [ecx + eax]
cmp eax, 0xcf
jne 0x4e06b7
xor eax, eax
inc eax
shl eax, 1
mov ecx, dword [ebp - 0x2bc]
movzx eax, byte [ecx + eax]
cmp eax, 0x11
jne 0x4e06b7
xor eax, eax
inc eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x2bc]
movzx eax, byte [ecx + eax]
cmp eax, 0xe0
jne 0x4e06b7
mov byte [ebp - 0x27d], 1
mov dword [ebp - 0x3ac], 1
and dword [ebp - 0x3f8], 0
cmp dword [ebp - 0x3ac], 0
jne 0x4e06f5
push dword [ebp - 0x228]
push dword [ebp - 0x2bc]
call fcn.004c9472
pop ecx
pop ecx
mov dword [ebp - 0x3f8], eax
xor eax, eax
cmp dword [ebp - 0x3f8], 0x1000
sete al
mov byte [ebp - 0x2cf], al
movzx eax, byte [ebp - 0x27d]
test eax, eax
je 0x4e071b
movzx eax, byte [ebp - 0x2cf]
test eax, eax
je 0x4e071b
cmp dword [ebp - 0x3ac], 0
jne 0x4e071b
mov byte [ebp - 0x27e], 1
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x3bc], eax
cmp dword [ebp - 0x3c0], 0
je 0x4e0761
mov eax, dword [ebp - 0x3bc]
mov byte [eax], 0
mov eax, dword [ebp - 0x3bc]
inc eax
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3c0]
dec eax
mov dword [ebp - 0x3c0], eax
jmp 0x4e0733
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x3f4], eax
push dword [ebp - 0x3f4]
call fcn.009859d5
pop ecx
cmp dword [ebp - 0x3f4], 0
jne 0x4e078b
and dword [ebp - 0x42c], 0
jmp 0x4e07a1
mov dword [ebp - 0x2bc], 0x8123
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x42c], eax
push dword [ebp - 0x3a8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4e07d7
mov dword [ebp - 0x430], 0xbb8
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x654]
call fcn.004c0fee
push eax
call fcn.004c10b4
pop ecx
jmp 0x4dd2a5
mov al, byte [ebp - 0x27e]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.009857d7
leave
ret