Function at 0x41dd1c
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1a0
lea eax, [ebp - 0x18]
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x423e00
mov edx, dword fs:[0]
mov dword [eax], edx
mov dword fs:[0], eax
xorpd xmm0, xmm0
mov dword [ebp - 0x148], ecx
movupd xmmword [ecx], xmm0
xorpd xmm0, xmm0
movsd xmm3, qword [0x612d08]
movsd xmm4, qword [0x612d10]
movsd xmm5, qword [0x612d18]
movsd xmm6, qword [0x612d20]
xorpd xmm2, xmm2
movapd xmm7, xmm2
mulsd xmm7, qword [0x612cf8]
mulsd xmm7, xmm2
movapd xmm1, xmm2
mulsd xmm1, xmm2
subsd xmm7, xmm1
movapd xmm1, xmm2
mulsd xmm1, qword [0x612d00]
mulsd xmm1, xmm2
addsd xmm1, xmm3
divsd xmm7, xmm1
addsd xmm7, xmm0
movapd xmm1, xmm2
mulsd xmm1, xmm4
addsd xmm1, xmm7
movapd xmm0, xmm5
cmpltsd xmm0, xmm7
andpd xmm1, xmm0
andnpd xmm0, xmm7
movsd xmm7, qword [0x612408]
orpd xmm0, xmm1
addsd xmm2, xmm7
ucomisd xmm6, xmm2
ja 0x41dd81
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x41de3b
push eax
dec edx
imul edx, dword [eax + 0x71], 0x29744b2c
inc edx
and eax, dword [eax + 0x62]
and al, 0x67
daa
jb 0x41de38
push eax
push esi
cmp eax, 0x5e434760
in eax, dx
ljmp 0xeaf3
add al, 0
add byte [ebp + 0x41de0f15], cl
add byte [esi + 0xf], ah
outsd dx, dword [esi]
or eax, 0x612110
lea edx, [0x41de0f]
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x41de53
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x41ddf6]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
mov dword [ebp - 0x34], ecx
mov esi, 0xff
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x30], edx
xor edx, edx
inc edx
cmp esi, 2
jb 0x41dec6
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x41debf
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x41ded3
jmp dword [ecx*4 + 0x612ed8]
movzx eax, bl
lea edi, [eax + ebp]
add edi, 0xfffffec4
mov eax, dword [ebp - 0x24]
jmp 0x41df0b
movzx eax, bl
lea edi, [eax + ebp]
add edi, 0xfffffec4
mov eax, dword [ebp - 0x34]
jmp 0x41df0b
movzx eax, bl
lea edi, [eax + ebp]
add edi, 0xfffffec4
mov eax, dword [ebp - 0x2c]
jmp 0x41df32
movzx eax, bl
lea edi, [eax + ebp]
add edi, 0xfffffec4
mov eax, dword [ebp - 0x24]
mov al, ah
jmp 0x41df32
movzx eax, bl
mov al, byte [ebp + eax - 0x13c]
mov edi, dword [ebp - 0x28]
add edi, ecx
add edi, 0xfffffffc
add al, byte [edi]
inc ecx
movzx edi, al
add al, 0x1d
cmp ecx, 0x1c
mov ebx, 0
cmova ecx, ebx
movzx ebx, al
cmovbe ebx, edi
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x41df60
cmp eax, dword [ebp - 0x20]
ja 0x41dece
jmp 0x41df67
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
mov edx, dword [ebp - 0x30]
je 0x41df9e
mov dl, byte [ebp + esi - 0x13c]
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], dl
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + eax - 0x13c], dl
xor byte [ebp + esi - 0x13c], dl
mov edx, dword [ebp - 0x30]
dec esi
jne 0x41deb4
movzx esi, byte [ebp - 0x13b]
mov dword [ebp - 0x24], esi
mov al, byte [ebp - 0x137]
movzx ebx, byte [ebp + edi - 0x13c]
mov ah, byte [edx]
mov cl, byte [edx + 1]
mov byte [ebp - 0x20], cl
mov dl, byte [ebp + esi - 0x13c]
add dl, byte [ebp - 0x139]
movzx edi, dl
mov dh, byte [ebp + edi - 0x13c]
movzx esi, byte [ebp - 0x135]
mov ecx, ebx
mov dword [ebp - 0x28], ebx
movzx ebx, byte [ebp + ebx - 0x13c]
mov byte [ebp + ecx - 0x13c], dh
mov dh, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov ecx, dword [ebp - 0x24]
mov dh, cl
inc dh
movzx ecx, dh
mov dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x13c], dh
mov byte [ebp + ecx - 0x13c], bl
movzx ecx, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x28]
movzx esi, byte [ebp + esi - 0x13c]
add esi, ecx
add al, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x28], al
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, esi
mov dh, byte [ebp - 0x20]
add dh, 0x16
shl ah, 4
add ah, 0xb0
or ah, dh
movzx edi, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x20], ebx
add edi, ebx
mov esi, 0xff
and edi, esi
mov dh, byte [ebp + edi - 0x13c]
xor dh, ah
and ecx, esi
movzx ecx, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov ecx, dword [ebp - 0x24]
add cl, 2
movzx ecx, cl
mov dword [ebp - 0x24], ecx
xor edi, edi
mov ecx, dword [ebp - 0x30]
add dl, byte [ebp - 0x20]
mov byte [ebp - 0x2c], dl
movzx esi, ah
mov ah, byte [ecx + edi*2 + 2]
mov al, byte [ecx + edi*2 + 3]
mov dword [ebp - 0x34], edi
mov byte [ebp - 0x20], al
movzx ebx, dl
mov dword [ebp - 0x38], ebx
mov dl, byte [ebp + ebx - 0x13c]
movzx ecx, byte [ebp + esi - 0x13c]
mov byte [ebp + esi - 0x13c], dl
movzx edx, dh
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + ebx - 0x13c], al
mov ebx, dword [ebp - 0x24]
add ebx, edi
mov edi, 0xff
and ebx, edi
mov al, byte [ebp + ebx - 0x13c]
mov byte [ebp + edx - 0x13c], al
mov al, byte [ebp - 0x28]
mov byte [ebp + ebx - 0x13c], cl
mov edi, ecx
movzx edx, byte [ebp + edx - 0x13c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
add al, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x28], al
movzx edx, al
movzx ebx, byte [ebp + edx - 0x13c]
mov dl, byte [ebp - 0x2c]
add ebx, esi
mov dh, byte [ebp - 0x20]
add dh, 0x16
shl ah, 4
add ah, 0xb0
or ah, dh
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
mov dword [ebp - 0x20], edi
add ecx, edi
mov esi, 0xff
and ecx, esi
mov dh, byte [ebp + ecx - 0x13c]
xor dh, ah
and ebx, esi
movzx ecx, byte [ebp + ebx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
movsx ecx, dh
mov esi, dword [ebp - 0x34]
mov word [ebp + esi*2 - 0x1aa], cx
lea edi, [esi + 1]
cmp edi, 5
jne 0x41e09a
add dword [ebp - 0x24], edi
xor esi, esi
add dl, byte [ebp - 0x20]
mov byte [ebp - 0x2c], dl
movzx ecx, ah
mov edi, dword [ebp - 0x30]
mov bl, byte [edi + esi*2 + 0xc]
mov al, byte [edi + esi*2 + 0xd]
mov byte [ebp - 0x34], al
movzx eax, byte [ebp + ecx - 0x13c]
mov dword [ebp - 0x20], eax
movzx edi, dl
mov dword [ebp - 0x38], edi
mov dl, byte [ebp + edi - 0x13c]
mov byte [ebp + ecx - 0x13c], dl
movzx edx, dh
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], al
movzx edi, byte [ebp - 0x24]
mov al, byte [ebp + edi - 0x13c]
mov byte [ebp + edx - 0x13c], al
mov bh, byte [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov byte [ebp + edi - 0x13c], al
add bh, byte [ebp + eax - 0x13c]
movzx edx, byte [ebp + edx - 0x13c]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
mov byte [ebp - 0x28], bh
movzx edx, bh
movzx edi, byte [ebp + edx - 0x13c]
mov dl, byte [ebp - 0x2c]
add edi, ecx
mov cl, byte [ebp - 0x34]
add cl, 0x16
shl bl, 4
add bl, 0xb0
or bl, cl
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, eax
mov eax, 0xff
and ecx, eax
mov dh, byte [ebp + ecx - 0x13c]
xor dh, bl
and edi, eax
movzx ecx, byte [ebp + edi - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
movsx ecx, dh
mov word [ebp + esi*2 - 0x1a0], cx
mov eax, dword [ebp - 0x24]
inc al
mov dword [ebp - 0x24], eax
inc esi
mov ah, bl
cmp esi, 7
jne 0x41e191
mov word [ebp - 0x192], 0
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x144], eax
push 4
call fcn.005db3dd
add esp, 4
mov dword [ebp - 0x140], eax
xor eax, eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], 7
mov word [ebp - 0x13c], 0
lea edi, [ebp - 0x1aa]
push edi
call fcn.005ff144
add esp, 4
mov esi, eax
cmp eax, 7
jbe 0x41e30b
cmp esi, 0x7fffffff
jae 0x420ce7
mov ecx, esi
or ecx, 7
cmp ecx, 0x7ffffffe
mov dword [ebp - 0x20], esi
jbe 0x41e32f
mov dword [ebp - 0x24], connect
mov eax, 0xfffffffe
jmp 0x41e34b
lea eax, [ebp - 0x13c]
mov dword [eax + 0x10], esi
mov ecx, esi
add ecx, esi
push ecx
push edi
push eax
call fcn.005e2280
add esp, 0xc
mov word [ebp + esi*2 - 0x13c], 0
jmp 0x41e3a5
cmp ecx, 0xa
mov edx, 0xa
cmova edx, ecx
lea eax, [edx + edx]
add eax, 2
cmp edx, 0x7ff
jb 0x41e35d
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x10], 0
push eax
call fcn.00401ee4
add esp, 4
jmp 0x41e370
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x10], 0
push eax
call fcn.005db3dd
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x128], eax
mov eax, edi
add eax, edi
push eax
lea eax, [ebp - 0x1aa]
push eax
push esi
call fcn.005e2280
add esp, 0xc
mov word [esi + edi*2], 0
mov dword [ebp - 0x13c], esi
xor eax, eax
lea edx, [ebp - 0x13c]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov ecx, dword [ebp - 0x140]
mov dword [ecx], eax
mov dword [ebp - 0x10], 1
push 2
push edx
call fcn.0044527c
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x41e41b
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x41e411
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420ce2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
mov eax, dword [ebp - 0x140]
cmp dword [eax], 0
je 0x420cc8
xorpd xmm2, xmm2
movsd xmm3, qword [0x612d38]
movsd xmm4, qword [0x612d40]
movsd xmm5, qword [0x612d48]
movsd xmm6, qword [0x612d50]
xorpd xmm0, xmm0
movapd xmm7, xmm2
mulsd xmm7, qword [0x612d28]
mulsd xmm7, xmm2
movapd xmm1, xmm2
mulsd xmm1, xmm2
subsd xmm7, xmm1
movapd xmm1, xmm2
mulsd xmm1, qword [0x612d30]
mulsd xmm1, xmm2
addsd xmm1, xmm3
divsd xmm7, xmm1
addsd xmm7, xmm0
movapd xmm1, xmm2
mulsd xmm1, xmm4
addsd xmm1, xmm7
movapd xmm0, xmm5
cmpltsd xmm0, xmm7
andpd xmm1, xmm0
andnpd xmm0, xmm7
movsd xmm7, qword [0x612228]
orpd xmm0, xmm1
addsd xmm2, xmm7
ucomisd xmm6, xmm2
ja 0x41e452
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x41e501
dec esi
aaa
cmp eax, 0x3b714f75
inc edi
bound ebp, qword [edx]
jbe 0x41e540
jge 0x41e502
jle 0x41e501
inc edi
push 0xbec7c056
mov ebx, 0xbdc3bdca
rol bl, 0xc7
ret 0xc6c4
lea edx, [0x41e4da]
adc eax, 0x41e4da
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x41e519
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x41e4c7]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
mov dword [ebp - 0x34], ecx
mov esi, 0xff
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x2c], edx
xor edx, edx
inc edx
cmp esi, 2
jb 0x41e58c
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x41e585
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x41e599
jmp dword [ecx*4 + 0x612ee8]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x41e5cb
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x34]
jmp 0x41e5cb
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x30]
jmp 0x41e5f0
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x41e5f0
movzx eax, bl
mov bl, byte [ebp + eax - 0x13c]
mov eax, dword [ebp - 0x28]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x17
cmp ecx, 0x16
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x41e61f
cmp eax, dword [ebp - 0x20]
ja 0x41e594
jmp 0x41e626
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
mov edx, dword [ebp - 0x2c]
je 0x41e65d
mov dl, byte [ebp + esi - 0x13c]
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], dl
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + eax - 0x13c], dl
xor byte [ebp + esi - 0x13c], dl
mov edx, dword [ebp - 0x2c]
dec esi
jne 0x41e57a
mov al, byte [ebp - 0x13b]
mov byte [ebp - 0x28], al
mov cl, byte [ebp - 0x137]
mov byte [ebp - 0x20], cl
movzx ecx, al
movzx eax, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x30], eax
mov bl, byte [edx]
mov al, byte [edx + 1]
mov byte [ebp - 0x34], al
mov dword [ebp - 0x3c], ecx
mov al, byte [ebp + ecx - 0x13c]
add al, byte [ebp - 0x139]
mov byte [ebp - 0x24], al
movzx edi, al
mov bh, byte [ebp + edi - 0x13c]
movzx esi, byte [ebp - 0x135]
mov ecx, dword [ebp - 0x30]
movzx eax, byte [ebp + ecx - 0x13c]
mov byte [ebp + ecx - 0x13c], bh
mov bh, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], bh
mov bh, byte [ebp - 0x28]
inc bh
movzx ecx, bh
mov bh, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x13c], bh
mov byte [ebp + ecx - 0x13c], al
mov cl, byte [ebp - 0x34]
add cl, 0x46
shl bl, 4
add bl, 0x20
or bl, cl
movzx ecx, byte [ebp + edi - 0x13c]
add ecx, eax
mov edi, 0xff
and ecx, edi
movzx edi, bl
mov dword [ebp - 0x34], edi
xor bl, byte [ebp + ecx - 0x13c]
movzx ecx, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x30]
movzx esi, byte [ebp + esi - 0x13c]
add esi, ecx
mov cl, byte [ebp - 0x20]
add cl, byte [ebp + eax - 0x13c]
mov edi, eax
mov byte [ebp - 0x20], cl
movzx ecx, cl
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, esi
mov eax, 0xff
and ecx, eax
movzx ecx, byte [ebp + ecx - 0x13c]
xor bl, byte [ebp + ecx - 0x13c]
mov al, byte [ebp - 0x24]
mov ecx, edi
add al, cl
mov ah, byte [edx + 2]
mov dl, byte [edx + 3]
mov edi, dword [ebp - 0x34]
movzx ecx, byte [ebp + edi - 0x13c]
mov byte [ebp - 0x24], al
movzx esi, al
mov dword [ebp - 0x30], esi
mov dh, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], dh
movzx ebx, bl
mov dh, byte [ebp + ebx - 0x13c]
mov byte [ebp + esi - 0x13c], dh
mov al, byte [ebp - 0x28]
add al, 2
movzx esi, al
mov dh, byte [ebp + esi - 0x13c]
mov byte [ebp + ebx - 0x13c], dh
mov byte [ebp + esi - 0x13c], cl
movzx esi, byte [ebp + ebx - 0x13c]
movzx ebx, byte [ebp + edi - 0x13c]
add ebx, esi
mov al, byte [ebp - 0x20]
add al, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x20], al
movzx esi, al
movzx esi, byte [ebp + esi - 0x13c]
add esi, ebx
add dl, 0x46
shl ah, 4
add ah, 0x20
or ah, dl
mov edx, dword [ebp - 0x30]
movzx ebx, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x28], ecx
add ebx, ecx
mov ecx, 0xff
and ebx, ecx
mov bl, byte [ebp + ebx - 0x13c]
xor bl, ah
and esi, ecx
movzx esi, byte [ebp + esi - 0x13c]
xor bl, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x156], bl
mov dword [ebp - 0x30], 0
mov al, byte [ebp - 0x24]
add al, byte [ebp - 0x28]
movzx esi, ah
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
mov ah, byte [ecx + edi*2 + 4]
mov cl, byte [ecx + edi*2 + 5]
mov byte [ebp - 0x34], cl
movzx ecx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x24], al
movzx ecx, al
mov dword [ebp - 0x38], ecx
mov bh, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x13c], bh
movzx ebx, bl
mov al, byte [ebp + ebx - 0x13c]
mov byte [ebp + ecx - 0x13c], al
mov ecx, dword [ebp - 0x3c]
add ecx, edi
add ecx, 3
mov edx, 0xff
and ecx, edx
mov al, byte [ebp + ecx - 0x13c]
mov byte [ebp + ebx - 0x13c], al
mov edx, dword [ebp - 0x28]
mov byte [ebp + ecx - 0x13c], dl
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x13c]
movzx ecx, byte [ebp + ebx - 0x13c]
movzx edx, byte [ebp + esi - 0x13c]
add edx, ecx
mov byte [ebp - 0x20], al
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
mov al, byte [ebp - 0x34]
add al, 0x46
shl ah, 4
add ah, 0x20
or ah, al
mov edx, dword [ebp - 0x38]
movzx esi, byte [ebp + edx - 0x13c]
add esi, dword [ebp - 0x28]
mov edx, 0xff
and esi, edx
mov bl, byte [ebp + esi - 0x13c]
xor bl, ah
and ecx, edx
movzx ecx, byte [ebp + ecx - 0x13c]
xor bl, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x155], bl
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 3
jne 0x41e832
mov ecx, dword [ebp - 0x2c]
mov bh, byte [ecx + 0xa]
mov al, byte [ecx + 0xb]
mov byte [ebp - 0x34], al
movzx esi, ah
mov cl, byte [ebp - 0x24]
add cl, byte [ebp - 0x28]
mov byte [ebp - 0x24], cl
movzx edx, cl
mov al, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x38], esi
movzx ecx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], ecx
mov byte [ebp + esi - 0x13c], al
movzx edi, bl
mov bl, byte [ebp + edi - 0x13c]
mov byte [ebp + edx - 0x13c], bl
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
add eax, ecx
add eax, 3
mov esi, 0xff
and eax, esi
mov bl, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x13c], bl
mov ecx, dword [ebp - 0x28]
mov byte [ebp + eax - 0x13c], cl
mov al, byte [ebp - 0x34]
add al, 0x46
shl bh, 4
add bh, 0x20
or bh, al
movzx eax, byte [ebp + edx - 0x13c]
add eax, ecx
mov esi, 0xff
and eax, esi
movzx edx, bh
mov dword [ebp - 0x34], edx
xor bh, byte [ebp + eax - 0x13c]
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x20], dl
movzx eax, byte [ebp + edi - 0x13c]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, eax
movzx eax, dl
movzx eax, byte [ebp + eax - 0x13c]
add eax, ecx
and eax, esi
movzx eax, byte [ebp + eax - 0x13c]
xor bh, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x152], bh
mov eax, dword [ebp - 0x2c]
mov dl, byte [eax + 0xc]
mov cl, byte [ebp - 0x24]
add cl, byte [ebp - 0x28]
mov byte [ebp - 0x24], cl
mov bl, byte [eax + 0xd]
movzx esi, cl
mov ah, byte [ebp + esi - 0x13c]
mov ecx, dword [ebp - 0x34]
movzx edi, byte [ebp + ecx - 0x13c]
mov dword [ebp - 0x28], edi
mov byte [ebp + ecx - 0x13c], ah
movzx edi, bh
mov ah, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ah
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
add eax, ecx
add eax, 4
mov ecx, 0xff
and eax, ecx
mov dh, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov ecx, dword [ebp - 0x28]
mov byte [ebp + eax - 0x13c], cl
shl dl, 4
add dl, 0x20
add bl, 0x46
or bl, dl
movzx eax, byte [ebp + esi - 0x13c]
add eax, ecx
mov esi, 0xff
and eax, esi
movzx ecx, bl
mov dword [ebp - 0x38], ecx
xor bl, byte [ebp + eax - 0x13c]
movzx eax, byte [ebp + edi - 0x13c]
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, eax
mov dl, byte [ebp - 0x20]
mov eax, dword [ebp - 0x28]
add dl, byte [ebp + eax - 0x13c]
movzx eax, dl
movzx eax, byte [ebp + eax - 0x13c]
add eax, ecx
mov ecx, dword [ebp - 0x3c]
and eax, esi
movzx eax, byte [ebp + eax - 0x13c]
xor bl, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x151], bl
mov esi, dword [ebp - 0x2c]
mov ah, byte [esi + 0xe]
mov dh, byte [ebp - 0x24]
add dh, byte [ebp - 0x28]
mov al, byte [esi + 0xf]
mov byte [ebp - 0x24], dh
movzx esi, dh
mov dword [ebp - 0x34], esi
mov dh, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x38]
movzx edi, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], edi
mov byte [ebp + esi - 0x13c], dh
movzx edi, bl
mov dh, byte [ebp + edi - 0x13c]
mov esi, dword [ebp - 0x34]
mov byte [ebp + esi - 0x13c], dh
mov esi, dword [ebp - 0x30]
add esi, ecx
add esi, 5
mov ebx, 0xff
and esi, ebx
mov dh, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov ebx, dword [ebp - 0x28]
mov byte [ebp + esi - 0x13c], bl
movzx esi, byte [ebp + edi - 0x13c]
mov ebx, dword [ebp - 0x38]
movzx ebx, byte [ebp + ebx - 0x13c]
add ebx, esi
mov esi, dword [ebp - 0x28]
add dl, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x20], dl
movzx esi, dl
movzx esi, byte [ebp + esi - 0x13c]
add esi, ebx
add al, 0x46
shl ah, 4
add ah, 0x20
or ah, al
mov edx, dword [ebp - 0x34]
movzx ebx, byte [ebp + edx - 0x13c]
add ebx, dword [ebp - 0x28]
mov edx, 0xff
and ebx, edx
mov bl, byte [ebp + ebx - 0x13c]
xor bl, ah
and esi, edx
movzx esi, byte [ebp + esi - 0x13c]
xor bl, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x150], bl
add ecx, dword [ebp - 0x30]
add cl, 7
xor edi, edi
mov al, cl
mov byte [ebp - 0x30], cl
mov al, byte [ebp - 0x24]
add al, byte [ebp - 0x28]
movzx edx, ah
mov ecx, dword [ebp - 0x2c]
mov esi, edi
mov ah, byte [ecx + edi*2 + 0x10]
mov cl, byte [ecx + edi*2 + 0x11]
mov byte [ebp - 0x34], cl
movzx ecx, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x28], ecx
mov edi, edx
mov byte [ebp - 0x24], al
movzx edx, al
mov bh, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x38], edx
mov byte [ebp + edi - 0x13c], bh
movzx ebx, bl
mov cl, byte [ebp + ebx - 0x13c]
mov byte [ebp + edx - 0x13c], cl
mov cl, byte [ebp - 0x30]
dec cl
movzx ecx, cl
mov al, byte [ebp + ecx - 0x13c]
mov byte [ebp + ebx - 0x13c], al
mov edx, dword [ebp - 0x28]
mov byte [ebp + ecx - 0x13c], dl
movzx ecx, byte [ebp + ebx - 0x13c]
movzx edi, byte [ebp + edi - 0x13c]
add edi, ecx
mov al, byte [ebp - 0x20]
mov ebx, dword [ebp - 0x28]
add al, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x20], al
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edi
mov al, byte [ebp - 0x34]
add al, 0x46
shl ah, 4
add ah, 0x20
or ah, al
mov edx, dword [ebp - 0x38]
movzx edx, byte [ebp + edx - 0x13c]
add edx, ebx
mov edi, 0xff
and edx, edi
mov bl, byte [ebp + edx - 0x13c]
mov dh, byte [ebp - 0x30]
xor bl, ah
and ecx, edi
movzx ecx, byte [ebp + ecx - 0x13c]
xor bl, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x14f], bl
inc esi
mov cl, dh
inc cl
mov edi, esi
cmp esi, 4
jne 0x41ebc8
mov dl, byte [ebp - 0x24]
add dl, byte [ebp - 0x28]
movzx edi, ah
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], ecx
mov cl, byte [eax + 0x18]
mov al, byte [eax + 0x19]
movzx esi, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x34], esi
movzx esi, dl
mov ch, dl
mov bh, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], bh
movzx edi, bl
mov bl, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], bl
movzx ebx, dh
mov dh, byte [ebp + ebx - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov edx, dword [ebp - 0x34]
mov byte [ebp + ebx - 0x13c], dl
add al, 0x46
shl cl, 4
add cl, 0x20
or cl, al
movzx eax, byte [ebp + esi - 0x13c]
add eax, edx
mov esi, 0xff
and eax, esi
movzx esi, cl
mov dword [ebp - 0x24], esi
xor cl, byte [ebp + eax - 0x13c]
movzx eax, byte [ebp + edi - 0x13c]
mov esi, dword [ebp - 0x28]
movzx edi, byte [ebp + esi - 0x13c]
add edi, eax
mov bh, byte [ebp - 0x20]
add bh, byte [ebp + edx - 0x13c]
mov esi, edx
movzx eax, bh
movzx eax, byte [ebp + eax - 0x13c]
add eax, edi
mov edx, 0xff
and eax, edx
movzx eax, byte [ebp + eax - 0x13c]
xor cl, byte [ebp + eax - 0x13c]
mov dl, ch
mov eax, esi
add dl, al
mov byte [ebp - 0x14b], cl
mov eax, dword [ebp - 0x2c]
mov ch, byte [eax + 0x1a]
mov bl, byte [eax + 0x1b]
movzx edi, dl
mov dl, byte [ebp + edi - 0x13c]
mov esi, dword [ebp - 0x24]
movzx eax, byte [ebp + esi - 0x13c]
mov byte [ebp + esi - 0x13c], dl
movzx esi, cl
mov cl, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], cl
movzx edx, byte [ebp - 0x3c]
mov cl, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], cl
mov byte [ebp + edx - 0x13c], al
add bh, byte [ebp + eax - 0x13c]
movzx edx, byte [ebp + edi - 0x13c]
add edx, eax
add bl, 0x46
shl ch, 4
add ch, 0x20
or ch, bl
mov edi, 0xff
and edx, edi
xor ch, byte [ebp + edx - 0x13c]
movzx eax, bh
movzx edx, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x24]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
movzx eax, byte [ebp + eax - 0x13c]
add eax, esi
and eax, edi
movzx eax, byte [ebp + eax - 0x13c]
xor ch, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x14a], ch
mov byte [ebp - 0x149], 0
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x156]
lea esi, [ebp - 0x13c]
mov ecx, esi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 2
mov ecx, dword [ebp - 0x140]
push 0
push esi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 8], eax
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x41eedc
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x41eed2
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420ce2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
xorpd xmm3, xmm3
movsd xmm5, qword [0x612d70]
movsd xmm6, qword [0x6120f8]
movsd xmm7, qword [0x612d78]
xorpd xmm0, xmm0
movsd xmm4, qword [0x612d30]
movapd xmm1, xmm3
mulsd xmm1, qword [0x612d58]
mulsd xmm1, xmm3
movapd xmm2, xmm3
mulsd xmm2, xmm3
subsd xmm1, xmm2
movapd xmm2, xmm3
mulsd xmm2, xmm4
mulsd xmm2, xmm3
addsd xmm2, qword [0x612d60]
divsd xmm1, xmm2
addsd xmm1, xmm0
movapd xmm2, xmm3
mulsd xmm2, qword [0x612d68]
addsd xmm2, xmm1
movapd xmm0, xmm5
cmpltsd xmm0, xmm1
andpd xmm2, xmm0
andnpd xmm0, xmm1
orpd xmm0, xmm2
addsd xmm3, xmm6
ucomisd xmm7, xmm3
ja 0x41ef04
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x41efc0
dec ebp
push eax
inc ebx
inc edi
inc edx
dec eax
dec ebx
dec ebp
dec ecx
inc edx
inc ecx
dec edi
dec ebp
push eax
inc esp
inc edi
inc edi
inc ebx
inc ebx
inc edx
dec eax
dec esi
inc ebp
inc esi
dec edx
dec edx
inc esp
dec eax
inc ebp
dec esi
dec eax
inc ebx
dec ebx
inc edi
xor eax, 0x5f2e5c60
jp 0x41f00e
dec ebp
jae 0x41efe7
dec edx
xor dword [ebx], ebp
push edi
jae 0x41efd9
dec ebp
pop edx
push esi
xor byte [esi + 0x77], bl
push ebx
dec ebp
pop ebp
inc ecx
and al, 0x5c
pop edx
push 0xffffffffffffff89
test dword [esi + edi*8 - 0x2c160001], edi
push es
add byte [eax], al
lea eax, [0x41ef75]
mov dword [ebp - 0x34], eax
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
popal
add bl, dh
movq qword [ebp + eax - 0x13c], mm1
movdqu xmmword [ebp + eax - 0x13c], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x41efdb
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x41ef97]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
fdiv dword [0x80000000]
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
mov dword [ebp - 0x30], ecx
mov esi, 0xff
xor ecx, ecx
xor ebx, ebx
xor edx, edx
inc edx
cmp esi, 2
jb 0x41f04b
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x41f044
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x41f058
jmp dword [ecx*4 + 0x612ef8]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x41f08a
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x30]
jmp 0x41f08a
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x2c]
jmp 0x41f0af
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x41f0af
movzx eax, bl
mov bl, byte [ebp + eax - 0x13c]
mov eax, dword [ebp - 0x28]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x22
cmp ecx, 0x21
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x41f0de
cmp eax, dword [ebp - 0x20]
ja 0x41f053
jmp 0x41f0e5
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
je 0x41f116
mov dl, byte [ebp + esi - 0x13c]
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], dl
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + eax - 0x13c], dl
xor byte [ebp + esi - 0x13c], dl
dec esi
jne 0x41f039
mov al, byte [ebp - 0x13b]
mov byte [ebp - 0x28], al
mov cl, byte [ebp - 0x137]
mov byte [ebp - 0x20], cl
movzx eax, al
movzx ebx, byte [ebp + edi - 0x13c]
mov ecx, dword [ebp - 0x34]
mov dh, byte [ecx]
mov dl, byte [ecx + 1]
mov dword [ebp - 0x38], eax
mov cl, byte [ebp + eax - 0x13c]
add cl, byte [ebp - 0x139]
movzx esi, cl
mov ch, byte [ebp + esi - 0x13c]
movzx edi, byte [ebp - 0x135]
mov eax, ebx
mov dword [ebp - 0x24], ebx
movzx ebx, byte [ebp + ebx - 0x13c]
mov byte [ebp + eax - 0x13c], ch
mov ch, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ch
mov ch, byte [ebp - 0x28]
inc ch
movzx eax, ch
mov ch, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x13c], ch
mov byte [ebp + eax - 0x13c], bl
add dl, 0xbf
shl dh, 4
add dh, 0x10
or dh, dl
movzx eax, byte [ebp + esi - 0x13c]
add eax, ebx
mov esi, 0xff
and eax, esi
movzx esi, dh
mov dword [ebp - 0x2c], esi
xor dh, byte [ebp + eax - 0x13c]
movzx eax, byte [ebp + edi - 0x13c]
mov esi, dword [ebp - 0x24]
movzx edi, byte [ebp + esi - 0x13c]
add edi, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x13c]
add eax, edi
mov esi, 0xff
and eax, esi
movzx eax, byte [ebp + eax - 0x13c]
xor dh, byte [ebp + eax - 0x13c]
add cl, bl
mov esi, dword [ebp - 0x34]
mov ah, byte [esi + 2]
mov dl, byte [esi + 3]
mov byte [ebp - 0x24], cl
movzx esi, cl
mov al, byte [ebp + esi - 0x13c]
mov ecx, dword [ebp - 0x2c]
movzx ebx, byte [ebp + ecx - 0x13c]
mov byte [ebp + ecx - 0x13c], al
movzx edi, dh
mov al, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], al
mov al, byte [ebp - 0x28]
add al, 2
movzx ecx, al
mov al, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], al
mov byte [ebp + ecx - 0x13c], bl
movzx ecx, byte [ebp + edi - 0x13c]
mov edi, dword [ebp - 0x2c]
movzx edi, byte [ebp + edi - 0x13c]
add edi, ecx
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x20], al
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edi
add dl, 0xbf
shl ah, 4
add ah, 0x10
or ah, dl
movzx edi, byte [ebp + esi - 0x13c]
add edi, ebx
mov edx, 0xff
and edi, edx
mov dh, byte [ebp + edi - 0x13c]
xor dh, ah
mov edi, 0xff
and ecx, edi
movzx ecx, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x181], dh
xor edi, edi
mov al, byte [ebp - 0x24]
add al, bl
mov ebx, edi
mov edi, dword [ebp - 0x34]
mov cl, byte [edi + ebx*2 + 4]
mov byte [ebp - 0x2c], cl
movzx esi, ah
mov ah, byte [edi + ebx*2 + 5]
movzx ecx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x24], al
movzx ecx, al
mov dword [ebp - 0x30], ecx
mov al, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x13c], al
movzx edx, dh
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + ecx - 0x13c], al
mov edi, dword [ebp - 0x38]
add edi, ebx
add edi, 3
mov ecx, 0xff
and edi, ecx
mov al, byte [ebp + edi - 0x13c]
mov byte [ebp + edx - 0x13c], al
mov ecx, dword [ebp - 0x28]
mov byte [ebp + edi - 0x13c], cl
mov al, byte [ebp - 0x20]
add al, byte [ebp + ecx - 0x13c]
movzx edx, byte [ebp + edx - 0x13c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov byte [ebp - 0x20], al
movzx edx, al
movzx edi, byte [ebp + edx - 0x13c]
add edi, esi
mov al, byte [ebp - 0x2c]
shl al, 4
add al, 0x10
add ah, 0xbf
or ah, al
mov ecx, dword [ebp - 0x30]
movzx ecx, byte [ebp + ecx - 0x13c]
mov esi, dword [ebp - 0x28]
add ecx, esi
mov edx, 0xff
and ecx, edx
mov dh, byte [ebp + ecx - 0x13c]
xor dh, ah
mov ecx, 0xff
and edi, ecx
movzx ecx, byte [ebp + edi - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + ebx - 0x180], dh
inc ebx
mov edi, ebx
cmp ebx, 6
mov ebx, esi
jne 0x41f2da
mov ecx, dword [ebp - 0x34]
mov al, byte [ecx + 0x10]
mov byte [ebp - 0x2c], al
mov al, byte [ecx + 0x11]
mov byte [ebp - 0x3c], al
mov al, byte [ebp - 0x24]
add al, bl
mov byte [ebp - 0x24], al
movzx ecx, ah
movzx esi, al
mov bl, byte [ebp + esi - 0x13c]
mov eax, ecx
mov dword [ebp - 0x28], ecx
movzx ecx, byte [ebp + ecx - 0x13c]
mov byte [ebp + eax - 0x13c], bl
movzx ebx, dh
mov dh, byte [ebp + ebx - 0x13c]
mov byte [ebp + esi - 0x13c], dh
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], edi
add eax, edi
add eax, 3
mov edx, 0xff
and eax, edx
mov edi, 0xff
mov dh, byte [ebp + eax - 0x13c]
mov byte [ebp + ebx - 0x13c], dh
mov byte [ebp + eax - 0x13c], cl
mov al, byte [ebp - 0x3c]
add al, 0xbf
mov dh, byte [ebp - 0x2c]
shl dh, 4
add dh, 0x10
or dh, al
movzx eax, byte [ebp + esi - 0x13c]
add eax, ecx
mov esi, ecx
and eax, edi
mov edi, 0xff
movzx ecx, dh
mov dword [ebp - 0x2c], ecx
xor dh, byte [ebp + eax - 0x13c]
movzx eax, byte [ebp + ebx - 0x13c]
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, eax
mov dl, byte [ebp - 0x20]
mov ebx, esi
add dl, byte [ebp + esi - 0x13c]
movzx eax, dl
movzx eax, byte [ebp + eax - 0x13c]
add eax, ecx
and eax, edi
movzx eax, byte [ebp + eax - 0x13c]
xor dh, byte [ebp + eax - 0x13c]
mov cl, byte [ebp - 0x24]
add cl, bl
mov byte [ebp - 0x17a], dh
mov esi, dword [ebp - 0x34]
mov ah, byte [esi + 0x12]
mov al, byte [esi + 0x13]
mov byte [ebp - 0x24], cl
movzx ecx, cl
mov bl, byte [ebp + ecx - 0x13c]
mov dword [ebp - 0x3c], ecx
mov esi, dword [ebp - 0x2c]
movzx edi, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], edi
mov byte [ebp + esi - 0x13c], bl
movzx esi, dh
mov dh, byte [ebp + esi - 0x13c]
mov byte [ebp + ecx - 0x13c], dh
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
lea ebx, [edi + ecx]
add ebx, 4
mov edi, 0xff
and ebx, edi
mov dh, byte [ebp + ebx - 0x13c]
mov byte [ebp + esi - 0x13c], dh
mov ecx, dword [ebp - 0x28]
mov byte [ebp + ebx - 0x13c], cl
movzx esi, byte [ebp + esi - 0x13c]
mov edi, dword [ebp - 0x2c]
movzx edi, byte [ebp + edi - 0x13c]
add edi, esi
add dl, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x20], dl
movzx ebx, dl
movzx esi, byte [ebp + ebx - 0x13c]
add esi, edi
add al, 0xbf
shl ah, 4
add ah, 0x10
or ah, al
mov edx, dword [ebp - 0x3c]
movzx ebx, byte [ebp + edx - 0x13c]
add ebx, ecx
mov edx, 0xff
and ebx, edx
mov edi, 0xff
mov dh, byte [ebp + ebx - 0x13c]
xor dh, ah
and esi, edi
movzx ebx, byte [ebp + esi - 0x13c]
xor dh, byte [ebp + ebx - 0x13c]
mov ebx, ecx
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x30]
add ecx, esi
mov byte [ebp - 0x179], dh
add cl, 5
mov dword [ebp - 0x2c], ecx
xor edi, edi
mov cl, byte [ebp - 0x24]
add cl, bl
mov ebx, dword [ebp - 0x34]
mov al, byte [ebx + edi*2 + 0x14]
movzx esi, ah
mov ah, byte [ebx + edi*2 + 0x15]
movzx ebx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], ebx
mov byte [ebp - 0x24], cl
movzx ecx, cl
mov dword [ebp - 0x30], ecx
mov dl, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x13c], dl
movzx edx, dh
mov bl, byte [ebp + edx - 0x13c]
mov byte [ebp + ecx - 0x13c], bl
movzx ebx, byte [ebp - 0x2c]
mov cl, byte [ebp + ebx - 0x13c]
mov byte [ebp + edx - 0x13c], cl
mov ecx, dword [ebp - 0x28]
mov byte [ebp + ebx - 0x13c], cl
mov bl, byte [ebp - 0x20]
add bl, byte [ebp + ecx - 0x13c]
movzx ecx, byte [ebp + edx - 0x13c]
movzx edx, byte [ebp + esi - 0x13c]
add edx, ecx
mov byte [ebp - 0x20], bl
movzx ecx, bl
mov ebx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
shl al, 4
add al, 0x10
add ah, 0xbf
or ah, al
mov edx, dword [ebp - 0x30]
movzx edx, byte [ebp + edx - 0x13c]
add edx, ebx
mov esi, 0xff
and edx, esi
mov dh, byte [ebp + edx - 0x13c]
xor dh, ah
and ecx, esi
movzx ecx, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x178], dh
inc edi
mov ecx, dword [ebp - 0x2c]
inc cl
mov dword [ebp - 0x2c], ecx
cmp edi, 7
jne 0x41f5aa
mov byte [ebp - 0x171], 0
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x181]
lea esi, [ebp - 0x13c]
mov ecx, esi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 3
mov ecx, dword [ebp - 0x140]
push 0
push esi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 0xc], eax
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x41f71d
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x41f713
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420ce2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
xorpd xmm3, xmm3
movsd xmm5, qword [0x612d90]
movsd xmm6, qword [str._npW_8]
movsd xmm7, qword [0x612da0]
xorpd xmm0, xmm0
movsd xmm4, qword [0x612228]
movapd xmm1, xmm3
mulsd xmm1, qword [0x612d80]
mulsd xmm1, xmm3
movapd xmm2, xmm3
mulsd xmm2, xmm3
subsd xmm1, xmm2
movapd xmm2, xmm3
mulsd xmm2, qword [0x6126b0]
mulsd xmm2, xmm3
addsd xmm2, qword [0x612d88]
divsd xmm1, xmm2
addsd xmm1, xmm0
movapd xmm2, xmm3
mulsd xmm2, xmm5
addsd xmm2, xmm1
movapd xmm0, xmm6
cmpltsd xmm0, xmm1
andpd xmm2, xmm0
andnpd xmm0, xmm1
orpd xmm0, xmm2
addsd xmm3, xmm4
ucomisd xmm7, xmm3
ja 0x41f745
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x41f7fa
inc esi
retf
lea edx, [0x41f7b6]
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x41f812
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x41f7d2]
mov dword [ebp - 0x2c], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
mov dword [ebp - 0x34], ecx
mov edi, 0xff
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x28], edx
xor edx, edx
inc edx
cmp edi, 2
jb 0x41f885
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, edi
jb 0x41f87e
mov dword [ebp - 0x20], edi
mov edi, 0xc
cmp ecx, 3
ja case.default.0x41f892
jmp dword [ecx*4 + 0x612f08]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x41f8c4
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x34]
jmp 0x41f8c4
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x30]
jmp 0x41f8e9
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x41f8e9
movzx eax, bl
mov bl, byte [ebp + eax - 0x13c]
mov eax, dword [ebp - 0x2c]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x21
cmp ecx, 0x20
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx esi, bl
mov eax, edx
and eax, esi
dec edi
je 0x41f918
cmp eax, dword [ebp - 0x20]
ja 0x41f88d
jmp 0x41f91f
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov edi, dword [ebp - 0x20]
cmp edi, eax
mov edx, dword [ebp - 0x28]
je 0x41f956
mov dl, byte [ebp + edi - 0x13c]
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x13c], dl
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + eax - 0x13c], dl
xor byte [ebp + edi - 0x13c], dl
mov edx, dword [ebp - 0x28]
dec edi
jne 0x41f873
movzx ebx, byte [ebp - 0x13b]
mov dword [ebp - 0x20], ebx
mov ecx, edx
mov al, byte [ebp - 0x137]
mov byte [ebp - 0x24], al
movzx esi, byte [ebp + esi - 0x13c]
mov al, byte [edx]
mov byte [ebp - 0x2c], al
mov al, byte [ebp + ebx - 0x13c]
add al, byte [ebp - 0x139]
mov cl, byte [edx + 1]
mov byte [ebp - 0x30], cl
movzx edi, al
mov ah, byte [ebp + edi - 0x13c]
movzx edx, byte [ebp - 0x135]
movzx ecx, byte [ebp + esi - 0x13c]
mov byte [ebp + esi - 0x13c], ah
mov ah, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], ah
mov ah, bl
inc ah
movzx ebx, ah
mov ah, byte [ebp + ebx - 0x13c]
mov byte [ebp + edx - 0x13c], ah
mov byte [ebp + ebx - 0x13c], cl
mov ebx, ecx
movzx ecx, byte [ebp + edx - 0x13c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, ecx
mov dword [ebp - 0x34], ebx
mov dh, byte [ebp - 0x24]
add dh, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x24], dh
movzx ecx, dh
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, esi
mov esi, dword [ebp - 0x28]
mov dl, byte [ebp - 0x30]
add dl, 0x40
mov ah, byte [ebp - 0x2c]
shl ah, 4
add ah, 0x10
or ah, dl
movzx edi, byte [ebp + edi - 0x13c]
add edi, ebx
mov ebx, 0xff
and edi, ebx
mov dh, byte [ebp + edi - 0x13c]
xor dh, ah
mov bl, ah
mov edi, 0xff
and ecx, edi
movzx ecx, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
add al, byte [ebp - 0x34]
mov ah, byte [esi + 2]
mov dl, byte [esi + 3]
movzx edi, bl
mov dword [ebp - 0x2c], edi
movzx esi, al
mov cl, byte [ebp + esi - 0x13c]
movzx ebx, byte [ebp + edi - 0x13c]
mov byte [ebp + edi - 0x13c], cl
movzx edi, dh
mov dh, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], dh
mov ecx, dword [ebp - 0x20]
mov dh, cl
add dh, 2
movzx ecx, dh
mov dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov byte [ebp + ecx - 0x13c], bl
movzx ecx, byte [ebp + edi - 0x13c]
mov edi, dword [ebp - 0x2c]
movzx edi, byte [ebp + edi - 0x13c]
add edi, ecx
mov cl, byte [ebp - 0x24]
add cl, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x24], cl
movzx ecx, cl
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edi
add dl, 0x40
shl ah, 4
add ah, 0x10
or ah, dl
movzx edi, byte [ebp + esi - 0x13c]
mov esi, ebx
add edi, ebx
mov ebx, 0xff
and edi, ebx
mov dh, byte [ebp + edi - 0x13c]
xor dh, ah
and ecx, ebx
movzx ecx, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x18f], dh
mov ecx, dword [ebp - 0x20]
add cl, 3
movzx ecx, cl
mov dword [ebp - 0x2c], ecx
xor ebx, ebx
mov ecx, esi
add al, cl
mov ecx, dword [ebp - 0x28]
mov cl, byte [ecx + ebx*2 + 4]
movzx esi, ah
mov edi, dword [ebp - 0x28]
mov ah, byte [edi + ebx*2 + 5]
mov dword [ebp - 0x30], ebx
movzx edi, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x20], edi
movzx edi, al
mov dword [ebp - 0x34], edi
mov ch, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ch
movzx edx, dh
mov ch, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], ch
mov edi, dword [ebp - 0x2c]
add edi, ebx
mov ebx, 0xff
and edi, ebx
mov ch, byte [ebp + edi - 0x13c]
mov byte [ebp + edx - 0x13c], ch
mov ebx, dword [ebp - 0x20]
mov byte [ebp + edi - 0x13c], bl
mov ch, byte [ebp - 0x24]
add ch, byte [ebp + ebx - 0x13c]
movzx edx, byte [ebp + edx - 0x13c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov byte [ebp - 0x24], ch
movzx edx, ch
movzx edi, byte [ebp + edx - 0x13c]
add edi, esi
shl cl, 4
add cl, 0x10
add ah, 0x40
or ah, cl
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x13c]
mov esi, ebx
add ecx, ebx
mov ebx, 0xff
and ecx, ebx
mov dh, byte [ebp + ecx - 0x13c]
xor dh, ah
and edi, ebx
movzx ecx, byte [ebp + edi - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov ecx, dword [ebp - 0x30]
mov byte [ebp + ecx - 0x18e], dh
inc ecx
mov ebx, ecx
cmp ecx, 5
jne 0x41fb27
add dword [ebp - 0x2c], ebx
xor edi, edi
mov ecx, esi
add al, cl
mov byte [ebp - 0x30], al
mov esi, dword [ebp - 0x28]
mov cl, byte [esi + edi*2 + 0xe]
movzx ebx, ah
mov al, byte [esi + edi*2 + 0xf]
mov byte [ebp - 0x34], al
movzx eax, byte [ebp + ebx - 0x13c]
mov dword [ebp - 0x20], eax
movzx eax, byte [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov dl, byte [ebp + eax - 0x13c]
mov byte [ebp + ebx - 0x13c], dl
movzx edx, dh
mov ch, byte [ebp + edx - 0x13c]
mov byte [ebp + eax - 0x13c], ch
movzx esi, byte [ebp - 0x2c]
mov ch, byte [ebp + esi - 0x13c]
mov byte [ebp + edx - 0x13c], ch
mov eax, dword [ebp - 0x20]
mov byte [ebp + esi - 0x13c], al
mov ch, byte [ebp - 0x24]
add ch, byte [ebp + eax - 0x13c]
mov al, byte [ebp - 0x30]
movzx edx, byte [ebp + edx - 0x13c]
movzx esi, byte [ebp + ebx - 0x13c]
add esi, edx
mov byte [ebp - 0x24], ch
movzx edx, ch
movzx ebx, byte [ebp + edx - 0x13c]
add ebx, esi
shl cl, 4
add cl, 0x10
mov ah, byte [ebp - 0x34]
add ah, 0x40
or ah, cl
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
mov edx, dword [ebp - 0x20]
mov esi, edx
add ecx, edx
mov edx, 0xff
and ecx, edx
mov dh, byte [ebp + ecx - 0x13c]
xor dh, ah
mov ecx, 0xff
and ebx, ecx
movzx ecx, byte [ebp + ebx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x189], dh
inc edi
mov ecx, dword [ebp - 0x2c]
inc cl
mov dword [ebp - 0x2c], ecx
cmp edi, 7
jne 0x41fc15
mov byte [ebp - 0x182], 0
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18f]
lea esi, [ebp - 0x13c]
mov ecx, esi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 4
mov ecx, dword [ebp - 0x140]
push 0
push esi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 4], eax
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x41fd99
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x41fd8f
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420ce2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
xorpd xmm4, xmm4
movsd xmm5, qword [0x612dc0]
movsd xmm6, qword [0x612dc8]
movsd xmm7, qword [0x612160]
movsd xmm2, qword [0x612dd0]
xorpd xmm0, xmm0
movapd xmm1, xmm4
mulsd xmm1, qword [0x612da8]
mulsd xmm1, xmm4
movapd xmm3, xmm4
mulsd xmm3, xmm4
subsd xmm1, xmm3
movapd xmm3, xmm4
mulsd xmm3, qword [0x612db0]
mulsd xmm3, xmm4
addsd xmm3, qword [0x612db8]
divsd xmm1, xmm3
addsd xmm1, xmm0
movapd xmm3, xmm4
mulsd xmm3, xmm5
addsd xmm3, xmm1
movapd xmm0, xmm6
cmpltsd xmm0, xmm1
andpd xmm3, xmm0
andnpd xmm0, xmm1
orpd xmm0, xmm3
addsd xmm4, xmm7
ucomisd xmm2, xmm4
ja 0x41fdc1
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x41fe6c
mov eax, dword [0x9ea699b2]
scasd eax, dword es:[edi]
mov eax, dword [0x9da997ac]
stosb byte es:[edi], al
popfd
lodsd eax, dword [esi]
xchg edi, eax
mov bl, 0xa0
mov ch, 0x99
scasb al, byte es:[edi]
lcall 0x6559, 0x29ab92b5
pop esi
popal
jp 0x41feae
push eax
pop esp
cmp byte [ecx], ch
arpl word [esi + 0x4f], bx
push ebx
sub dword [esi + ecx*2 + 0x6e], ebp
jb 0x41feb5
inc esp
inc ebx
mov dword [ebp - 0x144], eax
jmp 0x42044e
lea edx, [0x41fe32]
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x41fe84
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x41fe4a]
ret 0xd8d
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
mov dword [ebp - 0x34], ecx
mov esi, 0xff
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x30], edx
xor edx, edx
inc edx
cmp esi, 2
jb 0x41fef7
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x41fef0
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x41ff04
jmp dword [ecx*4 + 0x612f18]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x41ff36
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x34]
jmp 0x41ff36
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x2c]
jmp 0x41ff5b
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x41ff5b
movzx eax, bl
mov bl, byte [ebp + eax - 0x13c]
mov eax, dword [ebp - 0x28]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x1b
cmp ecx, 0x1a
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x41ff8a
cmp eax, dword [ebp - 0x20]
ja 0x41feff
jmp 0x41ff91
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
mov edx, dword [ebp - 0x30]
je 0x41ffc8
mov dl, byte [ebp + esi - 0x13c]
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], dl
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + eax - 0x13c], dl
xor byte [ebp + esi - 0x13c], dl
mov edx, dword [ebp - 0x30]
dec esi
jne 0x41fee5
movzx eax, byte [ebp - 0x13b]
mov dword [ebp - 0x24], eax
mov esi, eax
mov al, byte [ebp - 0x137]
movzx ecx, byte [ebp + edi - 0x13c]
mov ah, byte [edx]
mov bl, byte [edx + 1]
mov byte [ebp - 0x28], bl
mov dl, byte [ebp + esi - 0x13c]
add dl, byte [ebp - 0x139]
movzx esi, dl
mov dh, byte [ebp + esi - 0x13c]
movzx edi, byte [ebp - 0x135]
mov dword [ebp - 0x2c], ecx
movzx ebx, byte [ebp + ecx - 0x13c]
mov dword [ebp - 0x20], ebx
mov byte [ebp + ecx - 0x13c], dh
mov bl, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], bl
mov ecx, dword [ebp - 0x24]
mov ebx, ecx
inc bl
movzx ebx, bl
mov dh, byte [ebp + ebx - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov ecx, dword [ebp - 0x20]
mov byte [ebp + ebx - 0x13c], cl
mov cl, byte [ebp - 0x28]
add cl, 0x5a
shl ah, 4
add ah, 0xe0
or ah, cl
movzx ecx, byte [ebp + esi - 0x13c]
mov ebx, dword [ebp - 0x20]
add ecx, ebx
mov esi, 0xff
and ecx, esi
movzx esi, ah
mov dword [ebp - 0x28], esi
xor ah, byte [ebp + ecx - 0x13c]
movzx ecx, byte [ebp + edi - 0x13c]
mov esi, dword [ebp - 0x2c]
movzx edi, byte [ebp + esi - 0x13c]
add edi, ecx
add al, byte [ebp + ebx - 0x13c]
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edi
mov esi, 0xff
and ecx, esi
movzx ecx, byte [ebp + ecx - 0x13c]
xor ah, byte [ebp + ecx - 0x13c]
add dl, bl
mov ecx, dword [ebp - 0x30]
mov dh, byte [ecx + 2]
mov cl, byte [ecx + 3]
movzx esi, dl
mov ch, byte [ebp + esi - 0x13c]
mov edi, dword [ebp - 0x28]
movzx ebx, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x20], ebx
mov byte [ebp + edi - 0x13c], ch
movzx edi, ah
mov dword [ebp - 0x34], edi
mov ah, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ah
mov ebx, dword [ebp - 0x24]
mov ah, bl
add ah, 2
movzx edi, ah
mov ah, byte [ebp + edi - 0x13c]
mov ebx, dword [ebp - 0x34]
mov byte [ebp + ebx - 0x13c], ah
mov ebx, dword [ebp - 0x20]
mov byte [ebp + edi - 0x13c], bl
add cl, 0x5a
shl dh, 4
add dh, 0xe0
or dh, cl
movzx ecx, byte [ebp + esi - 0x13c]
add ecx, ebx
mov esi, 0xff
and ecx, esi
movzx esi, dh
mov dword [ebp - 0x2c], esi
xor dh, byte [ebp + ecx - 0x13c]
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x13c]
mov esi, dword [ebp - 0x28]
movzx ebx, byte [ebp + esi - 0x13c]
add ebx, ecx
mov ecx, dword [ebp - 0x20]
add al, byte [ebp + ecx - 0x13c]
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, ebx
mov edi, dword [ebp - 0x30]
mov ebx, 0xff
and ecx, ebx
movzx ecx, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
add dl, byte [ebp - 0x20]
mov byte [ebp - 0x170], dh
mov ah, byte [edi + 4]
mov cl, byte [edi + 5]
mov byte [ebp - 0x20], cl
movzx esi, dl
mov ch, byte [ebp + esi - 0x13c]
mov edi, dword [ebp - 0x2c]
movzx ebx, byte [ebp + edi - 0x13c]
mov byte [ebp + edi - 0x13c], ch
movzx edi, dh
mov dh, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], dh
mov ecx, dword [ebp - 0x24]
mov dh, cl
add dh, 3
movzx ecx, dh
mov dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov byte [ebp + ecx - 0x13c], bl
movzx ecx, byte [ebp + edi - 0x13c]
mov edi, dword [ebp - 0x2c]
movzx edi, byte [ebp + edi - 0x13c]
add edi, ecx
add al, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x28], al
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edi
mov al, byte [ebp - 0x20]
add al, 0x5a
shl ah, 4
add ah, 0xe0
or ah, al
movzx edi, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x20], ebx
add edi, ebx
mov esi, 0xff
and edi, esi
mov dh, byte [ebp + edi - 0x13c]
xor dh, ah
and ecx, esi
movzx ecx, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x16f], dh
mov ecx, dword [ebp - 0x24]
add cl, 4
movzx ecx, cl
mov dword [ebp - 0x24], ecx
xor edi, edi
mov ecx, dword [ebp - 0x30]
add dl, byte [ebp - 0x20]
mov byte [ebp - 0x2c], dl
movzx esi, ah
mov ah, byte [ecx + edi*2 + 6]
mov al, byte [ecx + edi*2 + 7]
mov byte [ebp - 0x34], al
movzx ecx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x20], ecx
movzx ecx, dl
mov dword [ebp - 0x38], ecx
mov dl, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x13c], dl
movzx edx, dh
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + ecx - 0x13c], al
mov ebx, dword [ebp - 0x24]
add ebx, edi
mov ecx, 0xff
and ebx, ecx
mov al, byte [ebp + ebx - 0x13c]
mov byte [ebp + edx - 0x13c], al
mov al, byte [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
mov byte [ebp + ebx - 0x13c], cl
add al, byte [ebp + ecx - 0x13c]
movzx edx, byte [ebp + edx - 0x13c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov byte [ebp - 0x28], al
movzx edx, al
movzx ebx, byte [ebp + edx - 0x13c]
mov dl, byte [ebp - 0x2c]
add ebx, esi
mov cl, byte [ebp - 0x34]
add cl, 0x5a
shl ah, 4
add ah, 0xe0
or ah, cl
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, dword [ebp - 0x20]
mov esi, 0xff
and ecx, esi
mov dh, byte [ebp + ecx - 0x13c]
xor dh, ah
and ebx, esi
movzx ecx, byte [ebp + ebx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x16e], dh
inc edi
cmp edi, 4
jne 0x420271
add dword [ebp - 0x24], edi
xor esi, esi
add dl, byte [ebp - 0x20]
mov byte [ebp - 0x2c], dl
movzx ecx, ah
mov edi, dword [ebp - 0x30]
mov bl, byte [edi + esi*2 + 0xe]
mov al, byte [edi + esi*2 + 0xf]
mov byte [ebp - 0x34], al
movzx eax, byte [ebp + ecx - 0x13c]
mov dword [ebp - 0x20], eax
movzx edi, dl
mov dword [ebp - 0x38], edi
mov dl, byte [ebp + edi - 0x13c]
mov byte [ebp + ecx - 0x13c], dl
movzx edx, dh
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], al
movzx edi, byte [ebp - 0x24]
mov al, byte [ebp + edi - 0x13c]
mov byte [ebp + edx - 0x13c], al
mov bh, byte [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov byte [ebp + edi - 0x13c], al
add bh, byte [ebp + eax - 0x13c]
movzx edx, byte [ebp + edx - 0x13c]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
mov byte [ebp - 0x28], bh
movzx edx, bh
movzx edi, byte [ebp + edx - 0x13c]
mov dl, byte [ebp - 0x2c]
add edi, ecx
mov cl, byte [ebp - 0x34]
add cl, 0x5a
shl bl, 4
add bl, 0xe0
or bl, cl
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, eax
mov eax, 0xff
and ecx, eax
mov dh, byte [ebp + ecx - 0x13c]
xor dh, bl
and edi, eax
movzx ecx, byte [ebp + edi - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x16a], dh
inc esi
mov eax, dword [ebp - 0x24]
inc al
mov dword [ebp - 0x24], eax
mov ah, bl
cmp esi, 5
jne 0x42035e
mov byte [ebp - 0x165], 0
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x170]
lea esi, [ebp - 0x13c]
mov ecx, esi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 5
mov ecx, dword [ebp - 0x140]
push 0
push esi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx], eax
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x4204d7
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x4204cd
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420ce2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
xorpd xmm3, xmm3
movsd xmm5, qword [0x612df0]
movsd xmm6, qword [0x612df8]
movsd xmm7, qword [0x612e00]
xorpd xmm0, xmm0
movsd xmm4, qword [0x612408]
movapd xmm1, xmm3
mulsd xmm1, qword [0x612dd8]
mulsd xmm1, xmm3
movapd xmm2, xmm3
mulsd xmm2, xmm3
subsd xmm1, xmm2
movapd xmm2, xmm3
mulsd xmm2, qword [0x612de0]
mulsd xmm2, xmm3
addsd xmm2, qword [0x612de8]
divsd xmm1, xmm2
addsd xmm1, xmm0
movapd xmm2, xmm3
mulsd xmm2, xmm5
addsd xmm2, xmm1
movapd xmm0, xmm6
cmpltsd xmm0, xmm1
andpd xmm2, xmm0
andnpd xmm0, xmm1
orpd xmm0, xmm2
addsd xmm3, xmm4
ucomisd xmm7, xmm3
ja 0x4204ff
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x4205a9
sub ebp, dword [edx]
and al, 0x2f
and ebp, dword [edi]
insb byte es:[edi], dx
je 0x4205ea
jle 0x4205c8
jle 0x4205a2
jl 0x4205d5
inc ebx
xor dword [eax + esi*8], esp
and al, 0xee
jmp 0xeb6de6b5
invalid
lea eax, [0x420582]
mov dword [ebp - 0x34], eax
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm1
add eax, 0xfffffec4
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
add byte [ecx], al
add byte [eax], al
jne 0x4205c4
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
sal edx, 1
cvttps2pi mm0, xmm2
lea ecx, [0x420570]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
mov dword [ebp - 0x30], ecx
mov esi, 0xff
xor ecx, ecx
xor ebx, ebx
xor edx, edx
inc edx
cmp esi, 2
jb 0x420634
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x42062d
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x420641
jmp dword [ecx*4 + 0x612f28]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x420673
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x30]
jmp 0x420673
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x2c]
jmp 0x420698
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x420698
movzx eax, bl
mov bl, byte [ebp + eax - 0x13c]
mov eax, dword [ebp - 0x28]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x16
cmp ecx, 0x15
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x4206c7
cmp eax, dword [ebp - 0x20]
ja 0x42063c
jmp 0x4206ce
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
je 0x4206ff
mov dl, byte [ebp + esi - 0x13c]
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], dl
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + eax - 0x13c], dl
xor byte [ebp + esi - 0x13c], dl
dec esi
jne 0x420622
movzx eax, byte [ebp - 0x13b]
mov dword [ebp - 0x2c], eax
mov cl, byte [ebp - 0x137]
mov byte [ebp - 0x20], cl
movzx edi, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x30], edi
mov edx, dword [ebp - 0x34]
mov cl, byte [edx]
mov bh, byte [ebp + eax - 0x13c]
add bh, byte [ebp - 0x139]
mov ch, byte [edx + 1]
movzx esi, bh
mov bl, byte [ebp + esi - 0x13c]
movzx eax, byte [ebp - 0x135]
mov dword [ebp - 0x24], eax
movzx edx, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x38], edx
mov byte [ebp + edi - 0x13c], bl
mov dl, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], dl
mov eax, dword [ebp - 0x2c]
mov edx, eax
inc dl
movzx edi, dl
mov al, byte [ebp + edi - 0x13c]
mov edx, dword [ebp - 0x24]
mov byte [ebp + edx - 0x13c], al
mov edx, dword [ebp - 0x38]
mov byte [ebp + edi - 0x13c], dl
add ch, 0x1f
shl cl, 4
add cl, 0xc0
or cl, ch
movzx eax, byte [ebp + esi - 0x13c]
add eax, edx
mov esi, 0xff
and eax, esi
movzx edi, cl
mov dword [ebp - 0x28], edi
xor cl, byte [ebp + eax - 0x13c]
mov bl, byte [ebp - 0x20]
add bl, byte [ebp + edx - 0x13c]
mov byte [ebp - 0x20], bl
mov edi, edx
mov eax, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0x13c]
mov edx, dword [ebp - 0x30]
movzx edx, byte [ebp + edx - 0x13c]
add edx, eax
movzx eax, bl
movzx eax, byte [ebp + eax - 0x13c]
add eax, edx
and eax, esi
movzx eax, byte [ebp + eax - 0x13c]
xor cl, byte [ebp + eax - 0x13c]
mov eax, edi
add bh, al
mov eax, dword [ebp - 0x34]
mov dh, byte [eax + 2]
mov al, byte [eax + 3]
mov byte [ebp - 0x30], al
mov byte [ebp - 0x24], bh
movzx eax, bh
mov ch, byte [ebp + eax - 0x13c]
mov dword [ebp - 0x38], eax
mov esi, dword [ebp - 0x28]
movzx ebx, byte [ebp + esi - 0x13c]
mov byte [ebp + esi - 0x13c], ch
movzx edi, cl
mov dl, byte [ebp + edi - 0x13c]
mov byte [ebp + eax - 0x13c], dl
mov ecx, dword [ebp - 0x2c]
mov dl, cl
add dl, 2
movzx ecx, dl
mov dl, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], dl
mov byte [ebp + ecx - 0x13c], bl
movzx ecx, byte [ebp + edi - 0x13c]
movzx edi, byte [ebp + esi - 0x13c]
add edi, ecx
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x20], al
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edi
mov al, byte [ebp - 0x30]
add al, 0x1f
shl dh, 4
add dh, 0xc0
or dh, al
mov eax, dword [ebp - 0x38]
movzx edi, byte [ebp + eax - 0x13c]
mov dword [ebp - 0x28], ebx
add edi, ebx
mov eax, 0xff
and edi, eax
mov dl, byte [ebp + edi - 0x13c]
xor dl, dh
and ecx, eax
movzx ecx, byte [ebp + ecx - 0x13c]
xor dl, byte [ebp + ecx - 0x13c]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x164], dl
add al, 4
xor ebx, ebx
mov byte [ebp - 0x30], al
mov al, byte [ebp - 0x24]
add al, byte [ebp - 0x28]
movzx esi, dh
mov ecx, dword [ebp - 0x34]
mov dh, byte [ecx + ebx*2 + 4]
mov cl, byte [ecx + ebx*2 + 5]
mov byte [ebp - 0x2c], cl
movzx ecx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x24], al
movzx edi, al
mov dword [ebp - 0x38], edi
mov ch, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ch
movzx eax, dl
mov dl, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x13c], dl
mov dl, byte [ebp - 0x30]
dec dl
movzx edi, dl
mov dl, byte [ebp + edi - 0x13c]
mov byte [ebp + eax - 0x13c], dl
mov ecx, dword [ebp - 0x28]
mov byte [ebp + edi - 0x13c], cl
movzx eax, byte [ebp + eax - 0x13c]
movzx edi, byte [ebp + esi - 0x13c]
mov esi, ecx
add edi, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x13c]
add eax, edi
mov cl, byte [ebp - 0x2c]
add cl, 0x1f
shl dh, 4
add dh, 0xc0
or dh, cl
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, esi
mov edi, 0xff
and ecx, edi
mov dl, byte [ebp + ecx - 0x13c]
mov ch, byte [ebp - 0x30]
xor dl, dh
and eax, edi
movzx eax, byte [ebp + eax - 0x13c]
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + ebx - 0x163], dl
mov al, ch
inc al
inc ebx
cmp ebx, 4
jne 0x4208da
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
mov cl, byte [eax + 0xc]
mov ah, byte [eax + 0xd]
movzx esi, dh
mov dword [ebp - 0x38], esi
mov al, byte [ebp - 0x24]
add al, byte [ebp - 0x28]
movzx ebx, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x24], al
movzx edi, al
mov dh, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], dh
movzx esi, dl
mov dl, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], dl
movzx edx, ch
mov ch, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], ch
mov byte [ebp + edx - 0x13c], bl
add ah, 0x1f
shl cl, 4
add cl, 0xc0
or cl, ah
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x13c]
movzx edx, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x28], ebx
add edx, ebx
movzx esi, byte [ebp + esi - 0x13c]
mov edi, dword [ebp - 0x38]
movzx ebx, byte [ebp + edi - 0x13c]
add ebx, esi
mov byte [ebp - 0x20], al
movzx esi, al
movzx edi, byte [ebp + esi - 0x13c]
add edi, ebx
mov eax, 0xff
and edx, eax
mov dl, byte [ebp + edx - 0x13c]
xor dl, cl
and edi, eax
movzx edi, byte [ebp + edi - 0x13c]
xor dl, byte [ebp + edi - 0x13c]
mov byte [ebp - 0x15f], dl
xor edi, edi
mov ebx, dword [ebp - 0x34]
mov al, byte [ebp - 0x24]
add al, byte [ebp - 0x28]
movzx esi, cl
mov cl, byte [ebx + edi*2 + 0xe]
mov ah, byte [ebx + edi*2 + 0xf]
mov byte [ebp - 0x30], ah
movzx ebx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], ebx
mov byte [ebp - 0x24], al
movzx eax, al
mov dword [ebp - 0x38], eax
mov dh, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], dh
movzx edx, dl
mov bl, byte [ebp + edx - 0x13c]
mov byte [ebp + eax - 0x13c], bl
movzx ebx, byte [ebp - 0x2c]
mov ch, byte [ebp + ebx - 0x13c]
mov byte [ebp + edx - 0x13c], ch
mov eax, dword [ebp - 0x28]
mov byte [ebp + ebx - 0x13c], al
mov ch, byte [ebp - 0x20]
add ch, byte [ebp + eax - 0x13c]
movzx edx, byte [ebp + edx - 0x13c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov byte [ebp - 0x20], ch
movzx edx, ch
movzx ebx, byte [ebp + edx - 0x13c]
add ebx, esi
mov al, byte [ebp - 0x30]
add al, 0x1f
shl cl, 4
add cl, 0xc0
or cl, al
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0x13c]
add eax, dword [ebp - 0x28]
mov esi, 0xff
and eax, esi
mov dl, byte [ebp + eax - 0x13c]
xor dl, cl
and ebx, esi
movzx eax, byte [ebp + ebx - 0x13c]
mov ebx, dword [ebp - 0x34]
xor dl, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x15e], dl
inc edi
mov eax, dword [ebp - 0x2c]
inc al
mov dword [ebp - 0x2c], eax
cmp edi, 6
jne 0x420a99
mov al, byte [ebp - 0x24]
add al, byte [ebp - 0x28]
movzx esi, cl
mov dh, byte [ebx + 0x1a]
mov cl, byte [ebx + 0x1b]
movzx edi, al
mov ch, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x24], esi
movzx eax, byte [ebp + esi - 0x13c]
mov byte [ebp + esi - 0x13c], ch
movzx esi, dl
mov dl, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], dl
movzx ebx, byte [ebp - 0x2c]
mov dl, byte [ebp + ebx - 0x13c]
mov byte [ebp + esi - 0x13c], dl
mov byte [ebp + ebx - 0x13c], al
add cl, 0x1f
shl dh, 4
add dh, 0xc0
or dh, cl
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + eax - 0x13c]
movzx ecx, byte [ebp + edi - 0x13c]
add ecx, eax
mov eax, 0xff
and ecx, eax
xor dh, byte [ebp + ecx - 0x13c]
movzx ecx, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x24]
movzx esi, byte [ebp + esi - 0x13c]
add esi, ecx
movzx ecx, dl
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, esi
and ecx, eax
movzx eax, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x158], dh
mov byte [ebp - 0x157], 0
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x164]
lea esi, [ebp - 0x13c]
mov ecx, esi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 6
mov ecx, dword [ebp - 0x140]
push 0
push esi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 0x10], eax
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x420cc8
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x420cbe
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420ce2
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp - 0x144]
add esp, 0x1a0
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.005f5844
mov dword [ebp - 0x10], 0
call fcn.00401eda
nop
push ebp
sub esp, 0xc
add ebp, 0xc
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x420d48
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x420d3e
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420d4d
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 0xc
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 0xc
add ebp, 0xc
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x420da6
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x420d9c
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420dab
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 0xc
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 0xc
add ebp, 0xc
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x420e04
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x420dfa
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420e09
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 0xc
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 0xc
add ebp, 0xc
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x420e62
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x420e58
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420e67
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 0xc
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 0xc
add ebp, 0xc
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x420ec0
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x420eb6
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420ec5
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 0xc
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 0xc
add ebp, 0xc
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x420f1e
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x420f14
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x420f23
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 0xc
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 0xc
add ebp, 0xc
push dword [ebp - 0x140]
call fcn.005db40d
add esp, 0x10
pop ebp
ret