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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1ac
lea eax, [ebp - 0x18]
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x41dcd0
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
xorpd xmm1, xmm1
movsd xmm4, qword [0x612750]
movsd xmm6, qword [0x612758]
movsd xmm2, qword [0x612408]
movsd xmm7, qword [0x612760]
xorpd xmm3, xmm3
movapd xmm0, xmm3
mulsd xmm0, qword [0x612738]
mulsd xmm0, xmm3
movapd xmm5, xmm2
movapd xmm2, xmm3
mulsd xmm2, xmm3
subsd xmm0, xmm2
movapd xmm2, xmm3
mulsd xmm2, qword [0x612740]
mulsd xmm2, xmm3
addsd xmm2, qword [0x612748]
divsd xmm0, xmm2
addsd xmm0, xmm1
movapd xmm2, xmm3
mulsd xmm2, xmm4
addsd xmm2, xmm0
movapd xmm1, xmm6
cmpltsd xmm1, xmm0
andpd xmm2, xmm1
andnpd xmm1, xmm0
orpd xmm1, xmm2
movapd xmm2, xmm5
addsd xmm3, xmm5
ucomisd xmm7, xmm3
ja 0x412e7d
xorpd xmm0, xmm0
ucomisd xmm0, xmm1
jbe 0x412f15
das
jl 0x412f6c
dec eax
cmp esi, dword [ebx]
dec esp
jne 0x412f4d
pop ebx
jp 0x412f71
pop esp
outsd dx, dword [esi]
pop edx
xor byte [edi], bh
jle 0x412f77
xchg dword [eax + eax*4 + 0x68], esp
jle 0x412f6f
jmp 0x4133d9
lea eax, [0x412f08]
mov dword [ebp - 0x34], eax
movdqa xmm0, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm0
add eax, 0x10
paddb xmm0, xmm2
cmp eax, 0x100
jne 0x412f30
movsd xmm0, qword [0x612130]
movapd xmm2, xmm1
popal
add byte [esi + 0xf], ah
sub cl, dl
subsd xmm2, xmm0
cvttsd2si eax, xmm2
lea ecx, [0x412ef6]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm1
leave
ucomisd xmm1, xmm0
enter 0x430f, 0xffffffffffffffc8
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2c], eax
call 0xd486b894
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
mov dword [ebp - 0x30], ecx
mov edi, 0xff
xor ebx, ebx
xor ecx, ecx
xor edx, edx
inc edx
cmp edi, 2
jb 0x412fa0
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, edi
jb 0x412f99
mov dword [ebp - 0x20], edi
mov edi, 0xc
cmp ecx, 3
ja case.default.0x412fad
jmp dword [ecx*4 + 0x612b08]
movzx eax, bl
lea esi, [eax + ebp]
add esi, 0xfffffec4
mov eax, dword [ebp - 0x24]
jmp 0x412fe5
movzx eax, bl
lea esi, [eax + ebp]
add esi, 0xfffffec4
mov eax, dword [ebp - 0x30]
jmp 0x412fe5
movzx eax, bl
lea esi, [eax + ebp]
add esi, 0xfffffec4
mov eax, dword [ebp - 0x2c]
jmp 0x41300c
movzx eax, bl
lea esi, [eax + ebp]
add esi, 0xfffffec4
mov eax, dword [ebp - 0x24]
mov al, ah
jmp 0x41300c
movzx eax, bl
mov al, byte [ebp + eax - 0x13c]
mov esi, dword [ebp - 0x28]
add esi, ecx
add esi, 0xfffffffc
add al, byte [esi]
inc ecx
movzx esi, al
add al, 0x16
cmp ecx, 0x15
mov ebx, 0
cmova ecx, ebx
movzx ebx, al
cmovbe ebx, esi
movzx esi, bl
mov eax, edx
and eax, esi
dec edi
je 0x41303a
cmp eax, dword [ebp - 0x20]
ja 0x412fa8
jmp 0x413041
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov edi, dword [ebp - 0x20]
cmp edi, eax
je 0x413072
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
dec edi
jne 0x412f8e
movzx eax, byte [ebp - 0x13b]
mov dword [ebp - 0x24], eax
mov edi, eax
mov cl, byte [ebp - 0x137]
mov byte [ebp - 0x20], cl
movzx eax, byte [ebp + esi - 0x13c]
mov edx, dword [ebp - 0x34]
mov cl, byte [edx]
mov ch, byte [edx + 1]
mov dl, byte [ebp + edi - 0x13c]
add dl, byte [ebp - 0x139]
mov byte [ebp - 0x38], dl
movzx esi, dl
mov bl, byte [ebp + esi - 0x13c]
movzx edi, byte [ebp - 0x135]
mov dword [ebp - 0x28], eax
movzx edx, byte [ebp + eax - 0x13c]
mov dword [ebp - 0x30], edx
mov byte [ebp + eax - 0x13c], bl
mov dl, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], dl
mov eax, dword [ebp - 0x24]
mov edx, eax
inc dl
movzx eax, dl
mov dl, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x13c], dl
mov ebx, dword [ebp - 0x30]
mov byte [ebp + eax - 0x13c], bl
add ch, 0xa2
shl cl, 4
xor cl, 0x80
or cl, ch
movzx eax, byte [ebp + esi - 0x13c]
add eax, ebx
mov esi, 0xff
and eax, esi
movzx esi, cl
xor cl, byte [ebp + eax - 0x13c]
movzx eax, byte [ebp + edi - 0x13c]
mov edi, dword [ebp - 0x28]
movzx edi, byte [ebp + edi - 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 edi, 0xff
and eax, edi
movzx eax, byte [ebp + eax - 0x13c]
xor cl, byte [ebp + eax - 0x13c]
mov dh, byte [ebp - 0x38]
add dh, bl
mov eax, dword [ebp - 0x34]
mov ch, byte [eax + 2]
mov dl, byte [eax + 3]
movzx edi, dh
mov al, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x2c], esi
movzx ebx, byte [ebp + esi - 0x13c]
mov byte [ebp + esi - 0x13c], al
movzx esi, cl
mov cl, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], cl
mov eax, dword [ebp - 0x24]
mov cl, al
add cl, 2
movzx eax, cl
mov cl, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], cl
mov byte [ebp + eax - 0x13c], bl
add dl, 0xa2
shl ch, 4
xor ch, 0x80
or ch, dl
movzx eax, byte [ebp + edi - 0x13c]
add eax, ebx
mov edi, 0xff
and eax, edi
movzx edi, ch
mov dword [ebp - 0x28], edi
xor ch, byte [ebp + eax - 0x13c]
movzx eax, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x2c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, 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, esi
mov esi, 0xff
and eax, esi
movzx eax, byte [ebp + eax - 0x13c]
xor ch, byte [ebp + eax - 0x13c]
movsx eax, ch
mov word [ebp - 0x168], ax
add dh, bl
mov eax, dword [ebp - 0x34]
mov dl, byte [eax + 4]
mov al, byte [eax + 5]
movzx esi, dh
mov cl, byte [ebp + esi - 0x13c]
mov edi, dword [ebp - 0x28]
movzx ebx, byte [ebp + edi - 0x13c]
mov byte [ebp + edi - 0x13c], cl
movzx edi, ch
mov ah, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ah
mov ecx, dword [ebp - 0x24]
mov ah, cl
add ah, 3
movzx ecx, ah
mov ah, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], ah
mov byte [ebp + ecx - 0x13c], bl
add al, 0xa2
shl dl, 4
xor dl, 0x80
or dl, al
movzx ecx, byte [ebp + esi - 0x13c]
add ecx, ebx
mov eax, 0xff
and ecx, eax
movzx eax, dl
mov dword [ebp - 0x2c], eax
xor dl, byte [ebp + ecx - 0x13c]
movzx ecx, byte [ebp + edi - 0x13c]
mov eax, dword [ebp - 0x28]
movzx esi, byte [ebp + eax - 0x13c]
add esi, 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, esi
mov eax, 0xff
and ecx, eax
movzx ecx, byte [ebp + ecx - 0x13c]
xor dl, byte [ebp + ecx - 0x13c]
movsx ecx, dl
mov word [ebp - 0x166], cx
add dh, bl
mov eax, dword [ebp - 0x34]
mov cl, byte [eax + 6]
mov ch, byte [eax + 7]
movzx esi, dh
mov dh, byte [ebp + esi - 0x13c]
mov eax, dword [ebp - 0x2c]
movzx ebx, byte [ebp + eax - 0x13c]
mov byte [ebp + eax - 0x13c], dh
movzx edi, dl
mov al, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], al
mov eax, dword [ebp - 0x24]
add al, 4
movzx eax, al
mov dl, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x13c], dl
mov byte [ebp + eax - 0x13c], bl
movzx eax, byte [ebp + esi - 0x13c]
add eax, ebx
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + ebx - 0x13c]
shl cl, 4
xor cl, 0x80
add ch, 0xa2
or ch, cl
mov ebx, 0xff
and eax, ebx
xor ch, byte [ebp + eax - 0x13c]
movzx eax, dl
movzx edx, byte [ebp + edi - 0x13c]
mov esi, dword [ebp - 0x2c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
movzx eax, byte [ebp + eax - 0x13c]
add eax, esi
and eax, ebx
movzx eax, byte [ebp + eax - 0x13c]
xor ch, byte [ebp + eax - 0x13c]
movsx eax, ch
mov word [ebp - 0x164], ax
mov word [ebp - 0x162], 0
xorpd xmm4, xmm4
movsd xmm6, qword [0x612778]
movsd xmm7, qword [0x612780]
movsd xmm0, qword [0x612788]
xorpd xmm1, xmm1
movapd xmm2, xmm4
mulsd xmm2, qword [0x612768]
mulsd xmm2, xmm4
movapd xmm3, xmm4
mulsd xmm3, xmm4
subsd xmm2, xmm3
movapd xmm3, xmm4
mulsd xmm3, qword [0x612770]
mulsd xmm3, xmm4
addsd xmm3, qword [0x612718]
divsd xmm2, xmm3
addsd xmm2, xmm1
movapd xmm3, xmm4
shl dword [esi + 0xf], 1
sub ah, bl
mulsd xmm3, xmm6
addsd xmm3, xmm2
movapd xmm1, xmm7
cmpltsd xmm1, xmm2
andpd xmm3, xmm1
andnpd xmm1, xmm2
movapd xmm2, xmm5
orpd xmm1, xmm3
addsd xmm4, xmm5
ucomisd xmm0, xmm4
ja 0x4133f9
xorpd xmm0, xmm0
ucomisd xmm0, xmm1
jbe 0x41349c
insd dword es:[edi], dx
mov bl, 0x76
mov al, 0x7a
mov dh, 0x75
scasd eax, dword es:[edi]
jp 0x413434
jl 0x413434
inc esp
xor byte [ebx + 0x34], al
bound esi, qword [eax + 0x7e]
jle 0x4134a5
cmp byte [edx + 0x2f], ch
popal
dec esp
jp 0x4134bb
cmp al, 0x48
push ecx
dec ebp
imul esi, dword [ebp + 0x68], 0x66
pushal
je 0x4134f1
inc eax
jmp 0x4139cf
lea edx, [0x41346e]
movdqa xmm0, xmmword [0x612110]
add eax, 0x612110
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm0
add eax, 0x10
paddb xmm0, xmm2
cmp eax, 0x100
jne 0x4134b4
invalid
movsd xmm0, qword [0x612130]
movapd xmm2, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
lea ecx, [0x41347a]
mov dword [ebp - 0x2c], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm1
ucomisd xmm1, xmm0
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 - 0x28], edx
xor edx, edx
inc edx
cmp esi, 2
jb 0x413527
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x413520
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x413534
jmp dword [ecx*4 + 0x612b18]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x413566
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x34]
jmp 0x413566
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x30]
jmp 0x41358b
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x41358b
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 edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x4135ba
cmp eax, dword [ebp - 0x20]
ja 0x41352f
jmp 0x4135c1
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
mov edx, dword [ebp - 0x28]
je 0x4135f8
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 - 0x28]
dec esi
jne 0x413515
movzx ebx, byte [ebp - 0x13b]
mov al, byte [ebp - 0x137]
mov byte [ebp - 0x20], al
movzx eax, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x2c], eax
mov cl, byte [edx]
mov al, byte [edx + 1]
mov byte [ebp - 0x34], al
mov dl, byte [ebp + ebx - 0x13c]
add dl, byte [ebp - 0x139]
mov byte [ebp - 0x24], dl
movzx eax, dl
mov ch, byte [ebp + eax - 0x13c]
mov dword [ebp - 0x38], eax
movzx edi, byte [ebp - 0x135]
mov edx, dword [ebp - 0x2c]
movzx esi, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x30], esi
mov byte [ebp + edx - 0x13c], ch
mov dh, byte [ebp + edi - 0x13c]
mov byte [ebp + eax - 0x13c], dh
mov dh, bl
inc dh
movzx esi, dh
mov dh, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov eax, dword [ebp - 0x30]
mov byte [ebp + esi - 0x13c], al
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + eax - 0x13c]
movzx esi, byte [ebp + edi - 0x13c]
mov edi, dword [ebp - 0x2c]
movzx edi, byte [ebp + edi - 0x13c]
add edi, esi
mov byte [ebp - 0x20], dl
movzx esi, dl
movzx eax, byte [ebp + esi - 0x13c]
add eax, edi
mov dl, byte [ebp - 0x34]
add dl, 0x51
shl cl, 4
add cl, 0x30
or cl, dl
mov edx, dword [ebp - 0x38]
movzx edi, byte [ebp + edx - 0x13c]
mov edx, dword [ebp - 0x30]
mov esi, edx
add edi, edx
mov edx, 0xff
and edi, edx
mov dh, byte [ebp + edi - 0x13c]
xor dh, cl
mov edi, 0xff
and eax, edi
movzx edi, byte [ebp + eax - 0x13c]
xor dh, byte [ebp + edi - 0x13c]
add bl, 3
xor edi, edi
mov ah, bl
mov byte [ebp - 0x34], bl
mov al, byte [ebp - 0x24]
mov ebx, esi
add al, bl
mov ebx, edi
mov dword [ebp - 0x2c], edi
movzx edi, cl
mov esi, dword [ebp - 0x28]
mov cl, byte [esi + ebx*2 + 2]
mov dl, byte [esi + ebx*2 + 3]
mov byte [ebp - 0x30], dl
mov byte [ebp - 0x24], al
movzx esi, al
mov dl, byte [ebp + esi - 0x13c]
movzx ebx, byte [ebp + edi - 0x13c]
mov byte [ebp + edi - 0x13c], dl
movzx edx, dh
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], al
mov al, ah
dec al
movzx eax, al
mov ch, byte [ebp + eax - 0x13c]
mov byte [ebp + edx - 0x13c], ch
mov byte [ebp + eax - 0x13c], bl
movzx eax, byte [ebp + edx - 0x13c]
movzx edx, byte [ebp + edi - 0x13c]
add edx, 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, edx
mov dl, byte [ebp - 0x30]
add dl, 0x51
shl cl, 4
add cl, 0x30
or cl, dl
movzx edx, byte [ebp + esi - 0x13c]
mov esi, ebx
add edx, ebx
mov edi, 0xff
and edx, edi
mov dh, byte [ebp + edx - 0x13c]
xor dh, cl
and eax, edi
movzx eax, byte [ebp + eax - 0x13c]
xor dh, byte [ebp + eax - 0x13c]
movsx eax, dh
mov edi, dword [ebp - 0x2c]
mov word [ebp + edi*2 - 0x194], ax
inc edi
mov al, byte [ebp - 0x34]
mov ebx, eax
inc bl
cmp edi, 2
jne 0x413702
mov ah, al
mov dword [ebp - 0x2c], ebx
mov edi, dword [ebp - 0x28]
mov dl, byte [edi + 6]
mov al, byte [edi + 7]
mov byte [ebp - 0x30], al
movzx edi, cl
mov dword [ebp - 0x38], edi
mov al, byte [ebp - 0x24]
mov ecx, esi
add al, cl
movzx ebx, byte [ebp + edi - 0x13c]
mov byte [ebp - 0x24], al
movzx esi, al
mov cl, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], cl
movzx edi, dh
mov dh, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], dh
movzx ecx, ah
mov dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov byte [ebp + ecx - 0x13c], bl
shl dl, 4
add dl, 0x30
mov al, byte [ebp - 0x30]
add al, 0x51
or al, dl
mov byte [ebp - 0x30], al
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x13c]
movzx ecx, byte [ebp + esi - 0x13c]
add ecx, ebx
movzx edx, byte [ebp + edi - 0x13c]
mov esi, dword [ebp - 0x38]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov byte [ebp - 0x20], al
movzx edx, al
movzx edx, byte [ebp + edx - 0x13c]
add edx, esi
mov eax, 0xff
and ecx, eax
mov cl, byte [ebp + ecx - 0x13c]
mov ch, byte [ebp - 0x30]
xor cl, ch
and edx, eax
movzx edx, byte [ebp + edx - 0x13c]
xor cl, byte [ebp + edx - 0x13c]
movsx edx, cl
mov word [ebp - 0x190], dx
xor edi, edi
mov al, byte [ebp - 0x24]
add al, bl
movzx esi, ch
mov ebx, dword [ebp - 0x28]
mov dh, byte [ebx + edi + 8]
mov dl, byte [ebx + edi + 9]
mov byte [ebp - 0x34], dl
movzx ebx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x30], ebx
mov byte [ebp - 0x24], al
movzx eax, al
mov dword [ebp - 0x38], eax
mov ch, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], ch
movzx ecx, cl
mov bl, byte [ebp + ecx - 0x13c]
mov byte [ebp + eax - 0x13c], bl
movzx ebx, byte [ebp - 0x2c]
mov dl, byte [ebp + ebx - 0x13c]
mov byte [ebp + ecx - 0x13c], dl
mov eax, dword [ebp - 0x30]
mov byte [ebp + ebx - 0x13c], al
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + eax - 0x13c]
movzx ecx, byte [ebp + ecx - 0x13c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, ecx
mov byte [ebp - 0x20], dl
movzx ecx, dl
movzx ebx, byte [ebp + ecx - 0x13c]
add ebx, esi
mov al, byte [ebp - 0x34]
add al, 0x51
shl dh, 4
add dh, 0x30
or dh, al
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0x13c]
mov esi, dword [ebp - 0x30]
add eax, esi
mov ecx, 0xff
and eax, ecx
mov cl, byte [ebp + eax - 0x13c]
xor cl, dh
mov eax, 0xff
and ebx, eax
movzx eax, byte [ebp + ebx - 0x13c]
mov ebx, esi
xor cl, byte [ebp + eax - 0x13c]
movsx eax, cl
mov word [ebp + edi - 0x18e], ax
add edi, 2
mov eax, dword [ebp - 0x2c]
inc al
mov dword [ebp - 0x2c], eax
mov ch, dh
cmp edi, 6
jne 0x4138cf
mov word [ebp - 0x18a], 0
xorpd xmm4, xmm4
movsd xmm5, qword [0x6127a0]
movsd xmm6, qword [0x6127a8]
movsd xmm7, qword [0x6127b0]
movsd xmm0, qword [0x6127b8]
xorpd xmm1, xmm1
movapd xmm2, xmm4
mulsd xmm2, qword [0x612790]
mulsd xmm2, xmm4
movapd xmm3, xmm4
mulsd xmm3, xmm4
subsd xmm2, xmm3
movapd xmm3, xmm4
mulsd xmm3, qword [0x612798]
mulsd xmm3, xmm4
addsd xmm3, xmm5
divsd xmm2, xmm3
addsd xmm2, xmm1
movapd xmm3, xmm4
mulsd xmm3, xmm6
addsd xmm3, xmm2
movapd xmm1, xmm7
cmpltsd xmm1, xmm2
andpd xmm3, xmm1
andnpd xmm1, xmm2
ret 0x1ca
fldenv [esi + 0xf]
push ebp
retf 0xff2
andnps xmm1, xmm2
movsd xmm2, qword [0x612228]
orpd xmm1, xmm3
addsd xmm4, xmm2
ucomisd xmm0, xmm4
ja 0x4139f7
xorpd xmm0, xmm0
ucomisd xmm0, xmm1
jbe 0x413a9d
js 0x413ad5
dec edi
outsb dx, byte [esi]
jno 0x413ad3
xor dl, byte [ebx + 0x44]
dec edx
insb byte es:[edi], dx
dec edi
xor dh, byte [eax]
popal
pushal
imul ecx, dword [edi + 0x3f], 0x544d687b
dec ebp
push esp
pop esp
dec esp
and byte [edx + 0x50], cl
dec ebp
push 0x38
scasd eax, dword es:[edi]
jno 0x413a47
jle 0x413a41
ja 0x413a49
jbe 0x413a4c
jbe 0x413a47
jle 0x413a82
daa
add eax, 0x158d0000
invalid
lea edx, [0x413a8c]
movdqa xmm0, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm0
add eax, 0x10
paddb xmm0, xmm2
cmp eax, 0x100
jne 0x413ab5
movsd xmm0, qword [0x612130]
movapd xmm2, xmm1
add byte [esi + 0xf], ah
sub cl, dl
movaps xmm2, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
lea ecx, [0x413a6c]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm1
ucomisd xmm1, xmm0
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 edi, 0xff
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x30], edx
xor edx, edx
inc edx
cmp edi, 2
jb 0x413b28
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, edi
jb 0x413b21
mov dword [ebp - 0x20], edi
mov edi, 0xc
cmp ecx, 3
ja case.default.0x413b35
jmp dword [ecx*4 + 0x612b28]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x413b67
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x34]
jmp 0x413b67
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x2c]
jmp 0x413b8c
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x413b8c
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, 0x24
cmp ecx, 0x23
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx esi, bl
mov eax, edx
and eax, esi
dec edi
je 0x413bbb
cmp eax, dword [ebp - 0x20]
ja 0x413b30
jmp 0x413bc2
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov edi, dword [ebp - 0x20]
cmp edi, eax
mov edx, dword [ebp - 0x30]
je 0x413bf9
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 - 0x30]
dec edi
jne 0x413b16
movzx ecx, byte [ebp - 0x13b]
mov dword [ebp - 0x24], ecx
mov al, byte [ebp - 0x137]
movzx ebx, byte [ebp + esi - 0x13c]
mov esi, edx
mov dh, byte [edx]
mov ah, byte [esi + 1]
mov dl, byte [ebp + ecx - 0x13c]
add dl, byte [ebp - 0x139]
movzx esi, dl
mov cl, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x20], cl
movzx edi, byte [ebp - 0x135]
mov dword [ebp - 0x28], ebx
movzx ecx, byte [ebp + ebx - 0x13c]
mov dword [ebp - 0x34], ecx
mov cl, byte [ebp - 0x20]
mov byte [ebp + ebx - 0x13c], cl
mov bl, byte [ebp + edi - 0x13c]
mov ecx, edi
mov dword [ebp - 0x2c], edi
mov byte [ebp + esi - 0x13c], bl
mov ebx, dword [ebp - 0x24]
inc bl
movzx edi, bl
mov bl, byte [ebp + edi - 0x13c]
mov byte [ebp + ecx - 0x13c], bl
mov ecx, dword [ebp - 0x34]
mov byte [ebp + edi - 0x13c], cl
add ah, 0x91
shl dh, 4
add dh, 0x50
or dh, ah
movzx ebx, byte [ebp + esi - 0x13c]
add ebx, ecx
mov esi, ecx
mov ecx, 0xff
and ebx, ecx
movzx ecx, dh
mov dword [ebp - 0x20], ecx
xor dh, byte [ebp + ebx - 0x13c]
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x13c]
mov edi, dword [ebp - 0x28]
movzx ebx, byte [ebp + edi - 0x13c]
add ebx, ecx
add al, byte [ebp + esi - 0x13c]
mov edi, esi
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, ebx
mov esi, dword [ebp - 0x30]
mov ebx, 0xff
and ecx, ebx
movzx ecx, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
mov ecx, edi
add dl, cl
mov ah, byte [esi + 2]
mov cl, byte [esi + 3]
mov byte [ebp - 0x28], cl
movzx esi, dl
mov ch, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x2c], esi
mov edi, dword [ebp - 0x20]
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, 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 esi, dword [ebp - 0x20]
movzx esi, byte [ebp + esi - 0x13c]
add esi, ecx
add al, byte [ebp + ebx - 0x13c]
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, esi
mov dh, byte [ebp - 0x28]
add dh, 0x91
shl ah, 4
add ah, 0x50
or ah, dh
mov esi, dword [ebp - 0x2c]
movzx esi, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x20], ebx
add esi, ebx
mov edi, 0xff
and esi, edi
mov dh, byte [ebp + esi - 0x13c]
xor dh, ah
and ecx, edi
movzx ecx, byte [ebp + ecx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
movsx ecx, dh
mov word [ebp - 0x188], cx
mov ecx, dword [ebp - 0x24]
add cl, 3
movzx ecx, cl
mov dword [ebp - 0x24], ecx
xor esi, esi
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 0x28], al
add dl, byte [ebp - 0x20]
mov byte [ebp - 0x2c], dl
movzx edi, ah
mov ah, byte [ecx + esi*2 + 4]
mov al, byte [ecx + esi*2 + 5]
mov byte [ebp - 0x34], al
movzx ecx, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x20], ecx
movzx ecx, dl
mov dword [ebp - 0x38], ecx
mov dl, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], dl
movzx edx, dh
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + ecx - 0x13c], al
mov ebx, dword [ebp - 0x24]
add ebx, esi
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 edi, byte [ebp + edi - 0x13c]
add edi, edx
movzx edx, al
movzx ebx, byte [ebp + edx - 0x13c]
mov dl, byte [ebp - 0x2c]
add ebx, edi
mov cl, byte [ebp - 0x34]
add cl, 0x91
shl ah, 4
add ah, 0x50
or ah, cl
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, dword [ebp - 0x20]
mov edi, 0xff
and ecx, edi
mov dh, byte [ebp + ecx - 0x13c]
xor dh, ah
and ebx, edi
movzx ecx, byte [ebp + ebx - 0x13c]
xor dh, byte [ebp + ecx - 0x13c]
movsx ecx, dh
mov word [ebp + esi*2 - 0x186], cx
inc esi
cmp esi, 2
jne 0x413dda
add dword [ebp - 0x24], esi
xor esi, esi
mov byte [ebp - 0x28], al
add dl, byte [ebp - 0x20]
mov byte [ebp - 0x2c], dl
movzx ecx, ah
mov edi, dword [ebp - 0x30]
mov ah, byte [edi + esi*2 + 8]
mov al, byte [edi + esi*2 + 9]
mov byte [ebp - 0x20], al
mov edi, ecx
mov dword [ebp - 0x38], ecx
movzx ebx, byte [ebp + ecx - 0x13c]
movzx ecx, dl
mov dword [ebp - 0x34], ecx
mov dl, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], dl
movzx edx, dh
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + ecx - 0x13c], al
movzx edi, byte [ebp - 0x24]
mov al, byte [ebp + edi - 0x13c]
mov byte [ebp + edx - 0x13c], al
mov al, byte [ebp - 0x28]
mov byte [ebp + edi - 0x13c], bl
add al, byte [ebp + ebx - 0x13c]
movzx edx, byte [ebp + edx - 0x13c]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
movzx edx, al
movzx edi, byte [ebp + edx - 0x13c]
mov dl, byte [ebp - 0x2c]
add edi, ecx
mov cl, byte [ebp - 0x20]
add cl, 0x91
shl ah, 4
add ah, 0x50
or ah, cl
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x13c]
mov dword [ebp - 0x20], 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]
movsx ecx, dh
mov word [ebp + esi*2 - 0x182], cx
inc esi
mov ecx, dword [ebp - 0x24]
inc cl
mov dword [ebp - 0x24], ecx
cmp esi, 3
jne 0x413ecb
mov word [ebp - 0x17e], 0
xorpd xmm5, xmm5
movsd xmm7, qword [0x6127d0]
movsd xmm0, qword [str.q_n0V_]
movsd xmm3, qword [0x6120f8]
movsd xmm1, qword [0x6127e0]
xorpd xmm2, xmm2
movapd xmm6, xmm3
movapd xmm3, xmm5
mulsd xmm3, qword [0x6127c0]
mulsd xmm3, xmm5
movapd xmm4, xmm5
mulsd xmm4, xmm5
subsd xmm3, xmm4
movapd xmm4, xmm5
mulsd xmm4, qword [0x6120d8]
mulsd xmm4, xmm5
addsd xmm4, qword [0x6127c8]
divsd xmm3, xmm4
addsd xmm3, xmm2
movapd xmm4, xmm5
mulsd xmm4, xmm7
addsd xmm4, xmm3
movapd xmm2, xmm0
cmpltsd xmm2, xmm3
andpd xmm4, xmm2
andnpd xmm2, xmm3
movapd xmm3, xmm6
orpd xmm2, xmm4
addsd xmm5, xmm6
ucomisd xmm1, xmm5
ja 0x413fec
xorpd xmm0, xmm0
ucomisd xmm0, xmm2
jbe 0x414092
popaw
pop edx
bound esp, qword [ebx + 0x60]
pop ebp
pop ecx
pushal
push 0x65
imul ebp, dword gs:[eax + esi + 0x45], 0x31637a7a
inc ebp
jns 0x4140af
sub al, 0x44
jne 0x4140df
pop esp
cmp esi, dword [ecx + ebp*2 + 0x4b]
dec edi
cmp al, 0x42
jmp 0x414767
lea edx, [0x414065]
movdqa xmm0, xmmword [0x612110]
xor eax, eax
movdqa xmm1, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm0
add eax, 0x10
paddb xmm0, xmm1
cmp eax, 0x100
jne 0x4140aa
invalid
movsd xmm0, qword [0x612130]
movapd xmm1, xmm2
subsd xmm1, xmm0
cvttsd2si eax, xmm1
lea ecx, [0x414077]
mov dword [ebp - 0x2c], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm2
add byte [eax], al
add byte [eax - 0x35d3f00e], al
ucomisd xmm2, xmm0
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 - 0x28], edx
xor edx, edx
inc edx
cmp esi, 2
jb 0x41411d
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x414116
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x41412a
jmp dword [ecx*4 + 0x612b38]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x41415c
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x34]
jmp 0x41415c
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x30]
jmp 0x414181
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x414181
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, 0x1a
cmp ecx, 0x19
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x4141b0
cmp eax, dword [ebp - 0x20]
ja 0x414125
jmp 0x4141b7
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
mov edx, dword [ebp - 0x28]
je 0x4141ee
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 - 0x28]
dec esi
jne 0x41410b
movzx eax, byte [ebp - 0x13b]
mov dword [ebp - 0x2c], eax
mov ecx, eax
mov al, byte [ebp - 0x137]
mov byte [ebp - 0x30], al
movzx eax, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x34], eax
mov al, byte [edx]
mov bl, byte [ebp + ecx - 0x13c]
add bl, byte [ebp - 0x139]
mov byte [ebp - 0x20], bl
mov ah, byte [edx + 1]
movzx esi, bl
mov cl, byte [ebp + esi - 0x13c]
movzx edi, byte [ebp - 0x135]
mov edx, dword [ebp - 0x34]
movzx ebx, byte [ebp + edx - 0x13c]
mov byte [ebp + edx - 0x13c], cl
mov dl, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], dl
mov ecx, dword [ebp - 0x2c]
mov edx, ecx
inc dl
movzx edx, dl
mov cl, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], cl
mov byte [ebp + edx - 0x13c], bl
add ah, 0xa3
shl al, 4
xor al, 0x80
or al, ah
movzx ecx, byte [ebp + esi - 0x13c]
add ecx, ebx
mov esi, ebx
mov edx, 0xff
and ecx, edx
movzx edx, al
mov dword [ebp - 0x24], edx
xor al, byte [ebp + ecx - 0x13c]
mov bh, byte [ebp - 0x30]
add bh, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x30], bh
movzx ecx, byte [ebp + edi - 0x13c]
mov edx, dword [ebp - 0x34]
movzx edx, byte [ebp + edx - 0x13c]
add edx, ecx
movzx ecx, bh
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
mov edx, 0xff
and ecx, edx
movzx ecx, byte [ebp + ecx - 0x13c]
xor al, byte [ebp + ecx - 0x13c]
mov bl, byte [ebp - 0x20]
mov ecx, esi
add bl, cl
mov byte [ebp - 0x20], bl
mov ecx, dword [ebp - 0x28]
mov dl, byte [ecx + 2]
mov ah, byte [ecx + 3]
movzx edi, bl
mov dh, byte [ebp + edi - 0x13c]
mov ecx, dword [ebp - 0x24]
movzx ebx, byte [ebp + ecx - 0x13c]
mov byte [ebp + ecx - 0x13c], dh
movzx esi, al
mov al, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], al
mov ecx, dword [ebp - 0x2c]
mov al, cl
add al, 2
movzx ecx, al
mov al, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x13c], al
mov byte [ebp + ecx - 0x13c], bl
add ah, 0xa3
shl dl, 4
xor dl, 0x80
or dl, ah
movzx eax, byte [ebp + edi - 0x13c]
add eax, ebx
mov edi, ebx
mov ecx, 0xff
and eax, ecx
movzx ecx, dl
mov dword [ebp - 0x34], ecx
xor dl, byte [ebp + eax - 0x13c]
movzx eax, byte [ebp + esi - 0x13c]
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, eax
mov bl, byte [ebp - 0x30]
add bl, byte [ebp + edi - 0x13c]
mov byte [ebp - 0x30], bl
movzx eax, bl
movzx eax, byte [ebp + eax - 0x13c]
add eax, ecx
mov ecx, 0xff
and eax, ecx
movzx eax, byte [ebp + eax - 0x13c]
xor dl, byte [ebp + eax - 0x13c]
movsx eax, dl
mov word [ebp - 0x1a6], ax
mov al, byte [ebp - 0x20]
mov ecx, edi
add al, cl
mov ecx, dword [ebp - 0x28]
mov ah, byte [ecx + 4]
mov cl, byte [ecx + 5]
mov byte [ebp - 0x24], cl
mov byte [ebp - 0x20], al
movzx ebx, al
mov dword [ebp - 0x38], ebx
mov dh, byte [ebp + ebx - 0x13c]
mov edi, dword [ebp - 0x34]
movzx ecx, byte [ebp + edi - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov esi, edi
movzx edi, dl
mov al, byte [ebp + edi - 0x13c]
mov byte [ebp + ebx - 0x13c], al
mov ebx, dword [ebp - 0x2c]
mov al, bl
add al, 3
movzx edx, al
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], al
mov byte [ebp + edx - 0x13c], cl
movzx edx, byte [ebp + edi - 0x13c]
movzx edi, byte [ebp + esi - 0x13c]
add edi, edx
mov al, byte [ebp - 0x30]
add al, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x30], al
movzx edx, al
movzx esi, byte [ebp + edx - 0x13c]
add esi, edi
mov al, byte [ebp - 0x24]
add al, 0xa3
shl ah, 4
xor ah, 0x80
or ah, al
mov edx, dword [ebp - 0x38]
movzx edx, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x24], ecx
add edx, ecx
mov ecx, 0xff
and edx, ecx
mov dl, byte [ebp + edx - 0x13c]
xor dl, ah
and esi, ecx
movzx esi, byte [ebp + esi - 0x13c]
xor dl, byte [ebp + esi - 0x13c]
movsx esi, dl
mov word [ebp - 0x1a4], si
add bl, 5
xor edi, edi
mov al, bl
mov byte [ebp - 0x2c], bl
mov al, byte [ebp - 0x20]
add al, byte [ebp - 0x24]
movzx ebx, ah
mov ecx, dword [ebp - 0x28]
mov esi, edi
mov ah, byte [ecx + edi*2 + 6]
mov cl, byte [ecx + edi*2 + 7]
mov byte [ebp - 0x34], cl
movzx ecx, byte [ebp + ebx - 0x13c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x20], al
movzx edi, al
mov dh, byte [ebp + edi - 0x13c]
mov byte [ebp + ebx - 0x13c], dh
movzx edx, dl
mov cl, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], cl
mov cl, byte [ebp - 0x2c]
dec cl
movzx ecx, cl
mov al, byte [ebp + ecx - 0x13c]
mov byte [ebp + edx - 0x13c], al
mov ebx, dword [ebp - 0x24]
mov byte [ebp + ecx - 0x13c], bl
movzx ecx, byte [ebp + edx - 0x13c]
mov edx, dword [ebp - 0x38]
movzx edx, byte [ebp + edx - 0x13c]
add edx, ecx
mov al, byte [ebp - 0x30]
add al, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x30], al
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
mov al, byte [ebp - 0x34]
add al, 0xa3
shl ah, 4
xor ah, 0x80
or ah, al
movzx edx, byte [ebp + edi - 0x13c]
add edx, ebx
mov edi, 0xff
and edx, edi
mov dl, byte [ebp + edx - 0x13c]
xor dl, ah
and ecx, edi
movzx ecx, byte [ebp + ecx - 0x13c]
xor dl, byte [ebp + ecx - 0x13c]
movsx ecx, dl
mov word [ebp + esi*2 - 0x1a2], cx
mov al, byte [ebp - 0x2c]
mov ebx, eax
inc bl
inc esi
mov edi, esi
cmp esi, 2
jne 0x4144a2
mov ch, al
mov esi, dword [ebp - 0x28]
mov dh, byte [esi + 0xa]
mov al, byte [esi + 0xb]
movzx esi, ah
mov dword [ebp - 0x38], esi
mov cl, byte [ebp - 0x20]
add cl, byte [ebp - 0x24]
movzx edi, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x24], edi
mov byte [ebp - 0x20], cl
movzx edi, cl
mov ah, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ah
movzx esi, dl
mov dword [ebp - 0x34], esi
mov dl, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], dl
movzx esi, ch
mov dl, byte [ebp + esi - 0x13c]
mov ecx, dword [ebp - 0x34]
mov byte [ebp + ecx - 0x13c], dl
mov ecx, dword [ebp - 0x24]
mov byte [ebp + esi - 0x13c], cl
shl dh, 4
xor dh, 0x80
add al, 0xa3
or al, dh
mov dword [ebp - 0x2c], ebx
mov bh, byte [ebp - 0x30]
add bh, byte [ebp + ecx - 0x13c]
mov edx, ecx
movzx ecx, byte [ebp + edi - 0x13c]
add ecx, edx
mov edx, dword [ebp - 0x34]
movzx esi, byte [ebp + edx - 0x13c]
mov edx, dword [ebp - 0x38]
movzx edi, byte [ebp + edx - 0x13c]
add edi, esi
movzx esi, bh
movzx edx, byte [ebp + esi - 0x13c]
add edx, edi
mov esi, 0xff
and ecx, esi
mov ah, byte [ebp + ecx - 0x13c]
xor ah, al
and edx, esi
movzx edx, byte [ebp + edx - 0x13c]
xor ah, byte [ebp + edx - 0x13c]
movsx edx, ah
mov word [ebp - 0x19e], dx
xor edi, edi
mov cl, byte [ebp - 0x20]
add cl, byte [ebp - 0x24]
movzx esi, al
mov dword [ebp - 0x34], esi
mov edx, dword [ebp - 0x28]
mov al, byte [edx + edi*2 + 0xc]
mov bl, byte [edx + edi*2 + 0xd]
movzx edx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x24], edx
mov byte [ebp - 0x20], cl
movzx edx, cl
mov dword [ebp - 0x30], edx
mov cl, bh
mov bh, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], bh
mov bh, cl
movzx esi, ah
mov ah, byte [ebp + esi - 0x13c]
mov byte [ebp + edx - 0x13c], ah
movzx edx, byte [ebp - 0x2c]
mov ah, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], ah
mov ecx, dword [ebp - 0x24]
mov byte [ebp + edx - 0x13c], cl
add bh, byte [ebp + ecx - 0x13c]
movzx ecx, byte [ebp + esi - 0x13c]
mov edx, dword [ebp - 0x34]
movzx edx, byte [ebp + edx - 0x13c]
add edx, ecx
movzx ecx, bh
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
add bl, 0xa3
shl al, 4
xor al, 0x80
or al, bl
mov edx, dword [ebp - 0x30]
movzx edx, byte [ebp + edx - 0x13c]
add edx, dword [ebp - 0x24]
mov esi, 0xff
and edx, esi
mov ah, byte [ebp + edx - 0x13c]
xor ah, al
and ecx, esi
movzx ecx, byte [ebp + ecx - 0x13c]
xor ah, byte [ebp + ecx - 0x13c]
movsx ecx, ah
mov word [ebp + edi*2 - 0x19c], cx
inc edi
mov ecx, dword [ebp - 0x2c]
inc cl
mov dword [ebp - 0x2c], ecx
cmp edi, 4
jne 0x414675
mov word [ebp - 0x196], 0
xorpd xmm5, xmm5
movsd xmm0, qword [0x612800]
movsd xmm7, qword [0x612808]
movsd xmm1, qword [0x612810]
xorpd xmm2, xmm2
movapd xmm3, xmm5
mulsd xmm3, qword [0x6127e8]
mulsd xmm3, xmm5
movapd xmm4, xmm5
mulsd xmm4, xmm5
subsd xmm3, xmm4
movapd xmm4, xmm5
mulsd xmm4, qword [0x6127f0]
mulsd xmm4, xmm5
addsd xmm4, qword [0x6127f8]
divsd xmm3, xmm4
addsd xmm3, xmm2
movapd xmm4, xmm5
mulsd xmm4, xmm0
addsd xmm4, xmm3
movapd xmm2, xmm7
cmpltsd xmm2, xmm3
andpd xmm4, xmm2
andnpd xmm2, xmm3
movapd xmm3, xmm6
orpd xmm2, xmm4
addsd xmm5, xmm6
ucomisd xmm1, xmm5
ja 0x414787
xorpd xmm0, xmm0
ucomisd xmm0, xmm2
jbe 0x414830
pop eax
dec esp
imul ebp, dword [ebx], 0x7c5c4021
inc ebx
jno 0x414859
and byte [edi], ah
imul edx, dword [edx - 0x60], 0x9a2f9929
sub byte [esi - 0x5dd35ace], dl
wait
xor ah, byte [edx - 0x60d25fda]
lahf
xor ah, byte [edx - 0x5acb67d8]
and eax, 0x34e931a3
or dword [eax], eax
add byte [ebp + 0x41480d05], cl
add byte [ecx + 0xf66cc45], cl
outsd dx, dword [esi]
add eax, 0x612110
lea eax, [0x41480d]
mov dword [ebp - 0x34], eax
movdqa xmm0, xmmword [0x612110]
xor eax, eax
movdqa xmm1, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm0
add eax, 0x10
paddb xmm0, xmm1
cmp eax, 0x100
jne 0x41484b
cld
sar dword [0x100], 0x75
jmp 0x5515858
movsd xmm0, qword [0x612130]
movapd xmm1, xmm2
subsd xmm1, xmm0
cvttsd2si eax, xmm1
lea ecx, [0x4147fc]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm2
ucomisd xmm2, xmm0
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 0x4148bb
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x4148b4
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x4148c8
jmp dword [ecx*4 + 0x612b48]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x4148fa
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x30]
jmp 0x4148fa
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x2c]
jmp 0x41491f
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x41491f
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, 0x15
cmp ecx, 0x14
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x41494e
cmp eax, dword [ebp - 0x20]
ja 0x4148c3
jmp 0x414955
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
je 0x414986
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 0x4148a9
movzx edx, byte [ebp - 0x13b]
mov dword [ebp - 0x2c], edx
mov al, byte [ebp - 0x137]
mov byte [ebp - 0x20], al
movzx edi, byte [ebp + edi - 0x13c]
mov ecx, dword [ebp - 0x34]
mov al, byte [ecx]
mov cl, byte [ecx + 1]
mov byte [ebp - 0x28], cl
mov cl, byte [ebp + edx - 0x13c]
add cl, byte [ebp - 0x139]
mov byte [ebp - 0x24], cl
movzx esi, cl
mov ah, byte [ebp + esi - 0x13c]
movzx ecx, byte [ebp - 0x135]
movzx ebx, byte [ebp + edi - 0x13c]
mov byte [ebp + edi - 0x13c], ah
mov ah, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x13c], ah
mov ah, dl
inc ah
movzx edx, ah
mov ah, byte [ebp + edx - 0x13c]
mov byte [ebp + ecx - 0x13c], ah
mov byte [ebp + edx - 0x13c], bl
mov dl, byte [ebp - 0x28]
add dl, 0xdb
shl al, 4
add al, 0xa0
or al, dl
movzx edx, byte [ebp + esi - 0x13c]
add edx, ebx
mov esi, 0xff
and edx, esi
movzx esi, al
mov dword [ebp - 0x28], esi
xor al, byte [ebp + edx - 0x13c]
movzx ecx, byte [ebp + ecx - 0x13c]
movzx edx, byte [ebp + edi - 0x13c]
add edx, ecx
mov cl, byte [ebp - 0x20]
add cl, byte [ebp + ebx - 0x13c]
mov esi, ebx
mov byte [ebp - 0x20], cl
movzx ecx, cl
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
mov edx, 0xff
and ecx, edx
movzx ecx, byte [ebp + ecx - 0x13c]
xor al, byte [ebp + ecx - 0x13c]
mov bl, byte [ebp - 0x24]
mov ecx, esi
add bl, cl
mov byte [ebp - 0x24], bl
mov ecx, dword [ebp - 0x34]
mov ah, byte [ecx + 2]
mov cl, byte [ecx + 3]
movzx edi, bl
mov ch, byte [ebp + edi - 0x13c]
mov edx, dword [ebp - 0x28]
movzx ebx, byte [ebp + edx - 0x13c]
mov byte [ebp + edx - 0x13c], ch
movzx esi, al
mov al, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], al
mov edx, dword [ebp - 0x2c]
mov al, dl
add al, 2
movzx edx, al
mov al, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], al
mov byte [ebp + edx - 0x13c], bl
add cl, 0xdb
shl ah, 4
add ah, 0xa0
or ah, cl
movzx ecx, byte [ebp + edi - 0x13c]
add ecx, ebx
mov edi, ebx
mov edx, 0xff
and ecx, edx
movzx edx, ah
mov dword [ebp - 0x30], edx
xor ah, byte [ebp + ecx - 0x13c]
movzx ecx, byte [ebp + esi - 0x13c]
mov edx, dword [ebp - 0x28]
movzx edx, byte [ebp + edx - 0x13c]
add edx, ecx
mov bh, byte [ebp - 0x20]
add bh, byte [ebp + edi - 0x13c]
mov byte [ebp - 0x20], bh
movzx ecx, bh
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
mov edx, 0xff
and ecx, edx
movzx ecx, byte [ebp + ecx - 0x13c]
xor ah, byte [ebp + ecx - 0x13c]
mov al, byte [ebp - 0x24]
mov ecx, edi
add al, cl
mov byte [ebp - 0x160], ah
mov edx, dword [ebp - 0x34]
mov ch, byte [edx + 4]
mov ebx, edx
mov cl, byte [edx + 5]
mov byte [ebp - 0x24], al
movzx edx, al
mov dword [ebp - 0x38], edx
mov al, byte [ebp + edx - 0x13c]
mov esi, dword [ebp - 0x30]
movzx edi, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], edi
mov byte [ebp + esi - 0x13c], al
movzx esi, ah
mov ah, byte [ebp + esi - 0x13c]
mov byte [ebp + edx - 0x13c], ah
mov eax, dword [ebp - 0x2c]
mov ah, al
add ah, 3
movzx edi, ah
mov ah, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ah
mov eax, dword [ebp - 0x28]
mov byte [ebp + edi - 0x13c], al
movzx edi, byte [ebp + esi - 0x13c]
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x13c]
add eax, edi
mov dl, byte [ebp - 0x20]
mov esi, dword [ebp - 0x28]
add dl, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x20], dl
movzx edi, dl
movzx edi, byte [ebp + edi - 0x13c]
add edi, eax
shl ch, 4
add ch, 0xa0
add cl, 0xdb
or cl, ch
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0x13c]
add eax, dword [ebp - 0x28]
mov edx, 0xff
and eax, edx
mov ch, byte [ebp + eax - 0x13c]
xor ch, cl
and edi, edx
movzx eax, byte [ebp + edi - 0x13c]
xor ch, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x15f], ch
mov eax, dword [ebp - 0x2c]
add al, 7
mov dword [ebp - 0x2c], eax
xor edi, edi
mov dl, byte [ebp - 0x24]
add dl, byte [ebp - 0x28]
movzx esi, cl
mov dword [ebp - 0x3c], esi
mov cl, byte [ebx + edi*2 + 6]
mov eax, dword [ebp - 0x34]
mov al, byte [eax + edi*2 + 7]
mov byte [ebp - 0x30], al
movzx eax, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], dl
movzx eax, dl
mov dword [ebp - 0x38], eax
mov bh, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], bh
movzx edx, ch
mov ch, byte [ebp + edx - 0x13c]
mov byte [ebp + eax - 0x13c], ch
mov ebx, dword [ebp - 0x2c]
mov ch, bl
add ch, 0xfd
movzx esi, ch
mov ch, byte [ebp + esi - 0x13c]
mov byte [ebp + edx - 0x13c], ch
mov eax, dword [ebp - 0x28]
mov byte [ebp + esi - 0x13c], al
mov ch, byte [ebp - 0x20]
add ch, byte [ebp + eax - 0x13c]
mov esi, eax
movzx eax, byte [ebp + edx - 0x13c]
mov edx, dword [ebp - 0x3c]
movzx edx, byte [ebp + edx - 0x13c]
add edx, eax
mov byte [ebp - 0x20], ch
movzx eax, ch
movzx eax, byte [ebp + eax - 0x13c]
add eax, edx
mov dl, byte [ebp - 0x30]
add dl, 0xdb
shl cl, 4
add cl, 0xa0
or cl, dl
mov edx, dword [ebp - 0x38]
movzx edx, byte [ebp + edx - 0x13c]
add edx, esi
mov esi, 0xff
and edx, esi
mov ch, byte [ebp + edx - 0x13c]
xor ch, cl
and eax, esi
movzx eax, byte [ebp + eax - 0x13c]
xor ch, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x15e], ch
inc bl
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x34]
inc edi
cmp edi, 3
jne 0x414c38
mov al, byte [ebx + 0xc]
mov ah, byte [ebx + 0xd]
movzx edx, cl
mov dword [ebp - 0x30], edx
mov cl, byte [ebp - 0x24]
add cl, byte [ebp - 0x28]
movzx ebx, byte [ebp + edx - 0x13c]
mov byte [ebp - 0x24], cl
movzx edi, cl
mov cl, byte [ebp + edi - 0x13c]
mov byte [ebp + edx - 0x13c], cl
movzx edx, ch
mov cl, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], cl
mov ecx, dword [ebp - 0x2c]
add cl, 0xfd
movzx esi, cl
mov cl, byte [ebp + esi - 0x13c]
mov byte [ebp + edx - 0x13c], cl
mov byte [ebp + esi - 0x13c], bl
shl al, 4
add al, 0xa0
add ah, 0xdb
or ah, al
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x13c]
movzx edi, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x28], ebx
add edi, ebx
movzx esi, byte [ebp + edx - 0x13c]
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ebp + ecx - 0x13c]
add edx, esi
mov byte [ebp - 0x20], al
movzx esi, al
movzx ecx, byte [ebp + esi - 0x13c]
add ecx, edx
mov esi, 0xff
and edi, esi
mov al, byte [ebp + edi - 0x13c]
xor al, ah
and ecx, esi
movzx ecx, byte [ebp + ecx - 0x13c]
xor al, byte [ebp + ecx - 0x13c]
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 0x15b], al
xor edi, edi
mov ch, cl
mov byte [ebp - 0x30], cl
mov cl, byte [ebp - 0x24]
add cl, byte [ebp - 0x28]
movzx esi, ah
mov dword [ebp - 0x38], esi
mov edx, dword [ebp - 0x34]
mov ah, byte [edx + edi*2 + 0xe]
mov dl, byte [edx + edi*2 + 0xf]
mov byte [ebp - 0x28], dl
movzx ebx, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x24], cl
movzx edx, cl
mov cl, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x2c], edx
mov byte [ebp + esi - 0x13c], cl
movzx esi, al
mov al, byte [ebp + esi - 0x13c]
mov byte [ebp + edx - 0x13c], al
mov al, ch
add al, 0xfe
movzx ecx, al
mov al, byte [ebp + ecx - 0x13c]
mov byte [ebp + esi - 0x13c], al
mov byte [ebp + ecx - 0x13c], bl
movzx ecx, byte [ebp + esi - 0x13c]
mov edx, dword [ebp - 0x38]
movzx edx, byte [ebp + edx - 0x13c]
add edx, 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, edx
mov al, byte [ebp - 0x28]
add al, 0xdb
shl ah, 4
add ah, 0xa0
or ah, al
mov edx, dword [ebp - 0x2c]
movzx edx, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x28], ebx
add edx, ebx
mov esi, 0xff
and edx, esi
mov al, byte [ebp + edx - 0x13c]
xor al, ah
and ecx, esi
movzx ecx, byte [ebp + ecx - 0x13c]
xor al, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x15a], al
inc edi
mov cl, byte [ebp - 0x30]
mov dh, cl
inc cl
cmp edi, 5
jne 0x414dfd
mov dl, byte [ebp - 0x24]
add dl, byte [ebp - 0x28]
movzx edi, ah
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0x34]
mov ch, byte [esi + 0x18]
mov bl, byte [esi + 0x19]
movzx esi, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x24], esi
movzx esi, dl
mov bh, dl
mov dl, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], dl
movzx eax, al
mov dword [ebp - 0x28], eax
mov al, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], al
mov eax, dword [ebp - 0x2c]
add al, 0xfe
movzx eax, al
mov dword [ebp - 0x38], eax
mov al, byte [ebp + eax - 0x13c]
mov edi, dword [ebp - 0x28]
mov byte [ebp + edi - 0x13c], al
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
mov byte [ebp + edi - 0x13c], al
shl ch, 4
add ch, 0xa0
add bl, 0xdb
or bl, ch
movzx eax, byte [ebp + esi - 0x13c]
add eax, dword [ebp - 0x24]
mov ecx, 0xff
and eax, ecx
mov esi, 0xff
movzx edi, bl
mov dword [ebp - 0x38], edi
xor bl, byte [ebp + eax - 0x13c]
mov dl, byte [ebp - 0x20]
mov eax, dword [ebp - 0x24]
add dl, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x20], dl
mov eax, dword [ebp - 0x28]
movzx eax, byte [ebp + eax - 0x13c]
mov ecx, dword [ebp - 0x3c]
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 bl, byte [ebp + eax - 0x13c]
mov cl, bh
add cl, byte [ebp - 0x24]
mov byte [ebp - 0x24], cl
mov byte [ebp - 0x155], bl
mov eax, dword [ebp - 0x34]
mov ch, byte [eax + 0x1a]
mov bh, byte [eax + 0x1b]
movzx eax, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x3c], eax
movzx esi, cl
mov dl, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], dl
movzx edi, bl
mov ah, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ah
movzx edx, dh
mov cl, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], cl
mov eax, dword [ebp - 0x3c]
mov byte [ebp + edx - 0x13c], al
add bh, 0xdb
shl ch, 4
add ch, 0xa0
or ch, bh
movzx edx, byte [ebp + esi - 0x13c]
add edx, eax
mov ebx, 0xff
and edx, ebx
movzx esi, ch
mov dword [ebp - 0x28], esi
xor ch, byte [ebp + edx - 0x13c]
movzx edx, byte [ebp + edi - 0x13c]
mov esi, dword [ebp - 0x38]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov cl, byte [ebp - 0x20]
add cl, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x20], cl
movzx edx, cl
movzx edx, byte [ebp + edx - 0x13c]
add edx, esi
and edx, ebx
movzx edx, byte [ebp + edx - 0x13c]
xor ch, byte [ebp + edx - 0x13c]
mov dl, byte [ebp - 0x24]
add dl, al
mov byte [ebp - 0x154], ch
mov eax, dword [ebp - 0x34]
mov cl, byte [eax + 0x1c]
mov bl, byte [eax + 0x1d]
movzx esi, dl
mov bh, byte [ebp + esi - 0x13c]
mov eax, dword [ebp - 0x28]
movzx edx, byte [ebp + eax - 0x13c]
mov byte [ebp + eax - 0x13c], bh
movzx edi, ch
mov ch, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ch
movzx eax, byte [ebp - 0x2c]
mov ch, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x13c], ch
mov byte [ebp + eax - 0x13c], dl
mov ch, byte [ebp - 0x20]
add ch, byte [ebp + edx - 0x13c]
movzx eax, byte [ebp + esi - 0x13c]
add eax, edx
add bl, 0xdb
shl cl, 4
add cl, 0xa0
or cl, bl
mov ebx, 0xff
and eax, ebx
xor cl, byte [ebp + eax - 0x13c]
movzx eax, ch
movzx edx, byte [ebp + edi - 0x13c]
mov esi, dword [ebp - 0x28]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
movzx eax, byte [ebp + eax - 0x13c]
add eax, esi
and eax, ebx
movzx eax, byte [ebp + eax - 0x13c]
xor cl, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x153], cl
mov byte [ebp - 0x152], 0
xorpd xmm5, xmm5
movsd xmm6, qword [0x612830]
movsd xmm0, qword [str.fffff]
movsd xmm7, qword [0x612160]
movsd xmm3, qword [0x612840]
xorpd xmm1, xmm1
movapd xmm2, xmm5
mulsd xmm2, qword [0x612818]
mulsd xmm2, xmm5
movapd xmm4, xmm5
mulsd xmm4, xmm5
subsd xmm2, xmm4
subps xmm2, xmm4
movapd xmm4, xmm5
mulsd xmm4, qword [0x612820]
mulsd xmm4, xmm5
addsd xmm4, qword [0x612828]
divsd xmm2, xmm4
addsd xmm2, xmm1
movapd xmm4, xmm5
mulsd xmm4, xmm6
addsd xmm4, xmm2
movapd xmm1, xmm0
cmpltsd xmm1, xmm2
andpd xmm4, xmm1
andnpd xmm1, xmm2
orpd xmm1, xmm4
addsd xmm5, xmm7
ucomisd xmm3, xmm5
ja 0x41518c
xorpd xmm0, xmm0
ucomisd xmm0, xmm1
jbe 0x41522d
jge 0x415268
jne 0x41522b
inc ebp
push 0x58
arpl word [ebp + 0x7c], bp
inc edx
and al, 0x7d
js 0x41527a
jnp 0x4151a5
mov al, 0x8d
stosb byte es:[edi], al
invalid
add byte [eax], al
lea eax, [0x41520e]
mov dword [ebp - 0x34], eax
movdqa xmm0, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm0
add eax, 0x10
paddb xmm0, xmm2
cmp eax, 0x100
jne 0x415248
movsd xmm0, qword [0x612130]
movapd xmm2, xmm1
movaps xmm2, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
lea ecx, [0x4151fd]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
dec ebp
fdiv dword [0x80000000]
cvttsd2si ecx, xmm1
ucomisd xmm1, xmm0
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 0x4152b8
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x4152b1
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x4152c5
jmp dword [ecx*4 + 0x612b58]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x4152f7
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x30]
jmp 0x4152f7
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x2c]
jmp 0x41531c
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x41531c
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, 0x15
cmp ecx, 0x14
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x41534b
cmp eax, dword [ebp - 0x20]
ja 0x4152c0
jmp 0x415352
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
je 0x415383
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 0x4152a6
mov al, byte [ebp - 0x13b]
mov byte [ebp - 0x2c], al
mov dl, byte [ebp - 0x137]
movzx esi, al
movzx ebx, byte [ebp + edi - 0x13c]
mov eax, dword [ebp - 0x34]
mov ch, byte [eax]
mov al, byte [eax + 1]
mov byte [ebp - 0x20], al
mov dword [ebp - 0x28], esi
mov al, byte [ebp + esi - 0x13c]
add al, byte [ebp - 0x139]
movzx edi, al
mov dh, al
mov cl, byte [ebp + edi - 0x13c]
movzx esi, byte [ebp - 0x135]
mov dword [ebp - 0x24], ebx
movzx eax, byte [ebp + ebx - 0x13c]
mov byte [ebp + ebx - 0x13c], cl
mov bl, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], bl
mov bl, byte [ebp - 0x2c]
inc bl
movzx ebx, bl
mov cl, byte [ebp + ebx - 0x13c]
mov byte [ebp + esi - 0x13c], cl
mov byte [ebp + ebx - 0x13c], al
mov cl, byte [ebp - 0x20]
add cl, 0x5d
shl ch, 4
xor ch, 0x80
or ch, cl
movzx ebx, byte [ebp + edi - 0x13c]
add ebx, eax
mov edi, 0xff
and ebx, edi
movzx edi, ch
xor ch, byte [ebp + ebx - 0x13c]
movzx esi, byte [ebp + esi - 0x13c]
mov ebx, dword [ebp - 0x24]
movzx ebx, byte [ebp + ebx - 0x13c]
add ebx, esi
add dl, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x20], dl
movzx esi, dl
movzx esi, byte [ebp + esi - 0x13c]
add esi, ebx
mov ebx, 0xff
and esi, ebx
movzx esi, byte [ebp + esi - 0x13c]
xor ch, byte [ebp + esi - 0x13c]
mov bh, dh
add bh, al
mov byte [ebp - 0x24], bh
mov eax, dword [ebp - 0x34]
mov cl, byte [eax + 2]
mov bl, byte [eax + 3]
mov dword [ebp - 0x3c], edi
movzx edx, byte [ebp + edi - 0x13c]
movzx esi, bh
mov bh, byte [ebp + esi - 0x13c]
mov byte [ebp + edi - 0x13c], bh
movzx eax, ch
mov dword [ebp - 0x144], eax
mov ch, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], ch
mov ch, byte [ebp - 0x2c]
add ch, 2
movzx edi, ch
mov ch, byte [ebp + edi - 0x13c]
mov byte [ebp + eax - 0x13c], ch
mov byte [ebp + edi - 0x13c], dl
add bl, 0x5d
shl cl, 4
xor cl, 0x80
or cl, bl
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov dword [ebp - 0x38], edx
mov eax, 0xff
and esi, eax
movzx eax, cl
mov dword [ebp - 0x30], eax
xor cl, byte [ebp + esi - 0x13c]
mov eax, ecx
mov cl, byte [ebp - 0x20]
add cl, byte [ebp + edx - 0x13c]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x144]
movzx esi, byte [ebp + edx - 0x13c]
mov edx, dword [ebp - 0x3c]
movzx ebx, byte [ebp + edx - 0x13c]
add ebx, esi
movzx esi, cl
movzx esi, byte [ebp + esi - 0x13c]
add esi, ebx
mov ecx, 0xff
and esi, ecx
movzx esi, byte [ebp + esi - 0x13c]
xor al, byte [ebp + esi - 0x13c]
mov cl, byte [ebp - 0x24]
add cl, byte [ebp - 0x38]
mov byte [ebp - 0x151], al
mov esi, dword [ebp - 0x34]
mov ch, byte [esi + 4]
mov dl, byte [esi + 5]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x30]
movzx ebx, byte [ebp + edx - 0x13c]
mov byte [ebp - 0x24], cl
movzx edi, cl
mov cl, byte [ebp + edi - 0x13c]
mov byte [ebp + edx - 0x13c], cl
movzx edx, al
mov cl, byte [ebp + edx - 0x13c]
mov byte [ebp + edi - 0x13c], cl
mov cl, byte [ebp - 0x2c]
add cl, 3
movzx esi, cl
mov cl, byte [ebp + esi - 0x13c]
mov byte [ebp + edx - 0x13c], cl
mov byte [ebp + esi - 0x13c], bl
movzx eax, byte [ebp + edx - 0x13c]
mov edx, dword [ebp - 0x30]
movzx edx, byte [ebp + edx - 0x13c]
add edx, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x20], al
movzx esi, al
movzx eax, byte [ebp + esi - 0x13c]
add eax, edx
mov cl, byte [ebp - 0x38]
add cl, 0x5d
shl ch, 4
xor ch, 0x80
or ch, cl
movzx esi, byte [ebp + edi - 0x13c]
mov edx, ebx
add esi, ebx
mov edi, 0xff
and esi, edi
mov cl, byte [ebp + esi - 0x13c]
xor cl, ch
and eax, edi
movzx esi, byte [ebp + eax - 0x13c]
xor cl, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x34]
mov byte [ebp - 0x150], cl
mov dword [ebp - 0x2c], 0
mov bl, byte [ebp - 0x24]
add bl, dl
mov byte [ebp - 0x24], bl
movzx eax, ch
mov edi, dword [ebp - 0x2c]
mov ch, byte [esi + edi*2 + 6]
mov dl, byte [esi + edi*2 + 7]
mov byte [ebp - 0x30], dl
movzx edx, byte [ebp + eax - 0x13c]
mov dword [ebp - 0x3c], edx
movzx ebx, bl
mov dword [ebp - 0x38], ebx
mov dh, byte [ebp + ebx - 0x13c]
mov byte [ebp + eax - 0x13c], dh
movzx esi, cl
mov cl, byte [ebp + esi - 0x13c]
mov byte [ebp + ebx - 0x13c], cl
mov ebx, dword [ebp - 0x28]
add ebx, edi
add ebx, 4
mov edx, 0xff
and ebx, edx
mov cl, byte [ebp + ebx - 0x13c]
mov byte [ebp + esi - 0x13c], cl
mov edx, dword [ebp - 0x3c]
mov byte [ebp + ebx - 0x13c], dl
mov cl, byte [ebp - 0x20]
mov ebx, edx
add cl, byte [ebp + edx - 0x13c]
movzx esi, byte [ebp + esi - 0x13c]
movzx eax, byte [ebp + eax - 0x13c]
add eax, esi
mov byte [ebp - 0x20], cl
movzx esi, cl
movzx esi, byte [ebp + esi - 0x13c]
add esi, eax
mov al, byte [ebp - 0x30]
add al, 0x5d
shl ch, 4
xor ch, 0x80
or ch, al
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0x13c]
add eax, edx
mov ebx, 0xff
and eax, ebx
mov cl, byte [ebp + eax - 0x13c]
xor cl, ch
and esi, ebx
movzx eax, byte [ebp + esi - 0x13c]
xor cl, byte [ebp + eax - 0x13c]
mov esi, dword [ebp - 0x34]
mov byte [ebp + edi - 0x14f], cl
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 3
jne 0x415634
mov al, byte [esi + 0xc]
mov byte [ebp - 0x30], al
mov al, byte [esi + 0xd]
mov byte [ebp - 0x38], al
movzx esi, ch
mov al, byte [ebp - 0x24]
add al, dl
mov byte [ebp - 0x24], al
movzx edi, al
mov dl, byte [ebp + edi - 0x13c]
movzx eax, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x3c], eax
mov byte [ebp + esi - 0x13c], dl
movzx ecx, cl
mov dl, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], dl
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add edx, eax
add edx, 4
mov eax, 0xff
and edx, eax
mov bl, byte [ebp + edx - 0x13c]
mov byte [ebp + ecx - 0x13c], bl
mov ebx, dword [ebp - 0x3c]
mov byte [ebp + edx - 0x13c], bl
movzx ecx, byte [ebp + ecx - 0x13c]
movzx eax, byte [ebp + esi - 0x13c]
add eax, ecx
mov cl, byte [ebp - 0x20]
mov edx, ebx
add cl, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x20], cl
movzx ecx, cl
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, eax
mov al, byte [ebp - 0x38]
add al, 0x5d
mov bl, byte [ebp - 0x30]
shl bl, 4
xor bl, 0x80
or bl, al
movzx eax, byte [ebp + edi - 0x13c]
add eax, edx
mov esi, edx
mov edx, 0xff
and eax, edx
mov al, byte [ebp + eax - 0x13c]
xor al, bl
and ecx, edx
movzx ecx, byte [ebp + ecx - 0x13c]
xor al, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x14c], al
mov ecx, dword [ebp - 0x34]
mov bh, byte [ecx + 0xe]
mov cl, byte [ecx + 0xf]
mov byte [ebp - 0x30], cl
mov cl, byte [ebp - 0x24]
mov edx, esi
add cl, dl
mov byte [ebp - 0x24], cl
movzx edx, bl
mov dword [ebp - 0x38], edx
movzx ecx, cl
mov ah, byte [ebp + ecx - 0x13c]
movzx esi, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x3c], esi
mov byte [ebp + edx - 0x13c], ah
movzx esi, al
mov dh, byte [ebp + esi - 0x13c]
mov byte [ebp + ecx - 0x13c], dh
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x2c]
add edx, edi
add edx, 5
mov edi, 0xff
and edx, edi
mov bl, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], bl
mov eax, dword [ebp - 0x3c]
mov byte [ebp + edx - 0x13c], al
mov dl, byte [ebp - 0x30]
add dl, 0x5d
shl bh, 4
xor bh, 0x80
or bh, dl
movzx ecx, byte [ebp + ecx - 0x13c]
mov edx, eax
add ecx, eax
and ecx, edi
movzx edi, bh
mov dword [ebp - 0x30], edi
xor bh, byte [ebp + ecx - 0x13c]
movzx eax, byte [ebp + esi - 0x13c]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x13c]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x13c]
add eax, ecx
mov ecx, 0xff
and eax, ecx
movzx eax, byte [ebp + eax - 0x13c]
xor bh, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x14b], bh
mov ecx, dword [ebp - 0x34]
mov bl, byte [ecx + 0x10]
mov al, byte [ebp - 0x24]
add al, dl
mov cl, byte [ecx + 0x11]
mov byte [ebp - 0x38], cl
mov byte [ebp - 0x24], al
movzx edx, al
mov ah, byte [ebp + edx - 0x13c]
mov ecx, dword [ebp - 0x30]
movzx edi, byte [ebp + ecx - 0x13c]
mov byte [ebp + ecx - 0x13c], ah
movzx esi, bh
mov ah, byte [ebp + esi - 0x13c]
mov byte [ebp + edx - 0x13c], ah
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
add eax, ecx
add eax, 6
mov ecx, 0xff
and eax, ecx
mov bh, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], bh
mov ecx, edi
mov byte [ebp + eax - 0x13c], cl
movzx eax, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x30]
movzx esi, byte [ebp + esi - 0x13c]
add esi, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + edi - 0x13c]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x13c]
add eax, esi
mov cl, byte [ebp - 0x38]
add cl, 0x5d
shl bl, 4
xor bl, 0x80
or bl, cl
movzx edx, byte [ebp + edx - 0x13c]
mov ecx, edi
add edx, edi
mov ecx, 0xff
and edx, ecx
mov bh, byte [ebp + edx - 0x13c]
xor bh, bl
and eax, ecx
movzx eax, byte [ebp + eax - 0x13c]
xor bh, byte [ebp + eax - 0x13c]
mov byte [ebp - 0x14a], bh
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x2c]
add al, 7
mov dword [ebp - 0x28], eax
xor esi, esi
mov cl, byte [ebp - 0x24]
mov edx, edi
add cl, dl
movzx edi, bl
mov dword [ebp - 0x38], edi
mov edx, dword [ebp - 0x34]
mov bl, byte [edx + esi*2 + 0x12]
mov dl, byte [edx + esi*2 + 0x13]
movzx eax, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x24], cl
movzx eax, cl
mov dword [ebp - 0x30], eax
mov dh, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x13c], dh
movzx edi, bh
mov dh, byte [ebp + edi - 0x13c]
mov byte [ebp + eax - 0x13c], dh
movzx ecx, byte [ebp - 0x28]
mov dh, byte [ebp + ecx - 0x13c]
mov byte [ebp + edi - 0x13c], dh
mov eax, dword [ebp - 0x2c]
mov byte [ebp + ecx - 0x13c], al
mov dh, byte [ebp - 0x20]
add dh, byte [ebp + eax - 0x13c]
movzx eax, byte [ebp + edi - 0x13c]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, eax
mov byte [ebp - 0x20], dh
movzx eax, dh
movzx eax, byte [ebp + eax - 0x13c]
add eax, ecx
add dl, 0x5d
shl bl, 4
xor bl, 0x80
or bl, dl
mov ecx, dword [ebp - 0x30]
movzx ecx, byte [ebp + ecx - 0x13c]
mov edx, dword [ebp - 0x2c]
mov edi, edx
add ecx, edx
mov edx, 0xff
and ecx, edx
mov bh, byte [ebp + ecx - 0x13c]
xor bh, bl
and eax, edx
movzx eax, byte [ebp + eax - 0x13c]
xor bh, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x149], bh
inc esi
mov eax, dword [ebp - 0x28]
inc al
mov dword [ebp - 0x28], eax
cmp esi, 4
jne 0x4159d1
mov byte [ebp - 0x145], 0
xorpd xmm4, xmm4
movsd xmm0, qword [0x612858]
movsd xmm6, qword [str.q_n_U_a]
movsd xmm7, qword [0x612868]
xorpd xmm1, xmm1
movsd xmm5, qword [0x612228]
movapd xmm2, xmm4
mulsd xmm2, qword [0x612848]
mulsd xmm2, xmm4
movapd xmm3, xmm4
mulsd xmm3, xmm4
subsd xmm2, xmm3
movapd xmm3, xmm4
mulsd xmm3, qword [0x6126e0]
mulsd xmm3, xmm4
addsd xmm3, qword [0x612850]
divsd xmm2, xmm3
addsd xmm2, xmm1
movapd xmm3, xmm4
mulsd xmm3, xmm0
addsd xmm3, xmm2
movapd xmm1, xmm6
cmpltsd xmm1, xmm2
andpd xmm3, xmm1
andnpd xmm1, xmm2
orpd xmm1, xmm3
addsd xmm4, xmm5
ucomisd xmm7, xmm4
ja 0x415aed
xorpd xmm0, xmm0
ucomisd xmm0, xmm1
jbe 0x415ba7
dec esp
xor byte [ebx + 0x53], bh
and eax, 0x625a3875
outsd dx, dword [esi]
xor eax, 0x3c413a47
sub eax, 0x6f417444
outsd dx, dword [esi]
and eax, 0x31474f6b
xor word [edx + 0x5b], sp
popfd
or al, 0x9e
or al, 0x9c
pop es
cwde
adc al, 0xa0
or al, 0xa4
adc dl, byte [esi - 0x66e961ef]
or bl, byte [ebp - 0x69f65df8]
adc edx, dword [ebp - 0x63e95df6]
adc eax, 0xb9710a4
wait
push fs
adc ecx, ebp
stc
pop es
add byte [eax], al
lea eax, [0x415b7c]
mov dword [ebp - 0x34], eax
movdqa xmm0, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x13c], xmm0
add eax, 0x10
paddb xmm0, xmm2
cmp eax, 0x100
jne 0x415bc2
movsd xmm0, qword [0x612130]
movapd xmm2, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
lea ecx, [0x415b5e]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm1
ucomisd xmm1, xmm0
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 0x415c32
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x415c2b
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x415c3f
jmp dword [ecx*4 + 0x612b68]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
jmp 0x415c71
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x30]
jmp 0x415c71
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x2c]
jmp 0x415c96
movzx eax, bl
add eax, ebp
add eax, 0xfffffec4
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x415c96
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 0x415cc5
cmp eax, dword [ebp - 0x20]
ja 0x415c3a
jmp 0x415ccc
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
je 0x415cfd
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 0x415c20
mov bl, byte [ebp - 0x13b]
mov al, byte [ebp - 0x137]
mov byte [ebp - 0x20], al
movzx edx, bl
movzx eax, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
mov cl, byte [eax]
mov dword [ebp - 0x2c], edx
mov dl, byte [ebp + edx - 0x13c]
add dl, byte [ebp - 0x139]
mov dh, byte [eax + 1]
mov byte [ebp - 0x38], dh
mov byte [ebp - 0x24], dl
movzx edx, dl
mov dword [ebp - 0x144], edx
mov dl, byte [ebp + edx - 0x13c]
mov byte [ebp - 0x3c], dl
movzx esi, byte [ebp - 0x135]
mov edx, dword [ebp - 0x30]
movzx edi, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x28], edi
mov ch, byte [ebp - 0x3c]
mov byte [ebp + edx - 0x13c], ch
mov dl, byte [ebp + esi - 0x13c]
mov edi, dword [ebp - 0x144]
mov byte [ebp + edi - 0x13c], dl
inc bl
movzx edx, bl
mov ch, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], ch
mov ebx, dword [ebp - 0x28]
mov byte [ebp + edx - 0x13c], bl
movzx edx, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x30]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + ebx - 0x13c]
mov byte [ebp - 0x20], dl
movzx edx, dl
movzx edx, byte [ebp + edx - 0x13c]
add edx, esi
mov ch, byte [ebp - 0x38]
add ch, 0xf9
shl cl, 4
add cl, 0xb0
or cl, ch
movzx edi, byte [ebp + edi - 0x13c]
add edi, ebx
mov esi, 0xff
and edi, esi
mov ch, byte [ebp + edi - 0x13c]
xor ch, cl
and edx, esi
movzx edx, byte [ebp + edx - 0x13c]
xor ch, byte [ebp + edx - 0x13c]
xor edi, edi
mov esi, edi
mov dword [ebp - 0x30], edi
mov dh, byte [ebp - 0x24]
add dh, bl
mov dl, byte [eax + edi*2 + 2]
mov byte [ebp - 0x3c], dl
movzx edi, cl
mov cl, byte [eax + esi*2 + 3]
mov byte [ebp - 0x24], dh
movzx eax, dh
mov dword [ebp - 0x38], eax
mov dh, byte [ebp + eax - 0x13c]
movzx ebx, byte [ebp + edi - 0x13c]
mov dword [ebp - 0x28], ebx
mov byte [ebp + edi - 0x13c], dh
movzx ebx, ch
mov ch, byte [ebp + ebx - 0x13c]
mov byte [ebp + eax - 0x13c], ch
mov eax, dword [ebp - 0x2c]
add eax, esi
add eax, 2
mov esi, 0xff
and eax, esi
mov ch, byte [ebp + eax - 0x13c]
mov byte [ebp + ebx - 0x13c], ch
mov edx, dword [ebp - 0x28]
mov byte [ebp + eax - 0x13c], dl
movzx eax, byte [ebp + ebx - 0x13c]
mov ebx, dword [ebp - 0x28]
movzx esi, byte [ebp + edi - 0x13c]
add esi, 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, esi
mov dl, byte [ebp - 0x3c]
shl dl, 4
add dl, 0xb0
add cl, 0xf9
or cl, dl
mov edx, dword [ebp - 0x38]
movzx edx, byte [ebp + edx - 0x13c]
add edx, ebx
mov esi, 0xff
and edx, esi
mov ch, byte [ebp + edx - 0x13c]
xor ch, cl
and eax, esi
movzx eax, byte [ebp + eax - 0x13c]
xor ch, byte [ebp + eax - 0x13c]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov byte [ebp + edx - 0x17b], ch
lea edi, [edx + 1]
cmp edi, 6
jne 0x415e0c
mov dl, byte [eax + 0xe]
mov byte [ebp - 0x30], dl
mov dl, byte [eax + 0xf]
mov byte [ebp - 0x38], dl
movzx edx, cl
mov cl, byte [ebp - 0x24]
add cl, bl
mov byte [ebp - 0x24], cl
movzx esi, cl
mov cl, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x3c], edx
movzx ebx, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x144], ebx
mov byte [ebp + edx - 0x13c], cl
movzx edx, ch
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], bl
mov ecx, dword [ebp - 0x2c]
lea ebx, [ecx + edi]
add ebx, 2
mov ecx, 0xff
and ebx, ecx
mov cl, byte [ebp + ebx - 0x13c]
mov byte [ebp + edx - 0x13c], cl
mov edx, dword [ebp - 0x144]
mov byte [ebp + ebx - 0x13c], dl
mov cl, byte [ebp - 0x38]
add cl, 0xf9
mov bl, byte [ebp - 0x30]
shl bl, 4
add bl, 0xb0
or bl, cl
movzx ecx, byte [ebp + esi - 0x13c]
add ecx, edx
mov esi, edx
mov edx, 0xff
and ecx, edx
movzx edx, bl
mov dword [ebp - 0x30], edx
xor bl, byte [ebp + ecx - 0x13c]
mov bh, byte [ebp - 0x20]
add bh, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x20], bh
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0x13c]
mov edx, dword [ebp - 0x3c]
movzx edx, byte [ebp + edx - 0x13c]
add edx, ecx
movzx ecx, bh
movzx ecx, byte [ebp + ecx - 0x13c]
add ecx, edx
mov edx, 0xff
and ecx, edx
movzx ecx, byte [ebp + ecx - 0x13c]
xor bl, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x175], bl
mov cl, byte [eax + 0x10]
mov byte [ebp - 0x13d], cl
mov cl, byte [ebp - 0x24]
mov edx, esi
add cl, dl
mov byte [ebp - 0x24], cl
mov dl, byte [eax + 0x11]
mov byte [ebp - 0x38], dl
movzx edx, cl
mov bh, byte [ebp + edx - 0x13c]
mov dword [ebp - 0x3c], edx
mov esi, dword [ebp - 0x30]
movzx ecx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], ecx
mov byte [ebp + esi - 0x13c], bh
movzx esi, bl
mov cl, byte [ebp + esi - 0x13c]
mov byte [ebp + edx - 0x13c], cl
mov ebx, dword [ebp - 0x2c]
add ebx, edi
add ebx, 3
mov edx, 0xff
and ebx, edx
mov cl, byte [ebp + ebx - 0x13c]
mov byte [ebp + esi - 0x13c], cl
mov edx, dword [ebp - 0x28]
mov byte [ebp + ebx - 0x13c], dl
movzx esi, byte [ebp + esi - 0x13c]
mov ebx, dword [ebp - 0x30]
movzx ebx, byte [ebp + ebx - 0x13c]
add ebx, esi
mov cl, byte [ebp - 0x20]
add cl, byte [ebp + edx - 0x13c]
mov byte [ebp - 0x20], cl
movzx esi, cl
movzx esi, byte [ebp + esi - 0x13c]
add esi, ebx
mov cl, byte [ebp - 0x38]
add cl, 0xf9
mov ch, byte [ebp - 0x13d]
shl ch, 4
add ch, 0xb0
or ch, cl
mov edx, dword [ebp - 0x3c]
movzx edx, byte [ebp + edx - 0x13c]
add edx, dword [ebp - 0x28]
mov ebx, 0xff
and edx, ebx
mov dl, byte [ebp + edx - 0x13c]
xor dl, ch
and esi, ebx
movzx esi, byte [ebp + esi - 0x13c]
xor dl, byte [ebp + esi - 0x13c]
mov byte [ebp - 0x174], dl
mov bl, byte [eax + 0x12]
mov dh, byte [eax + 0x13]
mov byte [ebp - 0x38], dh
mov dh, byte [ebp - 0x24]
add dh, byte [ebp - 0x28]
movzx ecx, ch
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 0x24], dh
movzx esi, dh
mov dword [ebp - 0x30], esi
mov dh, byte [ebp + esi - 0x13c]
movzx esi, byte [ebp + ecx - 0x13c]
mov dword [ebp - 0x28], esi
mov byte [ebp + ecx - 0x13c], dh
movzx edx, dl
mov ch, byte [ebp + edx - 0x13c]
mov esi, edx
mov edx, dword [ebp - 0x30]
mov byte [ebp + edx - 0x13c], ch
mov edx, dword [ebp - 0x2c]
add edx, edi
add edx, 4
mov ecx, 0xff
and edx, ecx
mov ch, byte [ebp + edx - 0x13c]
mov byte [ebp + esi - 0x13c], ch
mov ecx, dword [ebp - 0x28]
mov byte [ebp + edx - 0x13c], cl
movzx edx, byte [ebp + esi - 0x13c]
mov esi, dword [ebp - 0x3c]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + ecx - 0x13c]
mov byte [ebp - 0x20], dl
movzx edx, dl
movzx edx, byte [ebp + edx - 0x13c]
add edx, esi
mov ch, byte [ebp - 0x38]
add ch, 0xf9
shl bl, 4
add bl, 0xb0
or bl, ch
mov ecx, dword [ebp - 0x30]
movzx esi, byte [ebp + ecx - 0x13c]
add esi, dword [ebp - 0x28]
mov ecx, 0xff
and esi, ecx
mov ch, byte [ebp + esi - 0x13c]
xor ch, bl
mov esi, 0xff
and edx, esi
movzx edx, byte [ebp + edx - 0x13c]
xor ch, byte [ebp + edx - 0x13c]
mov byte [ebp - 0x173], ch
mov esi, dword [ebp - 0x28]
add dword [ebp - 0x2c], edi
xor edi, edi
mov al, byte [ebp - 0x24]
mov edx, esi
add al, dl
mov edx, dword [ebp - 0x34]
mov bh, byte [edx + edi*2 + 0x14]
movzx esi, bl
mov dword [ebp - 0x38], esi
mov bl, byte [edx + edi*2 + 0x15]
movzx edx, byte [ebp + esi - 0x13c]
mov dword [ebp - 0x28], edx
mov byte [ebp - 0x24], al
movzx eax, al
mov dword [ebp - 0x30], eax
mov dh, byte [ebp + eax - 0x13c]
mov byte [ebp + esi - 0x13c], dh
movzx edx, ch
mov ch, byte [ebp + edx - 0x13c]
mov byte [ebp + eax - 0x13c], ch
mov eax, dword [ebp - 0x2c]
add eax, edi
add eax, 5
mov esi, 0xff
and eax, esi
mov ch, byte [ebp + eax - 0x13c]
mov byte [ebp + edx - 0x13c], ch
mov ecx, dword [ebp - 0x28]
mov byte [ebp + eax - 0x13c], cl
mov al, byte [ebp - 0x20]
add al, byte [ebp + ecx - 0x13c]
movzx edx, byte [ebp + edx - 0x13c]
mov esi, dword [ebp - 0x38]
movzx esi, byte [ebp + esi - 0x13c]
add esi, edx
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x13c]
add eax, esi
shl bh, 4
add bh, 0xb0
add bl, 0xf9
or bl, bh
mov edx, dword [ebp - 0x30]
movzx edx, byte [ebp + edx - 0x13c]
mov esi, ecx
add edx, ecx
mov ecx, 0xff
and edx, ecx
mov ch, byte [ebp + edx - 0x13c]
xor ch, bl
mov edx, 0xff
and eax, edx
movzx eax, byte [ebp + eax - 0x13c]
xor ch, byte [ebp + eax - 0x13c]
mov byte [ebp + edi - 0x172], ch
inc edi
cmp edi, 8
jne 0x4161d7
mov dl, byte [ebp - 0x24]
mov eax, esi
add dl, al
mov eax, dword [ebp - 0x2c]
add eax, edi
add eax, 5
movzx edi, bl
mov dword [ebp - 0x24], edi
mov esi, dword [ebp - 0x34]
mov cl, byte [esi + 0x24]
mov bl, byte [esi + 0x25]
movzx esi, dl
mov bh, byte [ebp + esi - 0x13c]
movzx edx, byte [ebp + edi - 0x13c]
mov byte [ebp + edi - 0x13c], bh
movzx edi, ch
mov dword [ebp - 0x28], edi
mov ch, byte [ebp + edi - 0x13c]
mov byte [ebp + esi - 0x13c], ch
mov edi, 0xff
and eax, edi
mov ch, byte [ebp + eax - 0x13c]
mov edi, dword [ebp - 0x28]
mov byte [ebp + edi - 0x13c], ch
mov byte [ebp + eax - 0x13c], dl
mov ch, byte [ebp - 0x20]
add ch, byte [ebp + edx - 0x13c]
movzx eax, byte [ebp + esi - 0x13c]
add eax, edx
add bl, 0xf9
shl cl, 4
add cl, 0xb0
or cl, bl
mov esi, 0xff
and eax, esi
xor cl, byte [ebp + eax - 0x13c]
movzx eax, byte [ebp + edi - 0x13c]
mov edx, dword [ebp - 0x24]
movzx edx, byte [ebp + edx - 0x13c]
add edx, eax
movzx eax, ch
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 byte [ebp - 0x16a], cl
mov byte [ebp - 0x169], 0
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x194]
mov dword [ebp - 0x1b4], eax
lea eax, [ebp - 0x188]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x1a6]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x50]
lea eax, [ebp - 0x160]
lea edi, [ebp - 0x13c]
mov ecx, edi
push eax
call fcn.00401278
xor eax, eax
mov dword [ebp - 0x10], eax
mov ecx, esi
push eax
push edi
call fcn.004454fe
mov dword [ebp - 0x20], eax
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x416453
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x416449
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x4165bf
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x50]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x151]
lea edi, [ebp - 0x13c]
mov ecx, edi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 1
mov ecx, esi
push 0
push edi
call fcn.004454fe
mov dword [ebp - 0x24], eax
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x4164d9
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x4164cf
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x4165bf
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x50]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x17b]
lea edi, [ebp - 0x13c]
mov ecx, edi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 2
mov ecx, esi
push 0
push edi
call fcn.004454fe
mov esi, eax
push dword [ebp - 0x124]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x128]
cmp ecx, 8
jb 0x41655a
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x416550
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x4165bf
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0x10], 0xffffffff
push connect
push edi
push edi
call dword [ebp - 0x20]
test eax, eax
je 0x41659e
push connect
push dword [ebp + ebx*4 - 0x1b8]
push eax
call dword [ebp - 0x24]
test eax, eax
je 0x41659e
lea ecx, [ebp - 0x13c]
push ecx
push eax
call esi
test eax, eax
je 0x41659e
cmp dword [ebp - 0x138], 4
je 0x4165a8
inc ebx
cmp ebx, 4
jne 0x41655e
mov al, 1
jmp 0x4165aa
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x1ac
pop esi
pop edi
pop ebx
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 0x416618
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x41660e
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x41661d
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 0x416676
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x41666c
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x41667b
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 0x4166d4
mov eax, dword [ebp - 0x13c]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x4166ca
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x4166d9
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