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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1a4
lea eax, [ebp - 0x18]
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x438140
mov edx, dword fs:[0]
mov dword [eax], edx
mov dword fs:[0], eax
xorpd xmm0, xmm0
movsd xmm4, qword [0x614130]
movsd xmm5, qword [0x614138]
movsd xmm6, qword [0x612280]
movsd xmm7, qword [0x614140]
xorpd xmm3, xmm3
movapd xmm1, xmm3
mulsd xmm1, qword [0x614118]
mulsd xmm1, xmm3
movapd xmm2, xmm3
mulsd xmm2, xmm3
subsd xmm1, xmm2
movapd xmm2, xmm3
mulsd xmm2, qword [0x614120]
mulsd xmm2, xmm3
addsd xmm2, qword [0x614128]
divsd xmm1, xmm2
addsd xmm1, xmm0
movapd xmm2, xmm3
mulsd xmm2, xmm4
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 0x428e83
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
mov dword [ebp - 0x148], ecx
jbe 0x428f34
xchg byte [edi - 0x73767b71], al
mov es, word [ebx + ecx*4 - 0x7a806e79]
test dword [ebx - 0x6d7c7476], ecx
or dword [edx - 0x6c766f83], 0x702e5385
push esi
pop ebx
inc ebx
dec ecx
aaa
push esi
bound edi, qword [eax + 0x35]
dec esi
jp 0x428f89
xor al, 0x52
dec ebx
pop edx
jne 0x428fa0
jbe 0x428fa1
arpl word [ebp + 0x41], bp
jmp 0x429514
lea eax, [0x428efa]
mov dword [ebp - 0x34], eax
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x140], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x428f4f
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x428f14]
mov dword [ebp - 0x28], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
cvttps2pi mm1, 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
adc byte [ecx - 0x402bb3], cl
add byte [eax], al
add byte [ecx], dh
invalid
mov dword [ebp - 0x2c], ecx
mov edi, 0xff
xor ebx, ebx
xor ecx, ecx
xor edx, edx
inc edx
cmp edi, 2
jb 0x428fbf
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, edi
jb 0x428fb8
mov dword [ebp - 0x20], edi
mov edi, 0xc
cmp ecx, 3
ja case.default.0x428fcc
jmp dword [ecx*4 + 0x61456c]
movzx eax, bl
lea esi, [eax + ebp]
add esi, 0xfffffec0
mov eax, dword [ebp - 0x24]
jmp 0x429004
movzx eax, bl
lea esi, [eax + ebp]
add esi, 0xfffffec0
mov eax, dword [ebp - 0x2c]
jmp 0x429004
movzx eax, bl
lea esi, [eax + ebp]
add esi, 0xfffffec0
mov eax, dword [ebp - 0x30]
jmp 0x42902b
movzx eax, bl
lea esi, [eax + ebp]
add esi, 0xfffffec0
mov eax, dword [ebp - 0x24]
mov al, ah
jmp 0x42902b
movzx eax, bl
mov al, byte [ebp + eax - 0x140]
mov esi, dword [ebp - 0x28]
add esi, ecx
add esi, 0xfffffffc
add al, byte [esi]
inc ecx
movzx esi, al
add al, 0x1f
cmp ecx, 0x1e
mov ebx, 0
cmova ecx, ebx
movzx ebx, al
cmovbe ebx, esi
movzx esi, bl
mov eax, edx
and eax, esi
dec edi
je 0x429059
cmp eax, dword [ebp - 0x20]
ja 0x428fc7
jmp 0x429060
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov edi, dword [ebp - 0x20]
cmp edi, eax
je 0x429091
mov dl, byte [ebp + edi - 0x140]
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x140], dl
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], dl
xor byte [ebp + edi - 0x140], dl
dec edi
jne 0x428fad
movzx ebx, byte [ebp - 0x13f]
mov al, byte [ebp - 0x13b]
mov byte [ebp - 0x20], al
movzx esi, byte [ebp + esi - 0x140]
mov ecx, dword [ebp - 0x34]
mov ah, byte [ecx]
mov al, byte [ecx + 1]
mov byte [ebp - 0x30], al
mov al, byte [ebp + ebx - 0x140]
add al, byte [ebp - 0x13d]
mov byte [ebp - 0x24], al
movzx ecx, al
mov dword [ebp - 0x2c], ecx
mov al, byte [ebp + ecx - 0x140]
movzx edi, byte [ebp - 0x139]
movzx edx, byte [ebp + esi - 0x140]
mov byte [ebp + esi - 0x140], al
mov al, byte [ebp + edi - 0x140]
mov byte [ebp + ecx - 0x140], al
mov al, bl
inc al
movzx ecx, al
mov al, byte [ebp + ecx - 0x140]
mov byte [ebp + edi - 0x140], al
mov byte [ebp + ecx - 0x140], dl
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x140]
movzx ecx, byte [ebp + edi - 0x140]
movzx esi, byte [ebp + esi - 0x140]
add esi, ecx
mov byte [ebp - 0x20], al
movzx ecx, al
movzx edi, byte [ebp + ecx - 0x140]
add edi, esi
mov al, byte [ebp - 0x30]
add al, 0x83
shl ah, 4
add ah, 0xb0
or ah, al
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x140]
mov esi, edx
add ecx, edx
mov edx, 0xff
and ecx, edx
mov ch, byte [ebp + ecx - 0x140]
xor ch, ah
and edi, edx
movzx edi, byte [ebp + edi - 0x140]
xor ch, byte [ebp + edi - 0x140]
add bl, 3
xor edi, edi
mov dword [ebp - 0x28], edi
mov al, bl
mov byte [ebp - 0x2c], bl
mov al, byte [ebp - 0x24]
mov ebx, esi
add al, bl
movzx esi, ah
mov edx, dword [ebp - 0x34]
mov ah, byte [edx + edi*2 + 2]
mov cl, byte [edx + edi*2 + 3]
mov byte [ebp - 0x30], cl
mov byte [ebp - 0x24], al
movzx edi, al
mov cl, byte [ebp + edi - 0x140]
movzx ebx, byte [ebp + esi - 0x140]
mov byte [ebp + esi - 0x140], cl
movzx ecx, ch
mov dl, byte [ebp + ecx - 0x140]
mov byte [ebp + edi - 0x140], dl
mov dl, byte [ebp - 0x2c]
dec dl
movzx edx, dl
mov al, byte [ebp + edx - 0x140]
mov byte [ebp + ecx - 0x140], al
mov byte [ebp + edx - 0x140], bl
movzx ecx, byte [ebp + ecx - 0x140]
movzx edx, byte [ebp + esi - 0x140]
add edx, ecx
mov al, byte [ebp - 0x20]
mov esi, ebx
add al, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x20], al
movzx ecx, al
movzx ebx, byte [ebp + ecx - 0x140]
add ebx, edx
mov al, byte [ebp - 0x30]
add al, 0x83
shl ah, 4
add ah, 0xb0
or ah, al
movzx ecx, byte [ebp + edi - 0x140]
mov edx, esi
add ecx, esi
mov edx, 0xff
and ecx, edx
mov ch, byte [ebp + ecx - 0x140]
xor ch, ah
and ebx, edx
movzx edx, byte [ebp + ebx - 0x140]
xor ch, byte [ebp + edx - 0x140]
movsx edx, ch
mov edi, dword [ebp - 0x28]
mov word [ebp + edi*2 - 0x1ae], dx
inc edi
mov al, byte [ebp - 0x2c]
mov ebx, eax
inc bl
cmp edi, 4
jne 0x429186
mov dh, al
mov edi, dword [ebp - 0x34]
mov cl, byte [edi + 0xa]
mov al, byte [edi + 0xb]
mov byte [ebp - 0x28], al
movzx edi, ah
mov dl, byte [ebp - 0x24]
mov eax, esi
add dl, al
mov eax, edi
mov dword [ebp - 0x38], edi
movzx esi, byte [ebp + edi - 0x140]
mov dword [ebp - 0x30], esi
mov byte [ebp - 0x24], dl
movzx edi, dl
mov dl, byte [ebp + edi - 0x140]
mov byte [ebp + eax - 0x140], dl
movzx esi, ch
mov dword [ebp - 0x3c], esi
mov ch, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], ch
movzx eax, dh
mov ch, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], ch
mov edx, dword [ebp - 0x30]
mov byte [ebp + eax - 0x140], dl
mov al, byte [ebp - 0x28]
add al, 0x83
shl cl, 4
add cl, 0xb0
or cl, al
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x140]
mov esi, edx
movzx edx, byte [ebp + edi - 0x140]
add edx, esi
mov esi, dword [ebp - 0x3c]
movzx esi, byte [ebp + esi - 0x140]
mov edi, dword [ebp - 0x38]
movzx edi, byte [ebp + edi - 0x140]
add edi, esi
mov dword [ebp - 0x2c], edi
mov byte [ebp - 0x20], al
movzx esi, al
movzx edi, byte [ebp + esi - 0x140]
add edi, dword [ebp - 0x2c]
mov eax, 0xff
and edx, eax
mov dl, byte [ebp + edx - 0x140]
xor dl, cl
and edi, eax
movzx edi, byte [ebp + edi - 0x140]
xor dl, byte [ebp + edi - 0x140]
movsx edi, dl
mov word [ebp - 0x1a6], di
xor edi, edi
mov dword [ebp - 0x2c], ebx
mov al, byte [ebp - 0x24]
add al, byte [ebp - 0x30]
movzx esi, cl
mov ebx, dword [ebp - 0x34]
mov cl, byte [ebx + edi*2 + 0xc]
mov ah, byte [ebx + edi*2 + 0xd]
mov byte [ebp - 0x28], ah
movzx ebx, byte [ebp + esi - 0x140]
mov dword [ebp - 0x30], ebx
mov byte [ebp - 0x24], al
movzx eax, al
mov dword [ebp - 0x38], eax
mov dh, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dh
movzx edx, dl
mov bl, byte [ebp + edx - 0x140]
mov byte [ebp + eax - 0x140], bl
movzx ebx, byte [ebp - 0x2c]
mov ch, byte [ebp + ebx - 0x140]
mov byte [ebp + edx - 0x140], ch
mov eax, dword [ebp - 0x30]
mov byte [ebp + ebx - 0x140], al
mov ch, byte [ebp - 0x20]
add ch, byte [ebp + eax - 0x140]
movzx edx, byte [ebp + edx - 0x140]
movzx esi, byte [ebp + esi - 0x140]
add esi, edx
mov byte [ebp - 0x20], ch
movzx edx, ch
movzx ebx, byte [ebp + edx - 0x140]
add ebx, esi
mov dl, byte [ebp - 0x28]
add dl, 0x83
shl cl, 4
add cl, 0xb0
or cl, dl
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0x140]
add eax, dword [ebp - 0x30]
mov esi, 0xff
and eax, esi
mov dl, byte [ebp + eax - 0x140]
xor dl, cl
and ebx, esi
movzx eax, byte [ebp + ebx - 0x140]
mov ebx, dword [ebp - 0x2c]
xor dl, byte [ebp + eax - 0x140]
movsx eax, dl
mov word [ebp + edi*2 - 0x1a4], ax
inc bl
inc edi
cmp edi, 6
jne 0x42935e
mov al, byte [ebp - 0x24]
add al, byte [ebp - 0x30]
movzx esi, cl
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp - 0x34]
mov dh, byte [ecx + 0x18]
mov cl, byte [ecx + 0x19]
movzx edi, al
mov ch, byte [ebp + edi - 0x140]
movzx eax, byte [ebp + esi - 0x140]
mov byte [ebp + esi - 0x140], ch
movzx esi, dl
mov dl, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], dl
movzx ebx, bl
mov dl, byte [ebp + ebx - 0x140]
mov byte [ebp + esi - 0x140], dl
mov byte [ebp + ebx - 0x140], al
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + eax - 0x140]
movzx edi, byte [ebp + edi - 0x140]
add edi, eax
add cl, 0x83
shl dh, 4
add dh, 0xb0
or dh, cl
mov eax, 0xff
and edi, eax
xor dh, byte [ebp + edi - 0x140]
movzx ecx, dl
movzx esi, byte [ebp + esi - 0x140]
mov edi, dword [ebp - 0x24]
movzx edi, byte [ebp + edi - 0x140]
add edi, esi
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, edi
and ecx, eax
movzx eax, byte [ebp + ecx - 0x140]
xor dh, byte [ebp + eax - 0x140]
movsx eax, dh
mov word [ebp - 0x198], ax
mov word [ebp - 0x196], 0
mov dword [ebp - 0x10], 0xffffffff
push 4
call fcn.005db3dd
add esp, 4
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x1ae]
lea ecx, [ebp - 0x140]
push eax
call fcn.00406642
mov ecx, dword [ebp - 0x144]
mov dword [ecx], 0
mov dword [ebp - 0x10], 1
push 2
lea eax, [ebp - 0x140]
push eax
call fcn.0044527c
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
lea esi, [ebp - 0x140]
jb 0x4295bc
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x4295b2
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cb92
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
mov eax, dword [ebp - 0x144]
cmp dword [eax], 0
je 0x42b982
xorpd xmm4, xmm4
movsd xmm5, qword [0x614160]
movsd xmm6, qword [0x614168]
movsd xmm7, qword [0x612228]
movsd xmm2, qword [0x614170]
xorpd xmm0, xmm0
movapd xmm1, xmm4
mulsd xmm1, qword [0x614148]
mulsd xmm1, xmm4
movapd xmm3, xmm4
mulsd xmm3, xmm4
subsd xmm1, xmm3
movapd xmm3, xmm4
mulsd xmm3, qword [0x614150]
mulsd xmm3, xmm4
addsd xmm3, qword [0x614158]
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 0x4295f3
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x4296ab
imul esi, dword [edi + 0x52], 0x5e2f4123
sub ah, byte [edi]
dec dx
dec ecx
push esi
jp 0x4296e9
push eax
xor eax, 0xf3463570
inc esp
out dx, eax
inc edx
out dx, al
inc ebp
out 0x44, al
out dx, eax
inc ecx
out 0x4c, al
dec edi
out dx, eax
dec ebp
out 0x45, al
out dx, al
dec ebp
out dx, al
dec ebp
invalid
lea edx, [0x429679]
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x140], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x4296c3
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
sal edx, 1
cvttps2pi mm0, xmm2
lea ecx, [0x429664]
mov dword [ebp - 0x30], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x28], 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 0x429736
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x42972f
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x429743
jmp dword [ecx*4 + 0x61457c]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
jmp 0x429775
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x34]
jmp 0x429775
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x28]
jmp 0x42979a
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x42979a
movzx eax, bl
mov bl, byte [ebp + eax - 0x140]
mov eax, dword [ebp - 0x30]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x19
cmp ecx, 0x18
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x4297c9
cmp eax, dword [ebp - 0x20]
ja 0x42973e
jmp 0x4297d0
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
mov edx, dword [ebp - 0x2c]
je 0x429807
mov dl, byte [ebp + esi - 0x140]
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dl
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], dl
xor byte [ebp + esi - 0x140], dl
mov edx, dword [ebp - 0x2c]
dec esi
jne 0x429724
movzx eax, byte [ebp - 0x13f]
mov dword [ebp - 0x30], eax
mov ecx, eax
mov al, byte [ebp - 0x13b]
movzx esi, byte [ebp + edi - 0x140]
mov dword [ebp - 0x24], esi
mov ah, byte [edx]
mov bh, byte [edx + 1]
mov bl, byte [ebp + ecx - 0x140]
add bl, byte [ebp - 0x13d]
movzx esi, bl
mov cl, byte [ebp + esi - 0x140]
mov byte [ebp - 0x34], cl
mov dword [ebp - 0x28], esi
movzx edi, byte [ebp - 0x139]
mov edx, dword [ebp - 0x24]
movzx ecx, byte [ebp + edx - 0x140]
mov dword [ebp - 0x20], ecx
mov cl, byte [ebp - 0x34]
mov byte [ebp + edx - 0x140], cl
mov dh, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], dh
mov ecx, dword [ebp - 0x30]
mov dh, cl
inc dh
movzx ecx, dh
mov dh, byte [ebp + ecx - 0x140]
mov byte [ebp + edi - 0x140], dh
mov edx, dword [ebp - 0x20]
mov byte [ebp + ecx - 0x140], dl
movzx ecx, byte [ebp + edi - 0x140]
mov esi, dword [ebp - 0x24]
movzx edi, byte [ebp + esi - 0x140]
add edi, ecx
add al, byte [ebp + edx - 0x140]
mov byte [ebp - 0x24], al
movzx ecx, al
movzx esi, byte [ebp + ecx - 0x140]
add esi, edi
add bh, 0xbf
shl ah, 4
add ah, 0xc0
or ah, bh
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, edx
mov edi, 0xff
and ecx, edi
mov cl, byte [ebp + ecx - 0x140]
xor cl, ah
and esi, edi
movzx esi, byte [ebp + esi - 0x140]
xor cl, byte [ebp + esi - 0x140]
mov edx, dword [ebp - 0x30]
add dl, 2
movzx esi, dl
mov dword [ebp - 0x28], esi
xor esi, esi
mov edi, esi
mov dword [ebp - 0x38], esi
add bl, byte [ebp - 0x20]
mov byte [ebp - 0x30], bl
movzx esi, ah
mov edx, dword [ebp - 0x2c]
mov ah, byte [edx + edi*2 + 2]
mov al, byte [edx + edi*2 + 3]
mov byte [ebp - 0x34], al
movzx ebx, bl
mov dword [ebp - 0x3c], ebx
mov al, byte [ebp + ebx - 0x140]
movzx edx, byte [ebp + esi - 0x140]
mov dword [ebp - 0x20], edx
mov byte [ebp + esi - 0x140], al
movzx ecx, cl
mov al, byte [ebp + ecx - 0x140]
mov byte [ebp + ebx - 0x140], al
mov ebx, dword [ebp - 0x28]
add ebx, edi
mov edi, 0xff
and ebx, edi
mov al, byte [ebp + ebx - 0x140]
mov byte [ebp + ecx - 0x140], al
mov byte [ebp + ebx - 0x140], dl
movzx ecx, byte [ebp + ecx - 0x140]
movzx edi, byte [ebp + esi - 0x140]
add edi, ecx
mov al, byte [ebp - 0x24]
add al, byte [ebp + edx - 0x140]
mov byte [ebp - 0x24], al
movzx ecx, al
movzx ebx, byte [ebp + ecx - 0x140]
add ebx, edi
mov al, byte [ebp - 0x34]
add al, 0xbf
shl ah, 4
add ah, 0xc0
or ah, al
mov ecx, dword [ebp - 0x3c]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, edx
mov edx, 0xff
and ecx, edx
mov cl, byte [ebp + ecx - 0x140]
xor cl, ah
and ebx, edx
movzx edx, byte [ebp + ebx - 0x140]
mov bl, byte [ebp - 0x30]
xor cl, byte [ebp + edx - 0x140]
mov edx, dword [ebp - 0x38]
mov byte [ebp + edx - 0x194], cl
lea esi, [edx + 1]
cmp esi, 9
jne 0x42990f
add dword [ebp - 0x28], esi
xor edi, edi
add bl, byte [ebp - 0x20]
mov byte [ebp - 0x30], bl
movzx edx, ah
mov esi, dword [ebp - 0x2c]
mov al, byte [esi + edi*2 + 0x14]
mov byte [ebp - 0x34], al
mov al, byte [esi + edi*2 + 0x15]
mov byte [ebp - 0x38], al
movzx eax, byte [ebp + edx - 0x140]
mov dword [ebp - 0x20], eax
movzx esi, bl
mov ch, byte [ebp + esi - 0x140]
mov byte [ebp + edx - 0x140], ch
movzx ecx, cl
mov bl, byte [ebp + ecx - 0x140]
mov byte [ebp + esi - 0x140], bl
mov ebx, dword [ebp - 0x28]
add ebx, edi
mov eax, 0xff
and ebx, eax
mov al, byte [ebp + ebx - 0x140]
mov byte [ebp + ecx - 0x140], al
mov eax, dword [ebp - 0x20]
mov byte [ebp + ebx - 0x140], al
mov bl, byte [ebp - 0x24]
add bl, byte [ebp + eax - 0x140]
movzx ecx, byte [ebp + ecx - 0x140]
movzx edx, byte [ebp + edx - 0x140]
add edx, ecx
mov byte [ebp - 0x24], bl
movzx ecx, bl
movzx ebx, byte [ebp + ecx - 0x140]
add ebx, edx
mov al, byte [ebp - 0x38]
add al, 0xbf
mov ah, byte [ebp - 0x34]
shl ah, 4
add ah, 0xc0
or ah, al
movzx ecx, byte [ebp + esi - 0x140]
add ecx, dword [ebp - 0x20]
mov edx, 0xff
and ecx, edx
mov cl, byte [ebp + ecx - 0x140]
xor cl, ah
and ebx, edx
movzx edx, byte [ebp + ebx - 0x140]
mov bl, byte [ebp - 0x30]
xor cl, byte [ebp + edx - 0x140]
mov byte [ebp + edi - 0x18b], cl
inc edi
cmp edi, 0xa
jne 0x429a01
mov byte [ebp - 0x182], 0
mov dword [ebp - 0x10], 0xffffffff
lea esi, [ebp - 0x140]
lea eax, [ebp - 0x194]
mov ecx, esi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 2
mov ecx, dword [ebp - 0x144]
push 0
push esi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx], eax
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
lea esi, [ebp - 0x140]
jb 0x429b7e
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x429b74
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cb92
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
xorpd xmm3, xmm3
movsd xmm4, qword [0x614180]
movsd xmm5, qword [0x614188]
movsd xmm6, qword [0x614190]
movsd xmm7, qword [0x614198]
xorpd xmm0, xmm0
movapd xmm1, xmm3
mulsd xmm1, qword [0x614178]
mulsd xmm1, xmm3
movapd xmm2, xmm3
mulsd xmm2, xmm3
subsd xmm1, xmm2
movapd xmm2, xmm3
mulsd xmm2, qword [0x6120d8]
mulsd xmm2, xmm3
addsd xmm2, xmm4
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
movsd xmm1, qword [0x612408]
addsd xmm3, xmm1
ucomisd xmm7, xmm3
ja 0x429ba6
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x429c61
cmp byte [ecx + 0x3a], dl
dec ecx
xor byte [ecx + esi + 0x4e], al
xor al, 0x46
xor eax, 0x3b482f4f
dec esp
cmp byte [eax + 0x32], cl
dec eax
aaa
dec ebp
cmp dl, byte [eax + 0x3a]
inc ebx
xor al, 0x42
cmp ecx, dword [ebp + 0x33]
dec ebp
je 0x429c9a
jo 0x429c73
xor cl, byte [ecx + 0x4d]
push 0x2f453626
pushaw
pop edi
pop eax
dec edx
pop esp
aaa
pop ecx
insd dword es:[edi], dx
xor eax, 0xc77d4467
inc ebp
invalid
lea edx, [0x429c1b]
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
outsd dx, dword [esi]
adc eax, 0x612120
movdqu xmmword [ebp + eax - 0x140], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x429c79
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
sub al, dl
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x429c3b]
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 - 0x28], 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 0x429cec
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x429ce5
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x429cf9
jmp dword [ecx*4 + 0x61458c]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
jmp 0x429d2b
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x34]
jmp 0x429d2b
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x28]
jmp 0x429d50
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x429d50
movzx eax, bl
mov bl, byte [ebp + eax - 0x140]
mov eax, dword [ebp - 0x2c]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x1e
cmp ecx, 0x1d
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x429d7f
cmp eax, dword [ebp - 0x20]
ja 0x429cf4
jmp 0x429d86
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
mov edx, dword [ebp - 0x30]
je 0x429dbd
mov dl, byte [ebp + esi - 0x140]
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dl
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], dl
xor byte [ebp + esi - 0x140], dl
mov edx, dword [ebp - 0x30]
dec esi
jne 0x429cda
mov cl, byte [ebp - 0x13f]
mov byte [ebp - 0x2c], cl
mov al, byte [ebp - 0x13b]
mov byte [ebp - 0x24], al
movzx ecx, cl
movzx eax, byte [ebp + edi - 0x140]
mov bl, byte [edx]
mov bh, byte [edx + 1]
mov byte [ebp - 0x28], bh
mov dword [ebp - 0x40], ecx
mov dl, byte [ebp + ecx - 0x140]
add dl, byte [ebp - 0x13d]
movzx edi, dl
mov bh, byte [ebp + edi - 0x140]
movzx esi, byte [ebp - 0x139]
mov ecx, eax
mov dword [ebp - 0x34], eax
movzx eax, byte [ebp + eax - 0x140]
mov dword [ebp - 0x20], eax
mov byte [ebp + ecx - 0x140], bh
mov bh, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], bh
mov bh, byte [ebp - 0x2c]
inc bh
movzx ecx, bh
mov bh, byte [ebp + ecx - 0x140]
mov byte [ebp + esi - 0x140], bh
mov byte [ebp + ecx - 0x140], al
mov cl, byte [ebp - 0x28]
add cl, 0xbe
shl bl, 4
add bl, 0x30
or bl, cl
movzx ecx, byte [ebp + edi - 0x140]
add ecx, eax
mov edi, 0xff
and ecx, edi
movzx edi, bl
xor bl, byte [ebp + ecx - 0x140]
movzx ecx, byte [ebp + esi - 0x140]
mov eax, dword [ebp - 0x34]
movzx esi, byte [ebp + eax - 0x140]
add esi, ecx
mov al, byte [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
add al, byte [ebp + ecx - 0x140]
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, esi
mov esi, 0xff
and ecx, esi
movzx ecx, byte [ebp + ecx - 0x140]
xor bl, byte [ebp + ecx - 0x140]
add dl, byte [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov ah, byte [ecx + 2]
mov cl, byte [ecx + 3]
mov byte [ebp - 0x28], cl
mov esi, edi
mov dword [ebp - 0x38], edi
movzx ecx, byte [ebp + edi - 0x140]
mov byte [ebp - 0x20], dl
movzx edi, dl
mov dh, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], dh
movzx ebx, bl
mov dh, byte [ebp + ebx - 0x140]
mov byte [ebp + edi - 0x140], dh
mov dl, byte [ebp - 0x2c]
add dl, 2
movzx esi, dl
mov dh, byte [ebp + esi - 0x140]
mov byte [ebp + ebx - 0x140], dh
mov byte [ebp + esi - 0x140], cl
movzx esi, byte [ebp + ebx - 0x140]
mov edx, dword [ebp - 0x38]
movzx ebx, byte [ebp + edx - 0x140]
add ebx, esi
add al, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x24], al
movzx esi, al
movzx esi, byte [ebp + esi - 0x140]
add esi, ebx
mov al, byte [ebp - 0x28]
add al, 0xbe
shl ah, 4
add ah, 0x30
or ah, al
movzx ebx, byte [ebp + edi - 0x140]
add ebx, ecx
mov edi, 0xff
and ebx, edi
mov dh, byte [ebp + ebx - 0x140]
mov ebx, ecx
xor dh, ah
and esi, edi
movzx esi, byte [ebp + esi - 0x140]
xor dh, byte [ebp + esi - 0x140]
mov byte [ebp - 0x172], dh
mov dword [ebp - 0x2c], 0
mov al, byte [ebp - 0x20]
add al, bl
movzx esi, ah
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov ah, byte [ecx + edi*2 + 4]
mov cl, byte [ecx + edi*2 + 5]
mov byte [ebp - 0x28], cl
movzx ecx, byte [ebp + esi - 0x140]
mov dword [ebp - 0x3c], ecx
mov ebx, esi
mov dword [ebp - 0x38], esi
mov byte [ebp - 0x20], al
movzx esi, al
mov dl, byte [ebp + esi - 0x140]
mov dword [ebp - 0x34], esi
mov byte [ebp + ebx - 0x140], dl
movzx ebx, dh
mov cl, byte [ebp + ebx - 0x140]
mov byte [ebp + esi - 0x140], cl
mov ecx, dword [ebp - 0x40]
add ecx, edi
add ecx, 3
mov edx, 0xff
and ecx, edx
mov al, byte [ebp + ecx - 0x140]
mov byte [ebp + ebx - 0x140], al
mov edx, dword [ebp - 0x3c]
mov byte [ebp + ecx - 0x140], dl
mov al, byte [ebp - 0x24]
add al, byte [ebp + edx - 0x140]
mov esi, edx
movzx ecx, byte [ebp + ebx - 0x140]
mov edx, dword [ebp - 0x38]
movzx edx, byte [ebp + edx - 0x140]
mov ebx, esi
add edx, ecx
mov byte [ebp - 0x24], al
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, edx
mov al, byte [ebp - 0x28]
add al, 0xbe
shl ah, 4
add ah, 0x30
or ah, al
mov edx, dword [ebp - 0x34]
movzx edx, byte [ebp + edx - 0x140]
add edx, esi
mov esi, 0xff
and edx, esi
mov dh, byte [ebp + edx - 0x140]
xor dh, ah
and ecx, esi
movzx ecx, byte [ebp + ecx - 0x140]
xor dh, byte [ebp + ecx - 0x140]
mov byte [ebp + edi - 0x171], dh
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 3
jne 0x429f8c
mov ecx, dword [ebp - 0x30]
mov al, byte [ecx + 0xa]
mov byte [ebp - 0x28], al
mov al, byte [ecx + 0xb]
mov byte [ebp - 0x34], al
movzx ecx, ah
mov al, byte [ebp - 0x20]
add al, bl
mov byte [ebp - 0x20], al
movzx esi, al
mov ah, byte [ebp + esi - 0x140]
movzx ebx, byte [ebp + ecx - 0x140]
mov byte [ebp + ecx - 0x140], ah
mov edi, ecx
movzx edx, dh
mov ah, byte [ebp + edx - 0x140]
mov byte [ebp + esi - 0x140], ah
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x2c]
add ecx, eax
add ecx, 3
mov eax, 0xff
and ecx, eax
mov ah, byte [ebp + ecx - 0x140]
mov byte [ebp + edx - 0x140], ah
mov byte [ebp + ecx - 0x140], bl
movzx eax, byte [ebp + edx - 0x140]
movzx ecx, byte [ebp + edi - 0x140]
add ecx, eax
mov al, byte [ebp - 0x24]
add al, byte [ebp + ebx - 0x140]
mov edx, ebx
movzx ebx, al
movzx ebx, byte [ebp + ebx - 0x140]
add ebx, ecx
mov cl, byte [ebp - 0x34]
add cl, 0xbe
mov ah, byte [ebp - 0x28]
shl ah, 4
add ah, 0x30
or ah, cl
mov byte [ebp - 0x28], ah
movzx ecx, byte [ebp + esi - 0x140]
add ecx, edx
mov edi, edx
mov esi, 0xff
and ecx, esi
mov dh, byte [ebp + ecx - 0x140]
xor dh, ah
and ebx, esi
movzx ecx, byte [ebp + ebx - 0x140]
xor dh, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x16e], dh
mov ecx, dword [ebp - 0x30]
mov ah, byte [ecx + 0xc]
mov cl, byte [ecx + 0xd]
mov byte [ebp - 0x24], cl
mov dl, byte [ebp - 0x20]
mov ecx, edi
add dl, cl
mov byte [ebp - 0x20], dl
movzx ecx, byte [ebp - 0x28]
mov dword [ebp - 0x28], ecx
movzx ebx, dl
mov dl, byte [ebp + ebx - 0x140]
movzx esi, byte [ebp + ecx - 0x140]
mov byte [ebp + ecx - 0x140], dl
movzx edi, dh
mov dh, byte [ebp + edi - 0x140]
mov byte [ebp + ebx - 0x140], dh
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x2c]
add ecx, edx
add ecx, 4
mov edx, 0xff
and ecx, edx
mov dh, byte [ebp + ecx - 0x140]
mov byte [ebp + edi - 0x140], dh
mov edx, esi
mov byte [ebp + ecx - 0x140], dl
mov cl, byte [ebp - 0x24]
add cl, 0xbe
shl ah, 4
add ah, 0x30
or ah, cl
movzx ecx, byte [ebp + ebx - 0x140]
add ecx, esi
mov edx, 0xff
and ecx, edx
movzx ebx, ah
mov dword [ebp - 0x24], ebx
xor ah, byte [ebp + ecx - 0x140]
movzx ecx, byte [ebp + edi - 0x140]
mov edi, dword [ebp - 0x28]
movzx ebx, byte [ebp + edi - 0x140]
add ebx, ecx
add al, byte [ebp + esi - 0x140]
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, ebx
and ecx, edx
movzx ecx, byte [ebp + ecx - 0x140]
xor ah, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x16d], ah
mov edx, dword [ebp - 0x30]
mov cl, byte [edx + 0xe]
mov byte [ebp - 0x28], cl
mov cl, byte [ebp - 0x20]
mov ebx, esi
add cl, bl
mov dh, byte [edx + 0xf]
mov byte [ebp - 0x20], cl
movzx esi, cl
mov dword [ebp - 0x34], esi
mov bh, byte [ebp + esi - 0x140]
mov edi, dword [ebp - 0x24]
movzx ecx, byte [ebp + edi - 0x140]
mov byte [ebp + edi - 0x140], bh
movzx ebx, ah
mov ah, byte [ebp + ebx - 0x140]
mov byte [ebp + esi - 0x140], ah
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp - 0x2c]
add edi, esi
add edi, 5
mov esi, 0xff
and edi, esi
mov ah, byte [ebp + edi - 0x140]
mov byte [ebp + ebx - 0x140], ah
mov byte [ebp + edi - 0x140], cl
movzx edi, byte [ebp + ebx - 0x140]
mov esi, dword [ebp - 0x24]
movzx ebx, byte [ebp + esi - 0x140]
add ebx, edi
add al, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x24], al
movzx edi, al
mov eax, dword [ebp - 0x40]
movzx edi, byte [ebp + edi - 0x140]
add edi, ebx
mov dl, byte [ebp - 0x28]
shl dl, 4
add dl, 0x30
add dh, 0xbe
or dh, dl
mov esi, dword [ebp - 0x34]
movzx ebx, byte [ebp + esi - 0x140]
mov dword [ebp - 0x28], ecx
add ebx, ecx
mov ecx, 0xff
and ebx, ecx
mov bl, byte [ebp + ebx - 0x140]
xor bl, dh
and edi, ecx
movzx edi, byte [ebp + edi - 0x140]
xor bl, byte [ebp + edi - 0x140]
mov byte [ebp - 0x16c], bl
add eax, dword [ebp - 0x2c]
add al, 8
xor esi, esi
mov byte [ebp - 0x2c], al
mov al, byte [ebp - 0x20]
add al, byte [ebp - 0x28]
movzx edi, dh
mov ecx, dword [ebp - 0x30]
mov dh, byte [ecx + esi*2 + 0x10]
mov cl, byte [ecx + esi*2 + 0x11]
mov byte [ebp - 0x28], cl
movzx ecx, byte [ebp + edi - 0x140]
mov byte [ebp - 0x20], al
movzx eax, al
mov dword [ebp - 0x34], eax
mov dl, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x140], dl
movzx ebx, bl
mov dl, byte [ebp + ebx - 0x140]
mov byte [ebp + eax - 0x140], dl
mov dl, byte [ebp - 0x2c]
add dl, 0xfe
movzx eax, dl
mov dl, byte [ebp + eax - 0x140]
mov byte [ebp + ebx - 0x140], dl
mov byte [ebp + eax - 0x140], cl
movzx eax, byte [ebp + ebx - 0x140]
movzx edi, byte [ebp + edi - 0x140]
add edi, eax
mov al, byte [ebp - 0x24]
mov ebx, ecx
add al, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x24], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x140]
add eax, edi
mov dl, byte [ebp - 0x28]
add dl, 0xbe
shl dh, 4
add dh, 0x30
or dh, dl
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x140]
mov dword [ebp - 0x28], ebx
add ecx, ebx
mov edi, 0xff
and ecx, edi
mov bl, byte [ebp + ecx - 0x140]
xor bl, dh
and eax, edi
movzx eax, byte [ebp + eax - 0x140]
xor bl, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x16b], bl
inc esi
mov al, byte [ebp - 0x2c]
inc al
cmp esi, 5
jne 0x42a329
mov dl, byte [ebp - 0x20]
add dl, byte [ebp - 0x28]
mov byte [ebp - 0x20], dl
movzx esi, dh
mov dword [ebp - 0x38], esi
mov edi, dword [ebp - 0x30]
mov dh, byte [edi + 0x1a]
mov dword [ebp - 0x40], eax
mov cl, byte [edi + 0x1b]
movzx edi, byte [ebp + esi - 0x140]
mov dword [ebp - 0x28], edi
movzx edi, dl
mov dl, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], dl
movzx ebx, bl
mov dl, byte [ebp + ebx - 0x140]
mov byte [ebp + edi - 0x140], dl
mov dl, al
add dl, 0xfe
movzx esi, dl
mov dl, byte [ebp + esi - 0x140]
mov byte [ebp + ebx - 0x140], dl
mov eax, dword [ebp - 0x28]
mov byte [ebp + esi - 0x140], al
add cl, 0xbe
shl dh, 4
add dh, 0x30
or dh, cl
movzx ecx, byte [ebp + edi - 0x140]
add ecx, eax
mov eax, 0xff
and ecx, eax
mov eax, 0xff
movzx edi, dh
mov dword [ebp - 0x34], edi
xor dh, byte [ebp + ecx - 0x140]
movzx ecx, byte [ebp + ebx - 0x140]
mov esi, dword [ebp - 0x38]
movzx esi, byte [ebp + esi - 0x140]
add esi, ecx
mov cl, byte [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
add cl, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x24], cl
movzx ecx, cl
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, esi
and ecx, eax
movzx ecx, byte [ebp + ecx - 0x140]
xor dh, byte [ebp + ecx - 0x140]
mov cl, byte [ebp - 0x20]
add cl, bl
mov byte [ebp - 0x20], cl
mov byte [ebp - 0x166], dh
mov eax, dword [ebp - 0x30]
mov bl, byte [eax + 0x1c]
mov al, byte [eax + 0x1d]
movzx esi, byte [ebp + edi - 0x140]
mov dword [ebp - 0x28], esi
movzx esi, cl
mov dl, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], dl
movzx edi, dh
mov bh, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], bh
movzx edx, byte [ebp - 0x2c]
mov ah, byte [ebp + edx - 0x140]
mov byte [ebp + edi - 0x140], ah
mov ecx, dword [ebp - 0x28]
mov byte [ebp + edx - 0x140], cl
add al, 0xbe
shl bl, 4
add bl, 0x30
or bl, al
movzx eax, byte [ebp + esi - 0x140]
add eax, ecx
mov esi, ecx
mov ecx, 0xff
and eax, ecx
movzx ecx, bl
mov dword [ebp - 0x2c], ecx
xor bl, byte [ebp + eax - 0x140]
movzx eax, byte [ebp + edi - 0x140]
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, eax
mov dh, byte [ebp - 0x24]
add dh, byte [ebp + esi - 0x140]
movzx eax, dh
movzx eax, byte [ebp + eax - 0x140]
add eax, ecx
mov ecx, 0xff
and eax, ecx
movzx eax, byte [ebp + eax - 0x140]
xor bl, byte [ebp + eax - 0x140]
mov cl, byte [ebp - 0x20]
mov eax, esi
add cl, al
mov byte [ebp - 0x165], bl
mov esi, dword [ebp - 0x30]
mov al, byte [esi + 0x1e]
mov dl, byte [esi + 0x1f]
movzx edi, cl
mov ah, byte [ebp + edi - 0x140]
mov esi, dword [ebp - 0x2c]
movzx ecx, byte [ebp + esi - 0x140]
mov byte [ebp + esi - 0x140], ah
movzx ebx, bl
mov ah, byte [ebp + ebx - 0x140]
mov byte [ebp + edi - 0x140], ah
movzx esi, byte [ebp - 0x40]
mov ah, byte [ebp + esi - 0x140]
mov byte [ebp + ebx - 0x140], ah
mov byte [ebp + esi - 0x140], cl
add dh, byte [ebp + ecx - 0x140]
movzx esi, byte [ebp + edi - 0x140]
add esi, ecx
shl al, 4
add al, 0x30
add dl, 0xbe
or dl, al
mov edi, 0xff
and esi, edi
xor dl, byte [ebp + esi - 0x140]
movzx eax, dh
movzx ecx, byte [ebp + ebx - 0x140]
mov esi, dword [ebp - 0x2c]
movzx esi, byte [ebp + esi - 0x140]
add esi, ecx
movzx eax, byte [ebp + eax - 0x140]
add eax, esi
and eax, edi
movzx eax, byte [ebp + eax - 0x140]
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp - 0x164], dl
mov byte [ebp - 0x163], 0
mov dword [ebp - 0x10], 0xffffffff
lea esi, [ebp - 0x140]
lea eax, [ebp - 0x172]
mov ecx, esi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 3
mov ecx, dword [ebp - 0x144]
push 0
push esi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 4], eax
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
lea esi, [ebp - 0x140]
jb 0x42a70e
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42a704
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cb92
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 [0x6141b8]
movsd xmm6, qword [0x6141c0]
movsd xmm7, qword [0x612160]
movsd xmm2, qword [0x6141c8]
xorpd xmm0, xmm0
movapd xmm1, xmm4
mulsd xmm1, qword [0x6141a0]
mulsd xmm1, xmm4
movapd xmm3, xmm4
mulsd xmm3, xmm4
subsd xmm1, xmm3
movapd xmm3, xmm4
mulsd xmm3, qword [0x6141a8]
mulsd xmm3, xmm4
addsd xmm3, qword [0x6141b0]
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 0x42a736
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x42a800
les edx, [esi - 0x6d34603c]
leave
pushfd
leave
nop
lds ebx, [esi - 0x653e6d3f]
into
lcall 0x95c8, 0x90c690ce
les ebx, [edi - 0x623b6737]
les edx, [ecx - 0x64376c35]
retf 0xc993
lea eax, [0x42a7a7]
mov dword [ebp - 0x34], eax
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x140], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x42a81b
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x42a7d9]
mov dword [ebp - 0x30], 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 - 0x28], ecx
mov esi, 0xff
xor ecx, ecx
xor ebx, ebx
xor edx, edx
inc edx
cmp esi, 2
jb 0x42a88b
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x42a884
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x42a898
jmp dword [ecx*4 + 0x61459c]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
jmp 0x42a8ca
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x28]
jmp 0x42a8ca
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x2c]
jmp 0x42a8ef
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x42a8ef
movzx eax, bl
mov bl, byte [ebp + eax - 0x140]
mov eax, dword [ebp - 0x30]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x1f
cmp ecx, 0x1e
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x42a91e
cmp eax, dword [ebp - 0x20]
ja 0x42a893
jmp 0x42a925
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
je 0x42a956
mov dl, byte [ebp + esi - 0x140]
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dl
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], dl
xor byte [ebp + esi - 0x140], dl
dec esi
jne 0x42a879
mov cl, byte [ebp - 0x13f]
mov byte [ebp - 0x3c], cl
mov al, byte [ebp - 0x13b]
mov byte [ebp - 0x20], al
movzx edx, cl
movzx eax, byte [ebp + edi - 0x140]
mov ebx, dword [ebp - 0x34]
mov cl, byte [ebx]
mov dword [ebp - 0x30], edx
mov dl, byte [ebp + edx - 0x140]
add dl, byte [ebp - 0x13d]
mov dh, byte [ebx + 1]
mov byte [ebp - 0x2c], dh
mov byte [ebp - 0x24], dl
movzx edi, dl
mov dl, byte [ebp + edi - 0x140]
mov byte [ebp - 0x38], dl
movzx esi, byte [ebp - 0x139]
mov edx, eax
mov dword [ebp - 0x28], eax
movzx eax, byte [ebp + eax - 0x140]
mov ch, byte [ebp - 0x38]
mov byte [ebp + edx - 0x140], ch
mov dl, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], dl
mov dl, byte [ebp - 0x3c]
inc dl
movzx edx, dl
mov ch, byte [ebp + edx - 0x140]
mov byte [ebp + esi - 0x140], ch
mov byte [ebp + edx - 0x140], al
movzx edx, byte [ebp + esi - 0x140]
mov esi, dword [ebp - 0x28]
movzx esi, byte [ebp + esi - 0x140]
add esi, edx
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + eax - 0x140]
mov byte [ebp - 0x20], dl
movzx edx, dl
movzx edx, byte [ebp + edx - 0x140]
add edx, esi
mov ch, byte [ebp - 0x2c]
add ch, 0x70
shl cl, 4
add cl, 0xf0
or cl, ch
movzx edi, byte [ebp + edi - 0x140]
mov esi, eax
add edi, eax
mov eax, 0xff
and edi, eax
mov ch, byte [ebp + edi - 0x140]
xor ch, cl
and edx, eax
movzx edx, byte [ebp + edx - 0x140]
xor ch, byte [ebp + edx - 0x140]
xor edi, edi
mov al, byte [ebp - 0x24]
mov edx, esi
add al, dl
mov dl, byte [ebx + edi*2 + 2]
mov esi, edi
mov dword [ebp - 0x28], edi
mov byte [ebp - 0x2c], dl
movzx edi, cl
mov cl, byte [ebx + esi*2 + 3]
mov byte [ebp - 0x24], al
movzx eax, al
mov dword [ebp - 0x38], eax
mov dh, byte [ebp + eax - 0x140]
movzx ebx, byte [ebp + edi - 0x140]
mov byte [ebp + edi - 0x140], dh
movzx edx, ch
mov ch, byte [ebp + edx - 0x140]
mov byte [ebp + eax - 0x140], ch
mov eax, dword [ebp - 0x30]
add eax, esi
add eax, 2
mov esi, 0xff
and eax, esi
mov ch, byte [ebp + eax - 0x140]
mov byte [ebp + edx - 0x140], ch
mov byte [ebp + eax - 0x140], bl
movzx eax, byte [ebp + edx - 0x140]
movzx esi, byte [ebp + edi - 0x140]
add esi, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x140]
add eax, esi
mov dl, byte [ebp - 0x2c]
shl dl, 4
add dl, 0xf0
add cl, 0x70
or cl, dl
mov edx, dword [ebp - 0x38]
movzx edx, byte [ebp + edx - 0x140]
mov esi, ebx
add edx, ebx
mov ebx, dword [ebp - 0x34]
mov edi, 0xff
and edx, edi
mov ch, byte [ebp + edx - 0x140]
xor ch, cl
and eax, edi
movzx eax, byte [ebp + eax - 0x140]
xor ch, byte [ebp + eax - 0x140]
mov eax, dword [ebp - 0x28]
mov byte [ebp + eax - 0x162], ch
lea edi, [eax + 1]
cmp edi, 0xa
jne 0x42aa5a
mov al, byte [ebx + 0x16]
mov byte [ebp - 0x28], al
mov al, byte [ebx + 0x17]
mov byte [ebp - 0x38], al
movzx eax, cl
mov cl, byte [ebp - 0x24]
mov edx, esi
add cl, dl
mov byte [ebp - 0x24], cl
movzx edx, cl
mov cl, byte [ebp + edx - 0x140]
mov dword [ebp - 0x3c], eax
movzx esi, byte [ebp + eax - 0x140]
mov dword [ebp - 0x2c], esi
mov byte [ebp + eax - 0x140], cl
movzx esi, ch
mov bl, byte [ebp + esi - 0x140]
mov byte [ebp + edx - 0x140], bl
mov ecx, dword [ebp - 0x30]
lea ebx, [ecx + edi]
add ebx, 2
mov ecx, 0xff
and ebx, ecx
mov cl, byte [ebp + ebx - 0x140]
mov byte [ebp + esi - 0x140], cl
mov eax, dword [ebp - 0x2c]
mov byte [ebp + ebx - 0x140], al
mov cl, byte [ebp - 0x38]
add cl, 0x70
mov ah, byte [ebp - 0x28]
shl ah, 4
add ah, 0xf0
or ah, cl
movzx ecx, byte [ebp + edx - 0x140]
mov edx, dword [ebp - 0x2c]
add ecx, edx
mov ebx, 0xff
and ecx, ebx
movzx ebx, ah
mov dword [ebp - 0x28], ebx
xor ah, byte [ebp + ecx - 0x140]
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x140]
mov byte [ebp - 0x20], al
movzx ecx, byte [ebp + esi - 0x140]
mov edx, dword [ebp - 0x3c]
movzx edx, byte [ebp + edx - 0x140]
add edx, ecx
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, edx
mov edx, 0xff
and ecx, edx
movzx ecx, byte [ebp + ecx - 0x140]
xor ah, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x158], ah
mov ecx, dword [ebp - 0x34]
mov dl, byte [ecx + 0x18]
mov bl, byte [ebp - 0x24]
add bl, byte [ebp - 0x2c]
mov bh, byte [ecx + 0x19]
movzx ecx, bl
mov dword [ebp - 0x38], ecx
mov dh, byte [ebp + ecx - 0x140]
mov ecx, dword [ebp - 0x28]
movzx esi, byte [ebp + ecx - 0x140]
mov dword [ebp - 0x2c], esi
mov byte [ebp + ecx - 0x140], dh
movzx eax, ah
mov dword [ebp - 0x24], eax
mov dh, byte [ebp + eax - 0x140]
mov esi, dword [ebp - 0x38]
mov byte [ebp + esi - 0x140], dh
mov ecx, dword [ebp - 0x30]
add ecx, edi
add ecx, 3
mov eax, 0xff
and ecx, eax
mov dh, byte [ebp + ecx - 0x140]
mov eax, dword [ebp - 0x24]
mov byte [ebp + eax - 0x140], dh
mov eax, dword [ebp - 0x2c]
mov byte [ebp + ecx - 0x140], al
shl dl, 4
add dl, 0xf0
add bh, 0x70
or bh, dl
movzx ecx, byte [ebp + esi - 0x140]
add ecx, eax
mov esi, eax
mov eax, 0xff
and ecx, eax
movzx eax, bh
mov dword [ebp - 0x38], eax
xor bh, byte [ebp + ecx - 0x140]
mov eax, dword [ebp - 0x24]
movzx ecx, byte [ebp + eax - 0x140]
mov eax, dword [ebp - 0x28]
movzx edx, byte [ebp + eax - 0x140]
add edx, ecx
mov al, byte [ebp - 0x20]
add al, byte [ebp + esi - 0x140]
mov byte [ebp - 0x20], al
movzx ecx, al
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, edx
mov eax, 0xff
and ecx, eax
movzx ecx, byte [ebp + ecx - 0x140]
xor bh, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x157], bh
mov ecx, dword [ebp - 0x34]
mov al, byte [ecx + 0x1a]
mov byte [ebp - 0x28], al
mov eax, ebx
mov edx, esi
add al, dl
mov bl, byte [ecx + 0x1b]
mov byte [ebp - 0x24], al
movzx eax, al
mov dword [ebp - 0x3c], eax
mov dl, byte [ebp + eax - 0x140]
mov ecx, dword [ebp - 0x38]
movzx esi, byte [ebp + ecx - 0x140]
mov dword [ebp - 0x2c], esi
mov byte [ebp + ecx - 0x140], dl
movzx esi, bh
mov bh, byte [ebp + esi - 0x140]
mov byte [ebp + eax - 0x140], bh
mov eax, dword [ebp - 0x30]
lea edx, [eax + edi]
add edx, 4
mov eax, 0xff
and edx, eax
mov bh, byte [ebp + edx - 0x140]
mov byte [ebp + esi - 0x140], bh
mov eax, dword [ebp - 0x2c]
mov byte [ebp + edx - 0x140], al
movzx edx, byte [ebp + esi - 0x140]
movzx esi, byte [ebp + ecx - 0x140]
add esi, edx
mov cl, byte [ebp - 0x20]
add cl, byte [ebp + eax - 0x140]
mov byte [ebp - 0x20], cl
movzx edx, cl
movzx edx, byte [ebp + edx - 0x140]
add edx, esi
mov cl, byte [ebp - 0x28]
shl cl, 4
add cl, 0xf0
add bl, 0x70
or bl, cl
mov ecx, dword [ebp - 0x3c]
movzx esi, byte [ebp + ecx - 0x140]
add esi, eax
mov ecx, 0xff
and esi, ecx
mov bh, byte [ebp + esi - 0x140]
xor bh, bl
and edx, ecx
movzx edx, byte [ebp + edx - 0x140]
xor bh, byte [ebp + edx - 0x140]
mov edx, eax
mov byte [ebp - 0x156], bh
add dword [ebp - 0x30], edi
xor edi, edi
mov al, byte [ebp - 0x24]
add al, dl
mov ecx, dword [ebp - 0x34]
mov dl, byte [ecx + edi*2 + 0x1c]
mov byte [ebp - 0x28], dl
movzx esi, bl
mov dword [ebp - 0x3c], esi
mov bl, byte [ecx + edi*2 + 0x1d]
movzx ecx, byte [ebp + esi - 0x140]
mov byte [ebp - 0x24], al
movzx eax, al
mov dword [ebp - 0x38], eax
mov dh, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dh
movzx esi, bh
mov dh, byte [ebp + esi - 0x140]
mov byte [ebp + eax - 0x140], dh
mov eax, dword [ebp - 0x30]
add eax, edi
add eax, 5
mov edx, 0xff
and eax, edx
mov dh, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dh
mov dword [ebp - 0x2c], ecx
mov byte [ebp + eax - 0x140], cl
mov dh, byte [ebp - 0x20]
add dh, byte [ebp + ecx - 0x140]
movzx eax, byte [ebp + esi - 0x140]
mov ecx, dword [ebp - 0x3c]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, eax
mov byte [ebp - 0x20], dh
movzx eax, dh
movzx eax, byte [ebp + eax - 0x140]
add eax, ecx
mov cl, byte [ebp - 0x28]
shl cl, 4
add cl, 0xf0
add bl, 0x70
or bl, cl
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, edx
mov esi, 0xff
and ecx, esi
mov bh, byte [ebp + ecx - 0x140]
xor bh, bl
and eax, esi
movzx eax, byte [ebp + eax - 0x140]
xor bh, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x155], bh
inc edi
cmp edi, 0xc
jne 0x42ae09
mov byte [ebp - 0x14a], 0
mov dword [ebp - 0x10], 0xffffffff
lea esi, [ebp - 0x140]
lea eax, [ebp - 0x162]
mov ecx, esi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 4
mov ecx, dword [ebp - 0x144]
push 0
push esi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 0xc], eax
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
lea esi, [ebp - 0x140]
jb 0x42af8f
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42af85
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cb92
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 [0x6141e0]
movsd xmm6, qword [0x6141e8]
movsd xmm7, qword [0x6141f0]
xorpd xmm0, xmm0
movsd xmm4, qword [0x612408]
movapd xmm1, xmm3
mulsd xmm1, qword [0x6141d0]
mulsd xmm1, xmm3
movapd xmm2, xmm3
mulsd xmm2, xmm3
subsd xmm1, xmm2
movapd xmm2, xmm3
mulsd xmm2, qword [0x6141d8]
mulsd xmm2, xmm3
addsd xmm2, qword [0x6124b8]
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 0x42afb7
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x42b071
jge 0x42b0a3
jo 0x42b075
sub al, 0x4c
aaa
jns 0x42b090
das
pop eax
xor eax, dword [edi + 0x70]
inc edi
inc ebp
sub eax, 0x77754e40
pop esp
jl 0x42b079
sub dword [ecx + 0x2b], ecx
outsd dx, dword cs:[esi]
dec edi
xor al, 0x5b
popfd
pop edi
xchg esp, eax
pop ebx
cwde
mov byte [0x9a65945f], al
arpl word [esi - 0x67a1659e], bx
pop esi
mov al, byte [0x97669e57]
pop esi
lcall 0x45c7, 0x9d57945f
invalid
lea edx, [0x42b047]
movdqa xmm1, xmmword [0x612110]
inc edx
add byte [esi + 0xf], ah
outsd dx, dword [esi]
or eax, 0x612110
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x140], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x42b089
invalid
movsd xmm1, qword [0x612130]
or eax, 0x612130
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x42b028]
mov dword [ebp - 0x30], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x28], 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 0x42b0fc
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x42b0f5
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x42b109
jmp dword [ecx*4 + 0x6145ac]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
jmp 0x42b13b
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x34]
jmp 0x42b13b
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x28]
jmp 0x42b160
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x42b160
movzx eax, bl
mov bl, byte [ebp + eax - 0x140]
mov eax, dword [ebp - 0x30]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x23
cmp ecx, 0x22
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x42b18f
cmp eax, dword [ebp - 0x20]
ja 0x42b104
jmp 0x42b196
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
mov edx, dword [ebp - 0x2c]
je 0x42b1cd
mov dl, byte [ebp + esi - 0x140]
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dl
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], dl
xor byte [ebp + esi - 0x140], dl
mov edx, dword [ebp - 0x2c]
dec esi
jne 0x42b0ea
mov al, byte [ebp - 0x13f]
mov cl, byte [ebp - 0x13b]
mov byte [ebp - 0x20], cl
movzx ecx, al
mov bh, al
mov byte [ebp - 0x34], al
movzx eax, byte [ebp + edi - 0x140]
mov bl, byte [edx]
mov byte [ebp - 0x24], bl
mov bl, byte [edx + 1]
mov byte [ebp - 0x28], bl
mov dword [ebp - 0x30], ecx
mov dl, byte [ebp + ecx - 0x140]
add dl, byte [ebp - 0x13d]
movzx edi, dl
mov bl, byte [ebp + edi - 0x140]
movzx esi, byte [ebp - 0x139]
mov ecx, eax
mov dword [ebp - 0x38], eax
movzx eax, byte [ebp + eax - 0x140]
mov byte [ebp + ecx - 0x140], bl
mov bl, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], bl
mov bl, bh
inc bl
movzx ebx, bl
mov cl, byte [ebp + ebx - 0x140]
mov byte [ebp + esi - 0x140], cl
mov ecx, eax
mov byte [ebp + ebx - 0x140], cl
mov ah, byte [ebp - 0x28]
add ah, 0x6d
mov al, byte [ebp - 0x24]
shl al, 4
add al, 0x90
or al, ah
movzx ebx, byte [ebp + edi - 0x140]
add ebx, ecx
mov edi, 0xff
and ebx, edi
movzx edi, al
mov dword [ebp - 0x28], edi
xor al, byte [ebp + ebx - 0x140]
movzx esi, byte [ebp + esi - 0x140]
mov edi, dword [ebp - 0x38]
movzx ebx, byte [ebp + edi - 0x140]
add ebx, esi
mov ah, byte [ebp - 0x20]
add ah, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x20], ah
movzx esi, ah
movzx esi, byte [ebp + esi - 0x140]
add esi, ebx
mov edi, 0xff
and esi, edi
movzx esi, byte [ebp + esi - 0x140]
xor al, byte [ebp + esi - 0x140]
add dl, cl
mov esi, dword [ebp - 0x2c]
mov cl, byte [esi + 2]
mov ah, byte [esi + 3]
mov ebx, dword [ebp - 0x28]
movzx esi, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x24], dl
movzx edi, dl
mov edx, esi
mov ch, byte [ebp + edi - 0x140]
mov dword [ebp - 0x38], edi
mov byte [ebp + ebx - 0x140], ch
movzx ebx, al
mov ch, byte [ebp + ebx - 0x140]
mov byte [ebp + edi - 0x140], ch
mov al, byte [ebp - 0x34]
add al, 2
movzx esi, al
mov ch, byte [ebp + esi - 0x140]
mov byte [ebp + ebx - 0x140], ch
mov byte [ebp + esi - 0x140], dl
movzx edi, byte [ebp + ebx - 0x140]
mov esi, dword [ebp - 0x28]
movzx esi, byte [ebp + esi - 0x140]
add esi, edi
mov edi, esi
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x140]
mov byte [ebp - 0x20], al
movzx esi, al
movzx ebx, byte [ebp + esi - 0x140]
add ebx, edi
add ah, 0x6d
shl cl, 4
add cl, 0x90
or cl, ah
mov eax, dword [ebp - 0x38]
movzx esi, byte [ebp + eax - 0x140]
add esi, edx
mov eax, 0xff
and esi, eax
mov ch, byte [ebp + esi - 0x140]
xor ch, cl
and ebx, eax
movzx esi, byte [ebp + ebx - 0x140]
xor ch, byte [ebp + esi - 0x140]
mov byte [ebp - 0x181], ch
xor ebx, ebx
mov al, byte [ebp - 0x24]
add al, dl
movzx esi, cl
mov dword [ebp - 0x38], esi
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov cl, byte [edx + ebx*2 + 4]
mov dl, byte [edx + ebx*2 + 5]
movzx ebx, byte [ebp + esi - 0x140]
mov dword [ebp - 0x28], ebx
mov byte [ebp - 0x24], al
movzx eax, al
mov dword [ebp - 0x34], eax
mov dh, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dh
movzx esi, ch
mov ch, byte [ebp + esi - 0x140]
mov byte [ebp + eax - 0x140], ch
mov ebx, dword [ebp - 0x30]
add ebx, edi
add ebx, 3
mov eax, 0xff
and ebx, eax
mov ch, byte [ebp + ebx - 0x140]
mov byte [ebp + esi - 0x140], ch
mov eax, dword [ebp - 0x28]
mov byte [ebp + ebx - 0x140], al
mov ch, byte [ebp - 0x20]
add ch, byte [ebp + eax - 0x140]
movzx esi, byte [ebp + esi - 0x140]
mov eax, dword [ebp - 0x38]
movzx ebx, byte [ebp + eax - 0x140]
add ebx, esi
mov byte [ebp - 0x20], ch
movzx esi, ch
movzx esi, byte [ebp + esi - 0x140]
add esi, ebx
add dl, 0x6d
shl cl, 4
add cl, 0x90
or cl, dl
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
movzx eax, byte [ebp + eax - 0x140]
add eax, edx
mov ebx, 0xff
and eax, ebx
mov ch, byte [ebp + eax - 0x140]
xor ch, cl
and esi, ebx
movzx eax, byte [ebp + esi - 0x140]
xor ch, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x180], ch
inc edi
mov ebx, edi
cmp edi, 4
jne 0x42b3a1
mov esi, dword [ebp - 0x2c]
mov al, byte [esi + 0xc]
mov byte [ebp - 0x38], al
mov al, byte [esi + 0xd]
mov byte [ebp - 0x40], al
movzx edi, cl
mov al, byte [ebp - 0x24]
add al, dl
mov byte [ebp - 0x24], al
movzx esi, al
mov dword [ebp - 0x28], esi
mov cl, byte [ebp + esi - 0x140]
movzx edx, byte [ebp + edi - 0x140]
mov byte [ebp + edi - 0x140], cl
movzx eax, ch
mov cl, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], cl
mov dword [ebp - 0x34], ebx
mov ecx, dword [ebp - 0x30]
add ecx, ebx
add ecx, 3
mov ebx, 0xff
and ecx, ebx
mov bl, byte [ebp + ecx - 0x140]
mov byte [ebp + eax - 0x140], bl
mov esi, eax
mov ebx, edx
mov dword [ebp - 0x3c], edx
mov byte [ebp + ecx - 0x140], bl
mov cl, byte [ebp - 0x40]
add cl, 0x6d
mov al, byte [ebp - 0x38]
shl al, 4
add al, 0x90
or al, cl
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, edx
mov edx, 0xff
and ecx, edx
movzx edx, al
mov dword [ebp - 0x28], edx
xor al, byte [ebp + ecx - 0x140]
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + ebx - 0x140]
movzx ecx, byte [ebp + esi - 0x140]
movzx ebx, byte [ebp + edi - 0x140]
add ebx, ecx
movzx ecx, dl
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, ebx
mov edi, 0xff
and ecx, edi
movzx ecx, byte [ebp + ecx - 0x140]
xor al, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x17c], al
mov esi, dword [ebp - 0x2c]
mov dh, byte [esi + 0xe]
mov ah, byte [ebp - 0x24]
add ah, byte [ebp - 0x3c]
mov byte [ebp - 0x24], ah
mov cl, byte [esi + 0xf]
mov byte [ebp - 0x38], cl
movzx edi, ah
mov bl, byte [ebp + edi - 0x140]
mov ecx, dword [ebp - 0x28]
movzx esi, byte [ebp + ecx - 0x140]
mov byte [ebp + ecx - 0x140], bl
movzx eax, al
mov ch, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x140], ch
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x34]
add ecx, ebx
add ecx, 4
mov ebx, 0xff
and ecx, ebx
mov bl, byte [ebp + ecx - 0x140]
mov byte [ebp + eax - 0x140], bl
mov ebx, esi
mov byte [ebp + ecx - 0x140], bl
movzx eax, byte [ebp + eax - 0x140]
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, eax
add dl, byte [ebp + esi - 0x140]
mov byte [ebp - 0x20], dl
movzx ebx, dl
movzx ebx, byte [ebp + ebx - 0x140]
add ebx, ecx
mov al, byte [ebp - 0x38]
add al, 0x6d
shl dh, 4
add dh, 0x90
or dh, al
movzx ecx, byte [ebp + edi - 0x140]
add ecx, esi
mov edi, 0xff
and ecx, edi
mov al, byte [ebp + ecx - 0x140]
xor al, dh
and ebx, edi
movzx ecx, byte [ebp + ebx - 0x140]
xor al, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x40], al
mov byte [ebp - 0x17b], al
mov ecx, dword [ebp - 0x2c]
mov bl, byte [ecx + 0x10]
mov al, byte [ecx + 0x11]
mov byte [ebp - 0x28], al
mov ecx, esi
mov al, byte [ebp - 0x24]
add al, cl
movzx esi, dh
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x24], al
movzx eax, al
mov dword [ebp - 0x38], eax
mov bh, byte [ebp + eax - 0x140]
movzx edx, byte [ebp + esi - 0x140]
mov byte [ebp + esi - 0x140], bh
movzx esi, byte [ebp - 0x40]
mov bh, byte [ebp + esi - 0x140]
mov byte [ebp + eax - 0x140], bh
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
lea edi, [eax + ecx]
add edi, 5
mov eax, 0xff
and edi, eax
mov bh, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], bh
mov byte [ebp + edi - 0x140], dl
movzx ecx, byte [ebp + esi - 0x140]
mov eax, dword [ebp - 0x3c]
movzx eax, byte [ebp + eax - 0x140]
add eax, ecx
mov ecx, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x140]
mov byte [ebp - 0x20], al
movzx edi, al
movzx esi, byte [ebp + edi - 0x140]
add esi, ecx
mov al, byte [ebp - 0x28]
add al, 0x6d
shl bl, 4
add bl, 0x90
or bl, al
mov eax, dword [ebp - 0x38]
movzx edi, byte [ebp + eax - 0x140]
mov dword [ebp - 0x28], edx
add edi, edx
mov eax, 0xff
and edi, eax
mov bh, byte [ebp + edi - 0x140]
xor bh, bl
and esi, eax
movzx edi, byte [ebp + esi - 0x140]
xor bh, byte [ebp + edi - 0x140]
mov byte [ebp - 0x17a], bh
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
add al, 6
mov dword [ebp - 0x30], eax
xor edi, edi
mov cl, byte [ebp - 0x24]
add cl, byte [ebp - 0x28]
movzx esi, bl
mov dword [ebp - 0x38], esi
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx + edi*2 + 0x12]
mov dl, byte [edx + edi*2 + 0x13]
movzx eax, byte [ebp + esi - 0x140]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x24], cl
movzx eax, cl
mov dword [ebp - 0x34], eax
mov dh, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dh
movzx ecx, bh
mov dh, byte [ebp + ecx - 0x140]
mov byte [ebp + eax - 0x140], dh
movzx esi, byte [ebp - 0x30]
mov dh, byte [ebp + esi - 0x140]
mov byte [ebp + ecx - 0x140], dh
mov eax, dword [ebp - 0x28]
mov byte [ebp + esi - 0x140], al
mov dh, byte [ebp - 0x20]
add dh, byte [ebp + eax - 0x140]
mov esi, eax
movzx eax, byte [ebp + ecx - 0x140]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, eax
mov byte [ebp - 0x20], dh
movzx eax, dh
movzx eax, byte [ebp + eax - 0x140]
add eax, ecx
add dl, 0x6d
shl bl, 4
add bl, 0x90
or bl, dl
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x140]
mov edx, esi
add ecx, esi
mov edx, 0xff
and ecx, edx
mov bh, byte [ebp + ecx - 0x140]
xor bh, bl
and eax, edx
movzx eax, byte [ebp + eax - 0x140]
xor bh, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x179], bh
inc edi
mov eax, dword [ebp - 0x30]
inc al
mov dword [ebp - 0x30], eax
cmp edi, 5
jne 0x42b748
mov cl, byte [ebp - 0x24]
add cl, byte [ebp - 0x28]
movzx eax, bl
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x2c]
mov dl, byte [esi + 0x1c]
mov dh, byte [esi + 0x1d]
movzx esi, cl
mov bl, byte [ebp + esi - 0x140]
movzx ecx, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], bl
movzx edi, bh
mov bl, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], bl
movzx ebx, byte [ebp - 0x30]
mov al, byte [ebp + ebx - 0x140]
mov byte [ebp + edi - 0x140], al
mov byte [ebp + ebx - 0x140], cl
mov bl, byte [ebp - 0x20]
add bl, byte [ebp + ecx - 0x140]
movzx eax, byte [ebp + esi - 0x140]
add eax, ecx
add dh, 0x6d
shl dl, 4
add dl, 0x90
or dl, dh
mov ecx, 0xff
and eax, ecx
xor dl, byte [ebp + eax - 0x140]
movzx eax, bl
movzx esi, byte [ebp + edi - 0x140]
mov edi, dword [ebp - 0x24]
movzx edi, byte [ebp + edi - 0x140]
add edi, esi
movzx eax, byte [ebp + eax - 0x140]
add eax, edi
and eax, ecx
movzx eax, byte [ebp + eax - 0x140]
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp - 0x174], dl
mov byte [ebp - 0x173], 0
mov dword [ebp - 0x10], 0xffffffff
lea esi, [ebp - 0x140]
lea eax, [ebp - 0x181]
mov ecx, esi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 5
mov ecx, dword [ebp - 0x144]
push 0
push esi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 8], eax
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
jb 0x42b982
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42b978
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cb92
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 [0x614208]
movsd xmm6, qword [0x614210]
movsd xmm7, qword [0x6120f8]
movsd xmm2, qword [0x614218]
xorpd xmm0, xmm0
movapd xmm1, xmm4
mulsd xmm1, qword [0x6141f8]
mulsd xmm1, xmm4
movapd xmm3, xmm4
mulsd xmm3, xmm4
subsd xmm1, xmm3
movapd xmm3, xmm4
mulsd xmm3, qword [0x612570]
mulsd xmm3, xmm4
addsd xmm3, qword [0x614200]
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 0x42b9aa
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x42ba54
inc ebx
pop ebp
dec edi
dec esp
xor ah, byte [0x7d3e2d6e]
pop esi
arpl word [esi*2 + 0x74796566], si
xor byte [bx + di + 0x22], dl
cmp al, 0x71
jbe 0x42baab
das
dec edx
inc esi
and byte [0x9b879657], ah
xchg edx, eax
wait
invalid
lea eax, [0x42ba3b]
mov dword [ebp - 0x34], eax
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x140], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x42ba6f
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x42ba1b]
mov dword [ebp - 0x30], ecx
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x2c], eax
enter 0xf66, 0x2e
ror dword [edi], 0x43
enter 0xffffffffffffc889, 0xffffffffffffffc1
call 0xd48843d3
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
mov dword [ebp - 0x28], ecx
mov esi, 0xff
xor ecx, ecx
xor ebx, ebx
xor edx, edx
inc edx
cmp esi, 2
jb 0x42badf
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x42bad8
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x42baec
jmp dword [ecx*4 + 0x6145bc]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
jmp 0x42bb1e
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x28]
jmp 0x42bb1e
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x2c]
jmp 0x42bb43
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x42bb43
movzx eax, bl
mov bl, byte [ebp + eax - 0x140]
mov eax, dword [ebp - 0x30]
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 edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x42bb72
cmp eax, dword [ebp - 0x20]
ja 0x42bae7
jmp 0x42bb79
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
je 0x42bbaa
mov dl, byte [ebp + esi - 0x140]
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dl
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], dl
xor byte [ebp + esi - 0x140], dl
dec esi
jne 0x42bacd
movzx eax, byte [ebp - 0x13f]
mov dword [ebp - 0x30], eax
mov edx, eax
mov al, byte [ebp - 0x13b]
mov byte [ebp - 0x20], al
movzx ebx, byte [ebp + edi - 0x140]
mov eax, dword [ebp - 0x34]
mov cl, byte [eax]
mov ch, byte [eax + 1]
mov al, byte [ebp + edx - 0x140]
add al, byte [ebp - 0x13d]
mov byte [ebp - 0x24], al
movzx esi, al
mov dl, byte [ebp + esi - 0x140]
movzx edi, byte [ebp - 0x139]
mov dword [ebp - 0x28], ebx
movzx eax, byte [ebp + ebx - 0x140]
mov byte [ebp + ebx - 0x140], dl
mov bl, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], bl
mov edx, dword [ebp - 0x30]
mov ebx, edx
inc bl
movzx ebx, bl
mov dl, byte [ebp + ebx - 0x140]
mov byte [ebp + edi - 0x140], dl
mov byte [ebp + ebx - 0x140], al
add ch, 0x7a
shl cl, 4
add cl, 0xd0
or cl, ch
movzx edx, byte [ebp + esi - 0x140]
mov ebx, eax
add edx, eax
mov esi, 0xff
and edx, esi
movzx esi, cl
xor cl, byte [ebp + edx - 0x140]
movzx eax, byte [ebp + edi - 0x140]
mov edx, dword [ebp - 0x28]
movzx edx, byte [ebp + edx - 0x140]
add edx, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x140]
add eax, edx
mov edx, 0xff
and eax, edx
movzx eax, byte [ebp + eax - 0x140]
xor cl, byte [ebp + eax - 0x140]
mov al, byte [ebp - 0x24]
add al, bl
mov byte [ebp - 0x24], al
mov edx, dword [ebp - 0x34]
mov ch, byte [edx + 2]
mov dl, byte [edx + 3]
movzx edi, al
mov dh, byte [ebp + edi - 0x140]
mov dword [ebp - 0x2c], esi
movzx ebx, byte [ebp + esi - 0x140]
mov byte [ebp + esi - 0x140], dh
movzx esi, cl
mov cl, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], cl
mov eax, dword [ebp - 0x30]
mov cl, al
add cl, 2
movzx eax, cl
mov cl, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], cl
mov byte [ebp + eax - 0x140], bl
add dl, 0x7a
shl ch, 4
add ch, 0xd0
or ch, dl
movzx eax, byte [ebp + edi - 0x140]
add eax, ebx
mov edx, 0xff
and eax, edx
movzx edi, ch
xor ch, byte [ebp + eax - 0x140]
mov cl, byte [ebp - 0x20]
add cl, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x20], cl
movzx eax, byte [ebp + esi - 0x140]
mov edx, dword [ebp - 0x2c]
movzx edx, byte [ebp + edx - 0x140]
add edx, eax
movzx eax, cl
movzx eax, byte [ebp + eax - 0x140]
add eax, edx
mov edx, 0xff
and eax, edx
movzx eax, byte [ebp + eax - 0x140]
xor ch, byte [ebp + eax - 0x140]
movsx eax, ch
mov word [ebp - 0x162], ax
mov dh, byte [ebp - 0x24]
add dh, bl
mov byte [ebp - 0x24], dh
mov eax, dword [ebp - 0x34]
mov cl, byte [eax + 4]
mov bl, byte [eax + 5]
movzx esi, dh
mov dh, byte [ebp + esi - 0x140]
mov dword [ebp - 0x28], edi
movzx eax, byte [ebp + edi - 0x140]
mov dword [ebp - 0x38], eax
mov byte [ebp + edi - 0x140], dh
movzx edi, ch
mov ch, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], ch
mov eax, dword [ebp - 0x30]
mov ch, al
add ch, 3
movzx eax, ch
mov ch, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x140], ch
mov edx, dword [ebp - 0x38]
mov byte [ebp + eax - 0x140], dl
add bl, 0x7a
shl cl, 4
add cl, 0xd0
or cl, bl
movzx eax, byte [ebp + esi - 0x140]
add eax, edx
mov ebx, edx
mov edx, 0xff
and eax, edx
movzx edx, cl
mov dword [ebp - 0x2c], edx
xor cl, byte [ebp + eax - 0x140]
movzx eax, byte [ebp + edi - 0x140]
mov edx, dword [ebp - 0x28]
movzx esi, byte [ebp + edx - 0x140]
add esi, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x140]
add eax, esi
mov edx, 0xff
and eax, edx
movzx eax, byte [ebp + eax - 0x140]
xor cl, byte [ebp + eax - 0x140]
movsx eax, cl
mov word [ebp - 0x160], ax
mov al, byte [ebp - 0x24]
add al, bl
mov byte [ebp - 0x24], al
mov edx, dword [ebp - 0x34]
mov ch, byte [edx + 6]
mov bl, byte [edx + 7]
movzx esi, al
mov bh, byte [ebp + esi - 0x140]
mov eax, dword [ebp - 0x2c]
movzx edx, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], bh
movzx edi, cl
mov cl, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], cl
mov eax, dword [ebp - 0x30]
mov cl, al
add cl, 4
movzx eax, cl
mov cl, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x140], cl
mov byte [ebp + eax - 0x140], dl
add bl, 0x7a
shl ch, 4
add ch, 0xd0
or ch, bl
movzx eax, byte [ebp + esi - 0x140]
add eax, edx
mov ebx, 0xff
and eax, ebx
movzx esi, ch
xor ch, byte [ebp + eax - 0x140]
movzx eax, byte [ebp + edi - 0x140]
mov edi, dword [ebp - 0x2c]
movzx edi, byte [ebp + edi - 0x140]
add edi, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x140]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x140]
add eax, edi
and eax, ebx
movzx eax, byte [ebp + eax - 0x140]
xor ch, byte [ebp + eax - 0x140]
movsx eax, ch
mov word [ebp - 0x15e], ax
mov al, byte [ebp - 0x24]
add al, dl
mov byte [ebp - 0x24], al
mov edx, dword [ebp - 0x34]
mov cl, byte [edx + 8]
mov dl, byte [edx + 9]
mov byte [ebp - 0x2c], dl
movzx edx, al
mov ah, byte [ebp + edx - 0x140]
movzx ebx, byte [ebp + esi - 0x140]
mov byte [ebp + esi - 0x140], ah
movzx edi, ch
mov ah, byte [ebp + edi - 0x140]
mov byte [ebp + edx - 0x140], ah
mov eax, dword [ebp - 0x30]
mov ah, al
add ah, 5
movzx eax, ah
mov ch, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x140], ch
mov byte [ebp + eax - 0x140], bl
movzx eax, byte [ebp + edi - 0x140]
movzx esi, byte [ebp + esi - 0x140]
add esi, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x140]
add eax, esi
mov ch, byte [ebp - 0x2c]
add ch, 0x7a
shl cl, 4
add cl, 0xd0
or cl, ch
movzx edx, byte [ebp + edx - 0x140]
add edx, ebx
mov esi, 0xff
and edx, esi
mov dl, byte [ebp + edx - 0x140]
xor dl, cl
and eax, esi
movzx eax, byte [ebp + eax - 0x140]
xor dl, byte [ebp + eax - 0x140]
movsx eax, dl
mov word [ebp - 0x15c], ax
mov dh, byte [ebp - 0x24]
add dh, bl
mov byte [ebp - 0x24], dh
mov eax, dword [ebp - 0x34]
mov ch, byte [eax + 0xa]
mov al, byte [eax + 0xb]
mov byte [ebp - 0x2c], al
movzx esi, cl
movzx edi, dh
mov cl, byte [ebp + edi - 0x140]
movzx ebx, byte [ebp + esi - 0x140]
mov byte [ebp + esi - 0x140], cl
movzx edx, dl
mov cl, byte [ebp + edx - 0x140]
mov byte [ebp + edi - 0x140], cl
mov eax, dword [ebp - 0x30]
mov cl, al
add cl, 6
movzx eax, cl
mov cl, byte [ebp + eax - 0x140]
mov byte [ebp + edx - 0x140], cl
mov byte [ebp + eax - 0x140], bl
movzx eax, byte [ebp + edx - 0x140]
movzx edx, byte [ebp + esi - 0x140]
add edx, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x140]
add eax, edx
mov cl, byte [ebp - 0x2c]
add cl, 0x7a
shl ch, 4
add ch, 0xd0
or ch, cl
movzx edx, byte [ebp + edi - 0x140]
add edx, ebx
mov esi, 0xff
and edx, esi
mov cl, byte [ebp + edx - 0x140]
xor cl, ch
and eax, esi
movzx eax, byte [ebp + eax - 0x140]
xor cl, byte [ebp + eax - 0x140]
movsx eax, cl
mov word [ebp - 0x15a], ax
mov dh, byte [ebp - 0x24]
add dh, bl
mov eax, dword [ebp - 0x34]
mov dl, byte [eax + 0xc]
mov bh, byte [eax + 0xd]
movzx eax, ch
mov dword [ebp - 0x28], eax
movzx edi, dh
mov bl, dh
mov ch, byte [ebp + edi - 0x140]
movzx esi, byte [ebp + eax - 0x140]
mov dword [ebp - 0x24], esi
mov byte [ebp + eax - 0x140], ch
movzx esi, cl
mov dh, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], dh
mov eax, dword [ebp - 0x30]
mov dh, al
add dh, 7
movzx eax, dh
mov dh, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dh
mov ecx, dword [ebp - 0x24]
mov byte [ebp + eax - 0x140], cl
shl dl, 4
add dl, 0xd0
add bh, 0x7a
or bh, dl
movzx eax, byte [ebp + edi - 0x140]
add eax, ecx
mov edi, 0xff
and eax, edi
movzx edx, bh
mov dword [ebp - 0x2c], edx
xor bh, byte [ebp + eax - 0x140]
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x20], dl
movzx eax, byte [ebp + esi - 0x140]
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, eax
movzx eax, dl
movzx eax, byte [ebp + eax - 0x140]
add eax, ecx
and eax, edi
movzx eax, byte [ebp + eax - 0x140]
xor bh, byte [ebp + eax - 0x140]
movsx eax, bh
mov word [ebp - 0x158], ax
mov edx, ebx
add dl, byte [ebp - 0x24]
mov byte [ebp - 0x24], dl
mov eax, dword [ebp - 0x34]
mov cl, byte [eax + 0xe]
mov bl, byte [eax + 0xf]
movzx esi, dl
mov ch, byte [ebp + esi - 0x140]
mov eax, dword [ebp - 0x2c]
movzx edx, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], ch
movzx edi, bh
mov ch, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], ch
mov eax, dword [ebp - 0x30]
mov ch, al
add ch, 8
movzx eax, ch
mov ch, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x140], ch
mov byte [ebp + eax - 0x140], dl
shl cl, 4
add cl, 0xd0
add bl, 0x7a
or bl, cl
movzx eax, byte [ebp + esi - 0x140]
add eax, edx
mov ecx, 0xff
and eax, ecx
movzx esi, bl
mov dword [ebp - 0x38], esi
xor bl, byte [ebp + eax - 0x140]
movzx eax, byte [ebp + edi - 0x140]
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x140]
mov byte [ebp - 0x20], al
movzx eax, al
movzx eax, byte [ebp + eax - 0x140]
add eax, ecx
mov ecx, 0xff
and eax, ecx
movzx eax, byte [ebp + eax - 0x140]
xor bl, byte [ebp + eax - 0x140]
movsx eax, bl
mov word [ebp - 0x156], ax
mov cl, byte [ebp - 0x24]
add cl, dl
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x34]
mov al, byte [edx + 0x10]
mov dl, byte [edx + 0x11]
movzx edi, cl
mov ah, byte [ebp + edi - 0x140]
movzx ecx, byte [ebp + esi - 0x140]
mov dword [ebp - 0x28], ecx
mov byte [ebp + esi - 0x140], ah
movzx esi, bl
mov ah, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], ah
mov ecx, dword [ebp - 0x30]
mov ah, cl
add ah, 9
movzx ecx, ah
mov ah, byte [ebp + ecx - 0x140]
mov byte [ebp + esi - 0x140], ah
mov ebx, dword [ebp - 0x28]
mov byte [ebp + ecx - 0x140], bl
add dl, 0x7a
shl al, 4
add al, 0xd0
or al, dl
movzx ecx, byte [ebp + edi - 0x140]
mov edx, dword [ebp - 0x28]
add ecx, edx
mov edi, 0xff
and ecx, edi
movzx edi, al
mov dword [ebp - 0x2c], edi
xor al, byte [ebp + ecx - 0x140]
movzx ecx, byte [ebp + esi - 0x140]
mov esi, dword [ebp - 0x38]
movzx esi, byte [ebp + esi - 0x140]
add esi, ecx
mov cl, byte [ebp - 0x20]
mov ebx, edx
add cl, byte [ebp + edx - 0x140]
mov byte [ebp - 0x20], cl
movzx ecx, cl
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, esi
mov edx, 0xff
and ecx, edx
movzx ecx, byte [ebp + ecx - 0x140]
xor al, byte [ebp + ecx - 0x140]
movsx ecx, al
mov word [ebp - 0x154], cx
mov dl, byte [ebp - 0x24]
add dl, bl
mov esi, dword [ebp - 0x34]
mov cl, byte [esi + 0x12]
mov bl, byte [esi + 0x13]
movzx esi, dl
mov bh, byte [ebp + esi - 0x140]
mov edi, dword [ebp - 0x2c]
movzx edx, byte [ebp + edi - 0x140]
mov byte [ebp + edi - 0x140], bh
movzx edi, al
mov al, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], al
mov eax, dword [ebp - 0x30]
add al, 0xa
movzx eax, al
mov ch, byte [ebp + eax - 0x140]
mov byte [ebp + edi - 0x140], ch
mov byte [ebp + eax - 0x140], dl
movzx eax, byte [ebp + esi - 0x140]
add eax, edx
mov ch, byte [ebp - 0x20]
add ch, byte [ebp + edx - 0x140]
shl cl, 4
add cl, 0xd0
add bl, 0x7a
or bl, cl
mov esi, 0xff
and eax, esi
xor bl, byte [ebp + eax - 0x140]
movzx eax, ch
movzx ecx, byte [ebp + edi - 0x140]
mov edx, dword [ebp - 0x2c]
movzx edx, byte [ebp + edx - 0x140]
add edx, ecx
movzx eax, byte [ebp + eax - 0x140]
add eax, edx
and eax, esi
movzx eax, byte [ebp + eax - 0x140]
xor bl, byte [ebp + eax - 0x140]
movsx eax, bl
mov word [ebp - 0x152], ax
mov word [ebp - 0x150], 0
mov dword [ebp - 0x10], 0xffffffff
push 4
call fcn.005db3dd
add esp, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 6
lea eax, [ebp - 0x162]
lea ecx, [ebp - 0x140]
push eax
call fcn.00406642
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], 0
mov dword [ebp - 0x10], 7
push 2
lea eax, [ebp - 0x140]
push eax
call fcn.0044527c
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
mov esi, dword [ebp - 0x3c]
lea edi, [ebp - 0x140]
jb 0x42c4bb
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42c4b1
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cb92
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
cmp dword [esi], 0
mov eax, dword [ebp - 0x148]
je 0x42cb5b
xorpd xmm4, xmm4
movsd xmm5, qword [0x614230]
movsd xmm6, qword [0x614238]
movsd xmm7, qword [0x612408]
movsd xmm2, qword [0x614240]
xorpd xmm0, xmm0
movapd xmm1, xmm4
mulsd xmm1, qword [0x614220]
mulsd xmm1, xmm4
movapd xmm3, xmm4
mulsd xmm3, xmm4
subsd xmm1, xmm3
movapd xmm3, xmm4
mulsd xmm3, qword [0x6120d8]
mulsd xmm3, xmm4
addsd xmm3, qword [0x614228]
divsd xmm1, xmm3
addsd xmm1, xmm0
movapd xmm3, xmm4
sub ah, bl
mulsd xmm3, xmm5
addsd xmm3, xmm1
movapd xmm0, xmm6
pop eax
fldenv [esi + 0xf]
sub dh, al
invalid
cmpltsd xmm0, xmm1
andpd xmm3, xmm0
andnpd xmm0, xmm1
orpd xmm0, xmm3
addsd xmm4, xmm7
ucomisd xmm2, xmm4
ja 0x42c4f2
xorpd xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x42c5aa
ja 0x42c530
je 0x42c538
jb 0x42c53d
insb byte es:[edi], dx
enter 0xffffffffffffd06c, 0x71
retf
lea edx, [0x42c563]
movdqa xmm1, xmmword [0x612110]
xor eax, eax
movdqa xmm2, xmmword [0x612120]
movdqu xmmword [ebp + eax - 0x140], xmm1
add eax, 0x10
paddb xmm1, xmm2
cmp eax, 0x100
jne 0x42c5c2
movsd xmm1, qword [0x612130]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
lea ecx, [0x42c589]
mov dword [ebp - 0x34], 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 - 0x28], ecx
mov esi, 0xff
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x30], edx
xor edx, edx
inc edx
cmp esi, 2
jb 0x42c635
xor edx, edx
inc edx
add edx, edx
inc edx
cmp edx, esi
jb 0x42c62e
mov dword [ebp - 0x20], esi
mov esi, 0xc
cmp ecx, 3
ja case.default.0x42c642
jmp dword [ecx*4 + 0x6145cc]
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
jmp 0x42c674
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x28]
jmp 0x42c674
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x2c]
jmp 0x42c699
movzx eax, bl
add eax, ebp
add eax, 0xfffffec0
mov ebx, dword [ebp - 0x24]
mov bl, bh
jmp 0x42c699
movzx eax, bl
mov bl, byte [ebp + eax - 0x140]
mov eax, dword [ebp - 0x34]
add eax, ecx
add eax, 0xfffffffc
add bl, byte [eax]
inc ecx
movzx eax, bl
add bl, 0x19
cmp ecx, 0x18
movzx ebx, bl
cmovbe ebx, eax
mov eax, 0
cmova ecx, eax
movzx edi, bl
mov eax, edx
and eax, edi
dec esi
je 0x42c6c8
cmp eax, dword [ebp - 0x20]
ja 0x42c63d
jmp 0x42c6cf
xor edx, edx
div dword [ebp - 0x20]
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp esi, eax
mov edx, dword [ebp - 0x30]
je 0x42c706
mov dl, byte [ebp + esi - 0x140]
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + esi - 0x140], dl
xor dl, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], dl
xor byte [ebp + esi - 0x140], dl
mov edx, dword [ebp - 0x30]
dec esi
jne 0x42c623
movzx ebx, byte [ebp - 0x13f]
mov al, byte [ebp - 0x13b]
mov byte [ebp - 0x20], al
movzx eax, byte [ebp + edi - 0x140]
mov cl, byte [edx]
mov ch, byte [edx + 1]
mov byte [ebp - 0x2c], ch
mov dword [ebp - 0x40], ebx
mov dl, byte [ebp + ebx - 0x140]
add dl, byte [ebp - 0x13d]
mov byte [ebp - 0x24], dl
movzx esi, dl
mov ch, byte [ebp + esi - 0x140]
mov dword [ebp - 0x28], esi
movzx edi, byte [ebp - 0x139]
movzx edx, byte [ebp + eax - 0x140]
mov byte [ebp + eax - 0x140], ch
mov ch, byte [ebp + edi - 0x140]
mov byte [ebp + esi - 0x140], ch
mov ch, bl
inc ch
movzx esi, ch
mov ch, byte [ebp + esi - 0x140]
mov byte [ebp + edi - 0x140], ch
mov byte [ebp + esi - 0x140], dl
movzx esi, byte [ebp + edi - 0x140]
movzx edi, byte [ebp + eax - 0x140]
add edi, esi
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x140]
mov byte [ebp - 0x20], al
movzx esi, al
movzx ebx, byte [ebp + esi - 0x140]
add ebx, edi
mov al, byte [ebp - 0x2c]
add al, 0x38
shl cl, 4
xor cl, 0x80
or cl, al
mov eax, dword [ebp - 0x28]
movzx esi, byte [ebp + eax - 0x140]
add esi, edx
mov edi, 0xff
and esi, edi
mov ah, byte [ebp + esi - 0x140]
xor ah, cl
and ebx, edi
movzx esi, byte [ebp + ebx - 0x140]
xor ah, byte [ebp + esi - 0x140]
mov ebx, dword [ebp - 0x40]
mov ch, bl
add ch, 2
movzx esi, ch
mov dword [ebp - 0x38], esi
xor esi, esi
mov al, byte [ebp - 0x24]
add al, dl
movzx edi, cl
mov edx, dword [ebp - 0x30]
mov cl, byte [edx + esi*2 + 2]
mov dl, byte [edx + esi*2 + 3]
mov byte [ebp - 0x2c], dl
mov byte [ebp - 0x24], al
movzx edx, al
mov al, byte [ebp + edx - 0x140]
mov dword [ebp - 0x28], edx
movzx ebx, byte [ebp + edi - 0x140]
mov dword [ebp - 0x34], ebx
mov byte [ebp + edi - 0x140], al
movzx eax, ah
mov bl, byte [ebp + eax - 0x140]
mov byte [ebp + edx - 0x140], bl
mov ebx, dword [ebp - 0x38]
add ebx, esi
mov edx, 0xff
and ebx, edx
mov ch, byte [ebp + ebx - 0x140]
mov byte [ebp + eax - 0x140], ch
mov edx, dword [ebp - 0x34]
mov byte [ebp + ebx - 0x140], dl
movzx eax, byte [ebp + eax - 0x140]
movzx edi, byte [ebp + edi - 0x140]
add edi, eax
mov al, byte [ebp - 0x20]
add al, byte [ebp + edx - 0x140]
mov byte [ebp - 0x20], al
movzx eax, al
movzx ebx, byte [ebp + eax - 0x140]
add ebx, edi
mov al, byte [ebp - 0x2c]
add al, 0x38
shl cl, 4
xor cl, 0x80
or cl, al
mov eax, dword [ebp - 0x28]
movzx eax, byte [ebp + eax - 0x140]
add eax, edx
mov edi, edx
mov edx, 0xff
and eax, edx
mov ah, byte [ebp + eax - 0x140]
xor ah, cl
and ebx, edx
movzx edx, byte [ebp + ebx - 0x140]
xor ah, byte [ebp + edx - 0x140]
mov edx, edi
mov byte [ebp + esi - 0x194], ah
inc esi
cmp esi, 8
jne 0x42c804
mov al, byte [ebp - 0x24]
add al, dl
mov edi, dword [ebp - 0x30]
mov dh, byte [edi + 0x12]
mov dl, byte [edi + 0x13]
movzx edi, cl
mov dword [ebp - 0x34], edi
mov byte [ebp - 0x24], al
movzx ebx, al
mov dword [ebp - 0x28], ebx
mov al, byte [ebp + ebx - 0x140]
movzx ecx, byte [ebp + edi - 0x140]
mov dword [ebp - 0x2c], ecx
mov byte [ebp + edi - 0x140], al
movzx edi, ah
mov cl, byte [ebp + edi - 0x140]
mov byte [ebp + ebx - 0x140], cl
mov ebx, dword [ebp - 0x38]
add ebx, esi
mov eax, 0xff
and ebx, eax
mov ah, byte [ebp + ebx - 0x140]
mov byte [ebp + edi - 0x140], ah
mov ecx, dword [ebp - 0x2c]
mov byte [ebp + ebx - 0x140], cl
movzx edi, byte [ebp + edi - 0x140]
mov eax, dword [ebp - 0x34]
movzx eax, byte [ebp + eax - 0x140]
add eax, edi
mov dword [ebp - 0x34], eax
mov al, byte [ebp - 0x20]
mov ebx, ecx
add al, byte [ebp + ecx - 0x140]
mov byte [ebp - 0x20], al
movzx edi, al
movzx ecx, byte [ebp + edi - 0x140]
add ecx, dword [ebp - 0x34]
add dl, 0x38
shl dh, 4
xor dh, 0x80
or dh, dl
mov eax, dword [ebp - 0x28]
movzx edi, byte [ebp + eax - 0x140]
add edi, ebx
mov ebx, 0xff
and edi, ebx
mov ah, byte [ebp + edi - 0x140]
xor ah, dh
and ecx, ebx
movzx edi, byte [ebp + ecx - 0x140]
xor ah, byte [ebp + edi - 0x140]
mov byte [ebp - 0x18c], ah
mov ecx, dword [ebp - 0x40]
add cl, 3
movzx ecx, cl
add ecx, esi
mov dword [ebp - 0x38], ecx
xor esi, esi
mov al, byte [ebp - 0x24]
add al, byte [ebp - 0x2c]
movzx ebx, dh
mov dword [ebp - 0x34], ebx
mov edi, dword [ebp - 0x30]
mov dh, byte [edi + esi*2 + 0x14]
mov cl, byte [edi + esi*2 + 0x15]
mov byte [ebp - 0x2c], cl
movzx ecx, byte [ebp + ebx - 0x140]
mov byte [ebp - 0x24], al
movzx edi, al
mov dword [ebp - 0x28], edi
mov dl, byte [ebp + edi - 0x140]
mov byte [ebp + ebx - 0x140], dl
movzx ebx, ah
mov dl, byte [ebp + ebx - 0x140]
mov byte [ebp + edi - 0x140], dl
mov eax, dword [ebp - 0x38]
add eax, esi
mov edi, 0xff
and eax, edi
mov dl, byte [ebp + eax - 0x140]
mov byte [ebp + ebx - 0x140], dl
mov byte [ebp + eax - 0x140], cl
mov dl, byte [ebp - 0x20]
add dl, byte [ebp + ecx - 0x140]
mov edi, ecx
movzx eax, byte [ebp + ebx - 0x140]
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x140]
add ecx, eax
mov byte [ebp - 0x20], dl
movzx eax, dl
movzx ebx, byte [ebp + eax - 0x140]
add ebx, ecx
mov al, byte [ebp - 0x2c]
add al, 0x38
shl dh, 4
xor dh, 0x80
or dh, al
mov eax, dword [ebp - 0x28]
movzx eax, byte [ebp + eax - 0x140]
mov ecx, edi
mov dword [ebp - 0x2c], edi
add eax, edi
mov ecx, 0xff
and eax, ecx
mov ah, byte [ebp + eax - 0x140]
xor ah, dh
and ebx, ecx
movzx ecx, byte [ebp + ebx - 0x140]
xor ah, byte [ebp + ecx - 0x140]
mov byte [ebp + esi - 0x18b], ah
inc esi
cmp esi, 0xa
jne 0x42c9dc
mov byte [ebp - 0x182], 0
mov dword [ebp - 0x10], 0xffffffff
mov esi, dword [ebp - 0x3c]
lea edi, [ebp - 0x140]
lea eax, [ebp - 0x194]
mov ecx, edi
push eax
call fcn.00401278
mov dword [ebp - 0x10], 8
mov ecx, esi
push 0
push edi
call fcn.004454fe
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 0x10], eax
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
jb 0x42cb55
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42cb4b
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cb92
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
mov eax, dword [ebp - 0x148]
cmp dword [eax + 0x10], 0
je 0x42cb7b
cmp dword [eax], 0
je 0x42cb7b
cmp dword [eax + 4], 0
je 0x42cb7b
cmp dword [eax + 0xc], 0
je 0x42cb7b
cmp dword [eax + 8], 0
setne al
jmp 0x42cb7d
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x1a4
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.005f5844
nop
push ebp
sub esp, 8
add ebp, 0xc
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
jb 0x42cbec
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42cbe2
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cbf1
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 8
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 8
add ebp, 0xc
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
jb 0x42cc4a
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42cc40
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cc4f
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 8
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 8
add ebp, 0xc
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
jb 0x42cca8
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42cc9e
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42ccad
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 8
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 8
add ebp, 0xc
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
jb 0x42cd06
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42ccfc
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cd0b
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 8
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 8
add ebp, 0xc
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
jb 0x42cd64
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42cd5a
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cd69
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 8
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 8
add ebp, 0xc
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
jb 0x42cdc2
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42cdb8
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42cdc7
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 8
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 8
add ebp, 0xc
push dword [ebp - 0x128]
call fcn.005fd8d5
add esp, 4
mov ecx, dword [ebp - 0x12c]
cmp ecx, 8
jb 0x42ce20
mov eax, dword [ebp - 0x140]
lea edx, [ecx + ecx]
add edx, 2
cmp edx, 0x1000
jb 0x42ce16
mov edx, eax
add edx, 0xfffffffc
mov eax, dword [eax - 4]
sub edx, eax
cmp edx, 0x20
jae 0x42ce25
add ecx, ecx
add ecx, 0x25
mov edx, ecx
push edx
push eax
call fcn.005db412
add esp, 8
add esp, 8
pop ebp
ret
call fcn.005f5844
push ebp
sub esp, 8
add ebp, 0xc
push dword [ebp - 0x3c]
call fcn.005db40d
add esp, 0xc
pop ebp
ret