Function at 0x8391e4
Capabilities:
Encrypt data using rc4 ksa
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x864
push ebx
push esi
push edi
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x463]
mov byte [ebp - 0x464], 0
mov dword [ebp - 0x264], 3
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
cmp eax, 0x234
or byte [0x234], bh
jne 0x8378b3
fld qword [0x88f578]
fld qword [0x88f578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8be7b8]
fsub st(1)
fxch st(1)
mov eax, 0xd8008be7
out 0x8b, eax
add al, bl
loope 0x836b61
leave
fmul qword [0x89dd40]
or eax, 0x89dd40
fadd qword [0x8a2330]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8be7b0]
fnstsw ax
test ah, 0x41
les eax, [ecx + 0x75]
or bl, cl
rcr ah, 0xd
test al, 0xe7
mov eax, dword [eax]
inc ecx
jne 0x836bb2
fld st(0)
fmul qword [0x8be7a8]
fsubp st(2)
fadd qword [0x896538]
fcom qword [0x8be7a0]
add ah, bl
adc eax, 0x8be7a0
out 0x8b, eax
add bh, bl
loopne 0x836bb7
mov eax, dword [eax]
fnstsw ax
test ah, 1
les eax, [ecx]
add dword [ebp - 0x4c], esi
jne 0x836b79
fxch st(1)
fst qword [ebp - 0x3c]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x836c3a
push ebp
invalid
jl 0x836b81
jge 0x836b82
js 0x836b82
jle 0x836b8a
test byte [ecx - 0x59816280], ah
sbb byte [edi - 0x53815f86], 0x80
stosb byte es:[edi], al
jle 0x836b9b
test byte [ebp - 0x5a7b5580], bl
jbe 0x836ba6
js 0x836ba5
jle 0x836ba8
test byte [ebx - 0x627b6180], ch
jle 0x836ba4
jl 0x836bb2
sub byte [eax - 0x5589547e], 0x81
movsb byte es:[edi], byte [esi]
jle 0x836bbb
jnp 0x836bbc
ja 0x836bc3
jge 0x836bbe
js 0x836bc2
jns 0x836bc8
pop ebx
inc edi
inc esi
insb byte es:[edi], dx
dec esi
and esi, dword [edx + 0x3a]
xor dword [edi + 0x6a], esp
push eax
ja 0x836c52
push 0x42
imul esi, dword cs:[ecx + 0x50], 0xe9a07d8d
or byte [eax], dh
add byte [eax], al
mov dword [ebp - 0x2c], 0x836bdb
mov dword [ebp - 0x30], 0x836c1d
xor eax, eax
mov byte [ebp + eax - 0x160], al
inc eax
cmp eax, 0x100
jb 0x836c4a
fld qword [ebp - 0x3c]
mov byte [ebp + 8], 0
mov eax, 0xff
mov esi, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0xc], eax
jmp 0x836c72
mov eax, dword [ebp - 0xc]
mov ebx, 1
mov dword [ebp - 0x1c], 0
cmp eax, ebx
jbe 0x836c8a
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x836c82
cmp edi, 3
ja case.default.0x836c8f
jmp dword [edi*4 + 0x83aa5c]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
jmp 0x836d0b
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
shr eax, 8
jmp 0x836d0b
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
shr eax, 0x10
jmp 0x836d0b
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
shr eax, 0x18
jmp 0x836d0b
mov eax, dword [ebp - 0x30]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x160]
add cl, al
inc edi
cmp edi, 0x19
mov byte [ebp + 8], cl
jb 0x836d1e
xor edi, edi
add cl, 0x19
mov byte [ebp + 8], cl
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x1c], eax
jbe 0x836d3e
mov eax, edx
xor edx, edx
div dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp edx, eax
ja 0x836c8a
mov ecx, eax
cmp ecx, edx
je 0x836d87
mov al, byte [ebp + edx - 0x160]
mov bl, byte [ebp + ecx - 0x160]
lea edx, [ebp + edx - 0x160]
xor bl, al
mov byte [ebp + ecx - 0x160], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x160]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x160], al
dec ecx
mov dword [ebp - 0xc], ecx
jne 0x836c6f
mov edi, dword [ebp - 0x2c]
mov dl, byte [ebp - 0x159]
and esi, 0xff
mov byte [ebp - 0x24], dl
mov dl, byte [edi + 1]
mov bl, byte [ebp - 0x15d]
mov al, byte [ebp + esi - 0x160]
add dl, 0x63
mov byte [ebp - 0x20], al
mov al, byte [edi]
add al, 0xb
mov cl, byte [ebp - 0x15b]
shl al, 4
or al, dl
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x20]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x160]
lea esi, [ebp + eax - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x15f]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x160]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [esi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x10]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x160]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp - 0x1c]
mov byte [ebp - 0x20], dl
xor bl, dl
xor edx, edx
mov dl, byte [edi + 2]
mov byte [ebp - 0x24], bl
mov esi, edx
xor edx, edx
mov dl, byte [edi + 3]
add edi, 4
lea ebx, [esi - 0x75]
add dl, 0x63
shl ebx, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
lea esi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [esi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + esi - 0x160]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x20], bl
xor dl, bl
xor ebx, ebx
mov bl, byte [edi + 1]
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x60], dl
xor edx, edx
mov dl, byte [edi]
sub ebx, 0x9d
sub edx, 0x75
shl edx, 4
or dl, bl
mov dword [ebp - 0x38], 0xc
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x20], bl
xor dl, bl
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x5f], dl
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 4]
jmp 0x8370f4
mov edi, dword [ebp - 0x30]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xb
add dl, 0x63
mov dword [ebp - 0x30], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x20], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x837205
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x8370f1
mov edi, dword [ebp - 0x2c]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0x75
add bl, 0x63
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov byte [ebp - 0x1c], bl
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp + 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x20], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x83732e
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x2c]
inc esi
lea edi, [edx + esi*2]
xor edx, edx
mov dl, byte [edi]
mov dword [ebp - 0x30], edx
xor edx, edx
mov dl, byte [edi + 1]
mov edi, dword [ebp - 0x30]
add dl, 0x63
lea ebx, [edi - 0x75]
shl bl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x20], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x837448
mov byte [ebp + esi - 0x61], dl
lea ebx, [esi + 1]
cmp ebx, 0x1f
jge 0x837587
mov edx, dword [ebp - 0x2c]
lea edi, [edx + esi*2]
mov edx, 0x1f
sub edx, ebx
mov dword [ebp - 0x38], edx
jmp 0x837469
mov edi, dword [ebp - 0x30]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xb
add dl, 0x63
mov dword [ebp - 0x30], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x20], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x83757a
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x837466
mov edi, dword [ebp - 0x2c]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xb
add dl, 0x63
shl bl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp + 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x20], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x8376a1
mov byte [ebp + esi - 0x61], dl
mov edi, dword [ebp - 0x2c]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xb
add dl, 0x63
shl bl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x1c]
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x8377ad
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x1c]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x14], al
inc bl
mov eax, dword [ebp - 0x14]
mov byte [ebp + 8], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x160]
lea eax, [ebp + eax - 0x160]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [eax], bl
mov ebx, dword [ebp + 8]
and ebx, 0xff
mov dword [ebp - 8], edx
test esi, esi
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
jbe 0x8378a7
mov edx, dword [ebp - 0x18]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 5
add bl, 0x63
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x10]
mov dl, byte [ebp + edx - 0x160]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 8]
mov dl, byte [edx]
add ecx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 0x10]
add ecx, edx
and ecx, 0xff
xor edx, edx
add eax, edi
mov dl, byte [ebp + ecx - 0x160]
and eax, 0xff
mov cl, byte [ebp + edx - 0x160]
xor bl, cl
mov cl, byte [ebp + eax - 0x160]
xor bl, cl
mov byte [ebp + esi - 0x61], bl
mov byte [ebp - 0x40], 0
lea edi, [ebp - 0x60]
jmp 0x839c42
cmp eax, 0x235
jne 0x8383e0
fld qword [0x88f578]
fld qword [0x88f578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8be798]
fsub st(1)
fxch st(1)
fmul qword [0x89d980]
fadd qword [0x89fcf8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8be790]
fnstsw ax
test ah, 0x41
jne 0x837903
fld st(0)
fmul qword [0x8be788]
fsubp st(2)
fadd qword [0x88f548]
fcom qword [0x8be780]
fnstsw ax
test ah, 1
jne 0x8378ca
fxch st(1)
fst qword [ebp - 0x3c]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x837995
pop edi
mov edi, 0xbe5fc465
pop edx
shl byte [eax - 0x43], 0x5b
lds ebx, [edi - 0x48]
mov edi, 0xb85cc05d
pop edi
invalid
mov dword [ebp - 0x2c], 0x83792c
mov dword [ebp - 0x30], 0x83796e
xor eax, eax
mov byte [ebp + eax - 0x160], al
inc eax
cmp eax, 0x100
jb 0x8379a5
fld qword [ebp - 0x3c]
mov byte [ebp + 8], 0
xor edi, edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xc], 0xff
mov eax, dword [ebp - 0xc]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x38], 0
jbe 0x8379e2
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x8379da
cmp edi, 3
ja case.default.0x8379e7
jmp dword [edi*4 + 0x83aa6c]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
jmp 0x837a63
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
shr eax, 8
jmp 0x837a63
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
shr eax, 0x10
jmp 0x837a63
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
shr eax, 0x18
jmp 0x837a63
mov edx, dword [ebp - 0x30]
and esi, 0xff
mov cl, byte [ebp + esi - 0x160]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x23
mov byte [ebp + 8], cl
jb 0x837a76
xor edi, edi
add cl, 0x23
mov byte [ebp + 8], cl
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x38]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x38], eax
jbe 0x837a96
mov eax, edx
xor edx, edx
div dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, edx
jb 0x8379e2
je 0x837ace
mov bl, byte [ebp + eax - 0x160]
lea edx, [ebp + edx - 0x160]
lea ecx, [ebp + eax - 0x160]
mov al, byte [edx]
xor bl, al
mov byte [ecx], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ecx]
mov dl, bl
xor al, dl
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0xc], eax
jne 0x8379c7
mov dl, byte [ebp - 0x159]
and esi, 0xff
mov byte [ebp - 0x20], dl
mov bl, byte [ebp - 0x15d]
mov al, byte [ebp + esi - 0x160]
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 0x24], al
mov cl, byte [ebp - 0x15b]
mov dl, byte [esi]
mov al, byte [esi + 1]
add dl, 6
add al, 0x48
shl dl, 4
or al, dl
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x24]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x160]
lea esi, [ebp + eax - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x15f]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x160]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [esi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp + 8]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [edi]
mov edi, dword [ebp - 0xc]
mov bl, byte [ebp + ebx - 0x160]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp - 0x28]
mov byte [ebp - 0x24], dl
xor bl, dl
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 0x20], bl
lea edi, [edx + 2]
xor edx, edx
mov dl, byte [edi + 1]
mov bl, byte [edi]
add dl, 0x48
add bl, 6
mov dword [ebp - 0x30], 0xd
shl bl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp - 0x28], bl
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x60], dl
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 2]
jmp 0x837d2d
mov edi, dword [ebp - 0x38]
add edi, 2
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x38], edi
mov dl, byte [edi]
mov bl, byte [edi + 1]
add dl, 6
add bl, 0x48
shl dl, 4
or dl, bl
inc esi
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x837e41
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x837d2a
lea ebx, [esi + 1]
cmp ebx, 0x1e
jge 0x837fa1
mov edx, dword [ebp + 8]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x2c]
lea edi, [edx + esi*2]
mov edx, 0x1e
sub edx, ebx
mov dword [ebp - 0x30], edx
jmp 0x837e82
mov edi, dword [ebp - 0x38]
mov bl, byte [edi + 3]
add edi, 2
xor edx, edx
add bl, 0x48
mov dl, byte [edi]
mov dword [ebp - 0x38], edi
add dl, 6
inc esi
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp - 0x28], bl
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x837f94
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x837e7f
mov edi, dword [ebp - 0x2c]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 6
add dl, 0x48
shl bl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp + 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x8380bb
mov byte [ebp + esi - 0x61], dl
mov edi, dword [ebp - 0x2c]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 6
add dl, 0x48
shl bl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x8381ca
mov byte [ebp + esi - 0x61], dl
mov edi, dword [ebp - 0x2c]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 6
add bl, 0x48
shl dl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x8382da
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x28]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x1c], al
inc bl
mov eax, dword [ebp - 0x1c]
mov byte [ebp + 8], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x160]
lea eax, [ebp + eax - 0x160]
mov byte [edi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [eax], bl
mov ebx, dword [ebp + 8]
and ebx, 0xff
mov dword [ebp - 0x14], edx
test esi, esi
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
jbe 0x8383d4
mov edx, dword [ebp - 0x10]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
add dl, 6
add bl, 0x48
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0xc]
mov dl, byte [ebp + edx - 0x160]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x160]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x160]
mov cl, byte [ebp + edx - 0x160]
xor bl, cl
mov cl, byte [ebp + eax - 0x160]
xor bl, cl
mov byte [ebp + esi - 0x61], bl
mov byte [ebp - 0x40], 0
lea edi, [ebp - 0x60]
jmp 0x839c42
add byte [0x236], bh
cmp eax, 0x236
jne 0x839129
fld qword [0x88f578]
fld qword [0x88f578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8be778]
fsub st(1)
fxch st(1)
loope 0x8383df
leave
fmul qword [0x89d628]
fadd qword [0x8a0bc8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8be770]
rcr esp, 0x1d
jo 0x838404
sbb eax, 0x8be770
out 0x8b, eax
add bh, bl
mov eax, dword [eax]
fnstsw ax
test ah, 0x41
loopne 0x838418
les eax, [ecx + 0x75]
or bl, cl
jne 0x838430
fld st(0)
fmul qword [0x8be768]
rcr ah, 0xd
push 0xde008be7
ljmp 0x88
or eax, 0x8be768
fsubp st(2)
fadd qword [0x88f548]
cmc
mov byte [eax], al
add ah, bl
adc eax, 0x8be760
fcom qword [0x8be760]
pushal
out 0x8b, eax
add bh, bl
loopne 0x838435
fnstsw ax
test ah, 1
les eax, [ecx]
jne 0x8383f7
fxch st(1)
leave
fst qword [ebp - 0x34]
push ebp
int3
fxch st(1)
fstp st(0)
fcomp st(4)
fcomp qword [0x88f578]
sbb eax, 0x88f578
fnstsw ax
test ah, 1
les eax, [ecx]
add dword [edx + 0x74], esi
sal dword [ebx - 0x3d], 0x7a
je 0x8384bb
je 0x83841c
jae 0x838420
jp 0x83841d
mov esi, 0xbb6fb976
je 0x838427
jbe 0x83841a
outsd dx, dword [esi]
mov ebx, 0xc46dc274
jp 0x838424
insd dword es:[edi], dx
les edi, [edx - 0x45]
jae 0x838429
outsb dx, byte [esi]
mov bh, 0x71
shr byte [edi - 0x41], 0x76
mov edx, 0xb777c475
js 0x838438
je 0x838438
jp 0x838433
jbe 0x838444
outsb dx, byte [esi]
mov bh, 0x7a
les esi, [edx - 0x49]
je 0x838446
je 0x838441
jb 0x83844c
jns 0x83844b
jp 0x838448
jp 0x838452
jnp 0x83844d
jb 0x838456
jne 0x838459
js 0x83845e
jo 0x838455
push esi
jns 0x8384e1
inc esi
inc edi
and dh, byte cs:[0x586f482f]
das
cmp eax, dword [ebp + 0x61]
and dword [eax + 0x2a], ecx
sub bh, byte [edx]
cmp eax, 0x7d8d5e47
mov al, byte [0x1787e9]
add bh, al
inc ebp
hlt
mov dword [ebp - 0xc], 0x838459
mov dword [ebp - 0x38], 0x83849b
xor eax, eax
mov byte [ebp + eax - 0x160], al
inc eax
cmp eax, 0x100
jb 0x8384cb
fld qword [ebp - 0x34]
mov byte [ebp + 8], 0
xor edi, edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2c], 0xff
mov eax, dword [ebp - 0x2c]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x838508
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x838500
cmp edi, 3
ja case.default.0x83850d
jmp dword [edi*4 + 0x83aa7c]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
jmp 0x83858f
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 8
and esi, 0xff
mov al, byte [ebp + esi - 0x160]
jmp 0x83858f
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 0x10
and esi, 0xff
mov al, byte [ebp + esi - 0x160]
jmp 0x83858f
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
mov al, byte [ebp + esi - 0x160]
jmp 0x83858f
mov edx, dword [ebp - 0x38]
and esi, 0xff
mov cl, byte [ebp + esi - 0x160]
mov al, byte [edi + edx - 4]
add cl, al
inc edi
cmp edi, 0x1c
mov byte [ebp + 8], cl
jb 0x8385a2
xor edi, edi
add cl, 0x1c
mov byte [ebp + 8], cl
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x8385c2
mov eax, edx
xor edx, edx
div dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, edx
jb 0x838508
je 0x8385fa
mov bl, byte [ebp + eax - 0x160]
lea edx, [ebp + edx - 0x160]
lea ecx, [ebp + eax - 0x160]
mov al, byte [edx]
xor bl, al
mov byte [ecx], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ecx]
mov dl, bl
xor al, dl
mov byte [ecx], al
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
jne 0x8384ed
mov dl, byte [ebp - 0x159]
mov cl, byte [ebp - 0x15b]
and esi, 0xff
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x14], cl
mov bl, byte [ebp - 0x15d]
mov al, byte [ebp + esi - 0x160]
mov esi, dword [ebp - 0xc]
mov byte [ebp - 0x24], al
mov edx, dword [ebp - 0x24]
mov al, byte [esi]
mov cl, byte [esi + 1]
and edx, 0xff
add al, 3
add cl, 0x4a
shl al, 4
lea edi, [ebp + edx - 0x160]
mov edx, dword [ebp - 0x15f]
or al, cl
mov cl, byte [edi]
mov byte [ebp - 0x24], al
mov byte [ebp - 8], cl
mov ecx, edx
and ecx, 0xff
fstp st(0)
mov cl, byte [ebp + ecx - 0x160]
add cl, bl
inc dl
mov byte [ebp - 0x28], cl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x1c]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x160]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x160]
xor bl, al
mov eax, 1
mov byte [ebp - 0x20], bl
xor ebx, ebx
mov dl, byte [esi + 2]
mov bl, byte [esi + 3]
add dl, 3
sub ebx, 0xb6
shl dl, 4
or dl, bl
mov dword [ebp - 0x30], 0xc
mov byte [ebp + 0xb], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add cl, bl
inc dl
mov byte [ebp - 0x28], cl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
lea edi, [esi + 2]
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp + 0xb]
mov byte [ebp - 0x24], bl
xor dl, bl
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x60], dl
jmp 0x838858
mov edi, dword [ebp - 0x38]
add edi, 2
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x38], edi
mov dl, byte [edi]
mov bl, byte [edi + 1]
sub edx, 0x6d
sub ebx, 0xb6
shl edx, 4
or dl, bl
inc eax
mov byte [ebp + 0xb], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add cl, bl
inc dl
mov byte [ebp - 0x28], cl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp + 0xb]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x838972
mov byte [ebp + eax - 0x61], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x838855
mov bl, byte [esi + eax*2 + 3]
inc eax
xor edx, edx
add bl, 0x4a
mov dl, byte [esi + eax*2]
add dl, 3
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp + 0xb], bl
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp - 0x18]
add cl, bl
inc dl
mov byte [ebp - 0x28], cl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp + 0xb]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x838a9b
mov byte [ebp + eax - 0x61], dl
mov bl, byte [esi + eax*2 + 2]
mov dl, byte [esi + eax*2 + 3]
inc eax
add bl, 3
add dl, 0x4a
shl bl, 4
or dl, bl
mov byte [ebp + 0xb], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add cl, bl
inc dl
mov byte [ebp - 0x28], cl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp + 0xb]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x838bab
mov byte [ebp + eax - 0x61], dl
lea ebx, [eax + 1]
cmp ebx, 0x1e
jge 0x838cea
mov edx, 0x1e
lea edi, [esi + eax*2]
sub edx, ebx
mov dword [ebp - 0x30], edx
jmp 0x838bc9
mov edi, dword [ebp - 0x38]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 3
shl dl, 4
add bl, 0x4a
mov dword [ebp - 0x38], edi
or dl, bl
inc eax
mov byte [ebp + 0xb], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add cl, bl
inc dl
mov byte [ebp - 0x28], cl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp + 0xb]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x838cdd
mov byte [ebp + eax - 0x61], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x838bc6
mov bl, byte [esi + eax*2 + 3]
inc eax
xor edx, edx
add bl, 0x4a
mov dl, byte [esi + eax*2]
add dl, 3
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp + 0xb], bl
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp - 0x18]
add cl, bl
inc dl
mov byte [ebp - 0x28], cl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp + 0xb]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x838e06
mov byte [ebp + eax - 0x61], dl
mov bl, byte [esi + eax*2 + 2]
mov dl, byte [esi + eax*2 + 3]
inc eax
add bl, 3
add dl, 0x4a
shl bl, 4
or dl, bl
mov byte [ebp + 0xb], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add cl, bl
inc dl
mov byte [ebp - 0x28], cl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp + 0xb]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x838f16
mov byte [ebp + eax - 0x61], dl
mov dl, byte [esi + eax*2 + 2]
mov bl, byte [esi + eax*2 + 3]
inc eax
add dl, 3
shl dl, 4
add bl, 0x4a
or dl, bl
mov byte [ebp + 0xb], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add cl, bl
inc dl
mov byte [ebp - 0x28], cl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp + 0xb]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x839026
mov byte [ebp + eax - 0x61], dl
mov bl, byte [esi + eax*2 + 3]
inc eax
xor edx, edx
add bl, 0x4a
mov dl, byte [esi + eax*2]
add dl, 3
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea esi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
add cl, byte [edx]
mov byte [ebp - 0x28], cl
mov cl, byte [ebp - 0x18]
inc cl
mov byte [ebp - 0x18], cl
mov ecx, dword [ebp - 0x28]
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x160]
lea edi, [ebp + ecx - 0x160]
mov ecx, dword [ebp - 0x20]
mov byte [esi], dl
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x160]
lea ecx, [ebp + ecx - 0x160]
mov byte [edi], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 4], ecx
test eax, eax
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ecx], dl
mov edx, dword [ebp - 0x10]
mov cl, byte [ebp - 8]
mov byte [edx], cl
jbe 0x83911d
mov ecx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
and ecx, 0xff
mov dword [ebp - 0x1c], ecx
mov cl, byte [ebp + ecx - 0x160]
add cl, dl
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x160]
mov cl, byte [esi]
add edx, ecx
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 0x1c]
mov cl, byte [ecx]
add edx, ecx
xor ecx, ecx
and edx, 0xff
mov cl, byte [ebp + edx - 0x160]
mov dl, byte [edi]
add edx, esi
mov cl, byte [ebp + ecx - 0x160]
and edx, 0xff
xor cl, byte [ebp + edx - 0x160]
xor cl, bl
mov byte [ebp + eax - 0x61], cl
mov byte [ebp - 0x40], 0
lea edi, [ebp - 0x60]
jmp 0x839c42
cmp eax, 0x237
jne 0x839c65
fld qword [0x88f578]
fld qword [0x88f578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8be758]
fsub st(1)
fxch st(1)
fmul qword [0x89d770]
fadd qword [0x8a15e0]
fdivp st(1)
adc eax, 0xf9de008a
faddp st(2)
fld st(1)
fcomp qword [0x8be750]
fnstsw ax
test ah, 0x41
inc ecx
jne 0x839179
fld st(0)
fmul qword [0x8be748]
fsubp st(2)
fadd qword [0x896438]
fcom qword [0x8be740]
fnstsw ax
test ah, 1
jne 0x839140
fxch st(1)
fst qword [ebp - 0x34]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x8391fc
loopne 0x839159
fidivr word [ecx - 0x43244919]
fdiv dword [edx - 0x48234123]
out 0xb8, eax
in eax, 0xbb
fstp xword [ebx - 0x44214924]
loopne 0x83916c
in eax, 0xb7
fdivr dword [ecx - 0x4d184f1e]
out 0xb1, al
fnsave dword [ebx - 0x411d4628]
fidivr word [ebx - 0x461b4322]
out 0xb9, eax
fdivr qword [esi + ebx*8 - 0x234c1a45]
mov bl, 0xe6
mov esi, 0xbedcb4e4
fdivr dword [ebp + 0x25456b2d]
pop ebp
dec esp
jno 0x839219
jae 0x839263
inc eax
inc ecx
and dword [edx], edi
inc ebp
pop edi
pop ebx
jmp 0x839c3f
mov dword [ebp - 0x2c], 0x8391a2
mov dword [ebp - 0x38], 0x8391e4
xor eax, eax
mov byte [ebp + eax - 0x160], al
inc eax
cmp eax, 0x100
jb 0x83920c
fld qword [ebp - 0x34]
mov byte [ebp + 8], 0
xor edi, edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xc], 0xff
mov eax, dword [ebp - 0xc]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x839249
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x839241
cmp edi, 3
ja case.default.0x83924e
jmp dword [edi*4 + 0x83aa8c]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
jmp 0x8392ca
invalid
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
shr eax, 8
jmp 0x8392ca
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
shr eax, 0x10
jmp 0x8392ca
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
shr eax, 0x18
jmp 0x8392ca
mov edx, dword [ebp - 0x38]
and esi, 0xff
mov cl, byte [ebp + esi - 0x160]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x17
mov byte [ebp + 8], cl
jb 0x8392dd
xor edi, edi
add cl, 0x17
mov byte [ebp + 8], cl
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x8392fd
mov eax, edx
xor edx, edx
div dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, edx
jb 0x839249
je 0x839335
mov bl, byte [ebp + eax - 0x160]
lea edx, [ebp + edx - 0x160]
lea ecx, [ebp + eax - 0x160]
mov al, byte [edx]
xor bl, al
mov byte [ecx], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ecx]
mov dl, bl
xor al, dl
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0xc], eax
jne 0x83922e
mov dl, byte [ebp - 0x159]
and esi, 0xff
mov byte [ebp - 0x20], dl
mov bl, byte [ebp - 0x15d]
mov al, byte [ebp + esi - 0x160]
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 0x24], al
mov cl, byte [ebp - 0x15b]
mov dl, byte [esi]
mov al, byte [esi + 1]
add dl, 8
add al, 0x50
shl dl, 4
or al, dl
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x24]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x160]
lea esi, [ebp + eax - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x15f]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x160]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [esi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp + 8]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 4]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [edi]
mov edi, dword [ebp - 0xc]
mov bl, byte [ebp + ebx - 0x160]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp - 0x28]
mov byte [ebp - 0x24], dl
xor bl, dl
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 0x20], bl
lea edi, [edx + 2]
mov dl, byte [edx + 3]
add dl, 0x50
mov bl, byte [edi]
mov dword [ebp - 0x30], 0xd
add bl, 8
shl bl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x60], dl
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 2]
jmp 0x839592
mov edi, dword [ebp - 0x38]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 8
shl dl, 4
add bl, 0x50
mov dword [ebp - 0x38], edi
or dl, bl
inc esi
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x8396a3
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x83958f
mov edx, dword [ebp - 0x2c]
inc esi
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
xor edx, edx
add bl, 0x50
mov dl, byte [edi]
sub edx, 0xd8
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp - 0x28], bl
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp + 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x8397d1
mov byte [ebp + esi - 0x61], dl
lea ebx, [esi + 1]
cmp ebx, 0x1f
jge 0x839914
mov edx, dword [ebp - 0x2c]
lea edi, [edx + esi*2]
mov edx, 0x1f
sub edx, ebx
mov dword [ebp - 0x30], edx
jmp 0x8397f2
mov edi, dword [ebp - 0x38]
mov bl, byte [edi + 3]
add edi, 2
xor edx, edx
add bl, 0x50
mov dl, byte [edi]
mov dword [ebp - 0x38], edi
sub edx, 0xd8
inc esi
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp - 0x28], bl
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x839907
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x8397ef
mov edi, dword [ebp - 0x2c]
inc esi
xor ebx, ebx
xor edx, edx
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
sub ebx, 0xd8
add dl, 0x50
shl bl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp + 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x839a35
mov byte [ebp + esi - 0x61], dl
mov edi, dword [ebp - 0x2c]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 8
add bl, 0x50
shl dl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x28]
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x839b41
mov byte [ebp + esi - 0x61], dl
mov edx, dword [ebp - 0x28]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x1c], al
inc bl
mov eax, dword [ebp - 0x1c]
mov byte [ebp + 8], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x160]
lea eax, [ebp + eax - 0x160]
mov byte [edi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [eax], bl
mov ebx, dword [ebp + 8]
and ebx, 0xff
mov dword [ebp - 4], edx
test esi, esi
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
jbe 0x839c3b
mov edx, dword [ebp - 0x10]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
sub bl, 8
add dl, 0x50
shl bl, 4
or bl, dl
mov edx, dword [ebp - 0xc]
mov dl, byte [ebp + edx - 0x160]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x160]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x160]
mov cl, byte [ebp + edx - 0x160]
xor bl, cl
mov cl, byte [ebp + eax - 0x160]
xor bl, cl
mov byte [ebp + esi - 0x61], bl
mov byte [ebp - 0x40], 0
lea edi, [ebp - 0x60]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x464]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
fld qword [0x88f578]
fld qword [0x88f578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8be738]
fsub st(1)
fxch st(1)
fmul qword [0x89ea60]
fadd qword [0x89da60]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8be730]
fnstsw ax
test ah, 0x41
jne 0x839caa
fld st(0)
fmul qword [0x8be728]
fsubp st(2)
fadd qword [0x896600]
fcom qword [0x8be720]
fnstsw ax
test ah, 1
jne 0x839c71
fxch st(1)
fst qword [ebp - 0x34]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x839d25
nop
sbb byte [edx - 0x6df273f6], bl
adc edx, dword [ebp - 0x6ced66f3]
or dl, byte [esi - 0x67eb69f6]
adc eax, 0xe93159a
xchg ecx, eax
or eax, 0xa921796
mov word [0xa910995], ss
cdq
push ss
mov ss, word [eax]
xchg ecx, eax
pop ss
xchg ecx, eax
pop ss
cdq
or dl, byte [ecx - 0x68e773e8]
adc ecx, dword [ebp + 0x263f4f16]
daa
dec eax
imul eax, dword [eax + 0x48], 0x78
jo 0x839d8a
push esi
and eax, 0x36462e79
cmp eax, 0x6b27747b
jmp 0x83a969
mov dword [ebp - 0x2c], 0x839cd3
mov dword [ebp - 0x38], 0x839d09
xor eax, eax
mov byte [ebp + eax - 0x160], al
inc eax
cmp eax, 0x100
jb 0x839d35
fld qword [ebp - 0x34]
mov byte [ebp + 8], 0
xor edi, edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xc], 0xff
mov eax, dword [ebp - 0xc]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x839d72
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x839d6a
cmp edi, 3
ja case.default.0x839d77
jmp dword [edi*4 + 0x83aa9c]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x160]
jmp 0x839de4
add byte [edx - 0x15fca74], cl
invalid
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 8
and esi, 0xff
jmp 0x839ddd
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 0x10
and esi, 0xff
jmp 0x839ddd
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
jmp 0x839ddd
mov ecx, dword [ebp - 0x38]
and esi, 0xff
mov cl, byte [edi + ecx - 4]
mov al, byte [ebp + esi - 0x160]
add cl, al
inc edi
cmp edi, 0x1b
mov byte [ebp + 8], cl
jb 0x839df7
xor edi, edi
add cl, 0x1b
mov byte [ebp + 8], cl
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x839e17
mov eax, edx
xor edx, edx
div dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, edx
jb 0x839d72
je 0x839e4f
mov bl, byte [ebp + eax - 0x160]
lea edx, [ebp + edx - 0x160]
lea ecx, [ebp + eax - 0x160]
mov al, byte [edx]
xor bl, al
mov byte [ecx], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ecx]
mov dl, bl
xor al, dl
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0xc], eax
jne 0x839d57
mov cl, byte [ebp - 0x15b]
mov dl, byte [ebp - 0x159]
and esi, 0xff
mov byte [ebp - 4], cl
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 0x20], dl
mov al, byte [ebp + esi - 0x160]
mov byte [ebp - 0xc], al
mov edx, dword [ebp - 0xc]
xor eax, eax
and edx, 0xff
mov al, byte [ecx]
mov cl, byte [ecx + 1]
add al, 4
sub cl, 9
shl al, 4
lea esi, [ebp + edx - 0x160]
mov edx, dword [ebp - 0x15f]
or al, cl
mov ecx, edx
mov byte [ebp - 0x10], al
mov al, byte [esi]
and ecx, 0xff
mov byte [ebp - 8], al
mov al, byte [ebp - 0x15d]
mov cl, byte [ebp + ecx - 0x160]
add cl, al
inc dl
mov byte [ebp - 0x1c], cl
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
fstp st(0)
mov al, byte [ebp + edx - 0x160]
lea edi, [ebp + edx - 0x160]
mov edx, dword [ebp - 0x20]
mov byte [esi], al
and edx, 0xff
mov al, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], al
mov eax, dword [ebp + 8]
and eax, 0xff
mov bl, byte [ebp + eax - 0x160]
lea eax, [ebp + eax - 0x160]
mov byte [edx], bl
mov bl, byte [ebp - 8]
mov dword [ebp - 0x14], eax
mov byte [eax], bl
mov eax, dword [ebp - 8]
mov bl, byte [ebp - 4]
and eax, 0xff
mov dl, byte [edx]
mov dword [ebp - 0x24], eax
mov al, byte [ebp + eax - 0x160]
add bl, al
mov byte [ebp - 4], bl
mov bl, byte [esi]
mov eax, dword [ebp - 4]
and eax, 0xff
mov al, byte [ebp + eax - 0x160]
add eax, ebx
add eax, edx
xor edx, edx
and eax, 0xff
mov dl, byte [ebp + eax - 0x160]
mov al, byte [edi]
mov edi, dword [ebp - 0x24]
mov dl, byte [ebp + edx - 0x160]
add eax, edi
and eax, 0xff
mov bl, byte [ebp + eax - 0x160]
mov al, byte [ebp - 0x10]
xor dl, bl
mov byte [ebp - 0xc], al
xor dl, al
mov eax, 1
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x2c]
lea esi, [edx + 2]
mov dl, byte [edx + 3]
mov bl, byte [esi]
sub dl, 9
add bl, 4
mov dword [ebp - 0x30], 9
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
add cl, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x1c], cl
inc bl
mov edx, dword [ebp - 0x1c]
mov byte [ebp + 8], bl
and edx, 0xff
lea esi, [ebp + edx - 0x160]
mov dword [ebp - 0x18], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [esi], bl
mov esi, dword [ebp + 8]
and esi, 0xff
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + esi - 0x160]
lea esi, [ebp + esi - 0x160]
mov byte [edx], bl
mov dl, byte [ebp - 8]
mov bl, byte [ebp - 4]
mov byte [esi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x24], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 4], bl
mov bl, byte [edi]
mov edx, dword [ebp - 4]
mov edi, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x24]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0xc], bl
xor dl, bl
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x5c], dl
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 2]
jmp 0x83a0a9
mov edi, dword [ebp - 0x38]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 4
sub dl, 9
mov dword [ebp - 0x38], edi
shl bl, 4
or dl, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
inc eax
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov dl, byte [esi]
add cl, dl
inc bl
mov byte [ebp - 0x1c], cl
mov byte [ebp + 8], bl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea esi, [ebp + edx - 0x160]
mov dword [ebp - 0x18], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [esi], bl
mov esi, dword [ebp + 8]
and esi, 0xff
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + esi - 0x160]
lea esi, [ebp + esi - 0x160]
mov byte [edx], bl
mov dl, byte [ebp - 8]
mov bl, byte [ebp - 4]
mov byte [esi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x24], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 4], bl
mov bl, byte [edi]
mov edx, dword [ebp - 4]
mov edi, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x24]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0xc], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x83a1b6
mov byte [ebp + eax - 0x5d], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x83a0a6
mov edi, dword [ebp - 0x2c]
inc eax
mov bl, byte [edi + eax*2]
mov dl, byte [edi + eax*2 + 1]
add bl, 4
sub dl, 9
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea esi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp + 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov dl, byte [ebp + 8]
add cl, bl
inc dl
mov byte [ebp - 0x1c], cl
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [esi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x28], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x28]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x24], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 4], bl
mov bl, byte [esi]
mov edx, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x24]
add ebx, edx
mov dl, byte [ebp + esi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0xc], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x83a2e0
mov byte [ebp + eax - 0x5d], dl
mov bl, byte [edi + eax*2 + 2]
mov dl, byte [edi + eax*2 + 3]
inc eax
add bl, 4
sub dl, 9
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea esi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp + 8]
add cl, bl
inc dl
mov byte [ebp - 0x1c], cl
mov byte [ebp + 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [esi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x28], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x28]
and edx, 0xff
lea edx, [ebp + edx - 0x160]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x24], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 4], bl
mov bl, byte [esi]
mov edx, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x24]
add ebx, edx
mov dl, byte [ebp + esi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0xc], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x83a3f0
mov byte [ebp + eax - 0x5d], dl
inc eax
mov bl, byte [edi + eax*2]
mov dl, byte [edi + eax*2 + 1]
lea esi, [edi + eax*2]
add bl, 4
sub dl, 9
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
add cl, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x1c], cl
inc bl
mov edx, dword [ebp - 0x1c]
mov byte [ebp + 8], bl
and edx, 0xff
lea esi, [ebp + edx - 0x160]
mov dword [ebp - 0x18], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [esi], bl
mov esi, dword [ebp + 8]
and esi, 0xff
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + esi - 0x160]
lea esi, [ebp + esi - 0x160]
mov byte [edx], bl
mov dl, byte [ebp - 8]
mov bl, byte [ebp - 4]
mov byte [esi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x24], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 4], bl
mov bl, byte [edi]
mov edx, dword [ebp - 4]
mov edi, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x24]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0xc], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x83a4fe
mov byte [ebp + eax - 0x5d], dl
lea ebx, [eax + 1]
cmp ebx, 0x19
jge 0x83a639
mov edx, dword [ebp - 0x2c]
lea edi, [edx + eax*2]
mov edx, 0x19
sub edx, ebx
mov dword [ebp - 0x30], edx
jmp 0x83a51f
mov edi, dword [ebp - 0x38]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 4
sub dl, 9
mov dword [ebp - 0x38], edi
shl bl, 4
or dl, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
inc eax
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov dl, byte [esi]
add cl, dl
inc bl
mov byte [ebp - 0x1c], cl
mov byte [ebp + 8], bl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea esi, [ebp + edx - 0x160]
mov dword [ebp - 0x18], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [esi], bl
mov esi, dword [ebp + 8]
and esi, 0xff
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + esi - 0x160]
lea esi, [ebp + esi - 0x160]
mov byte [edx], bl
mov dl, byte [ebp - 8]
mov bl, byte [ebp - 4]
mov byte [esi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x24], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 4], bl
mov bl, byte [edi]
mov edx, dword [ebp - 4]
mov edi, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x24]
add ebx, edx
mov dl, byte [ebp + edi - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0xc], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x83a62c
mov byte [ebp + eax - 0x5d], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x83a51c
mov esi, dword [ebp - 0x2c]
inc eax
xor edx, edx
mov dl, byte [esi + eax*2]
mov bl, byte [esi + eax*2 + 1]
add dl, 4
sub bl, 9
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov byte [ebp - 0x10], bl
lea esi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp + 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
add cl, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x1c], cl
inc bl
mov edx, dword [ebp - 0x1c]
mov byte [ebp + 8], bl
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [esi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp + 8]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x24], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 4], bl
mov bl, byte [esi]
mov edx, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x24]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x160]
mov edx, ebx
mov bl, byte [edi]
add ebx, esi
mov dl, byte [ebp + edx - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0xc], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x83a754
mov byte [ebp + eax - 0x5d], dl
mov esi, dword [ebp - 0x2c]
inc eax
xor edx, edx
xor ebx, ebx
mov dl, byte [esi + eax*2]
mov bl, byte [esi + eax*2 + 1]
add dl, 4
sub bl, 9
shl dl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea esi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
add cl, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x1c], cl
inc bl
mov edx, dword [ebp - 0x1c]
mov byte [ebp + 8], bl
and edx, 0xff
lea edi, [ebp + edx - 0x160]
mov dl, byte [ebp + edx - 0x160]
mov byte [esi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x160]
lea edx, [ebp + edx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp + 8]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x24], edx
mov dl, byte [ebp + edx - 0x160]
add bl, dl
mov byte [ebp - 4], bl
mov bl, byte [esi]
mov edx, dword [ebp - 4]
mov esi, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x160]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x24]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x160]
mov edx, ebx
mov bl, byte [edi]
add ebx, esi
mov dl, byte [ebp + edx - 0x160]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 0x10]
xor dl, bl
test eax, eax
mov byte [ebp - 0x20], dl
jbe 0x83a863
mov byte [ebp + eax - 0x5d], dl
mov esi, dword [ebp - 0x2c]
inc eax
xor edx, edx
xor ebx, ebx
mov dl, byte [esi + eax*2]
mov bl, byte [esi + eax*2 + 1]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
and esi, 0xff
mov dword [ebp - 0x30], ebx
mov bl, byte [ebp + esi - 0x160]
lea esi, [ebp + esi - 0x160]
mov byte [ebp - 8], bl
mov bl, byte [edi]
add cl, bl
mov bl, byte [ebp + 8]
mov byte [ebp - 0x1c], cl
inc bl
mov ecx, dword [ebp - 0x1c]
mov byte [ebp + 8], bl
and ecx, 0xff
lea edi, [ebp + ecx - 0x160]
mov cl, byte [ebp + ecx - 0x160]
mov byte [esi], cl
mov ecx, dword [ebp - 0x20]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x160]
lea ecx, [ebp + ecx - 0x160]
mov byte [edi], bl
mov ebx, dword [ebp + 8]
and ebx, 0xff
mov dword [ebp - 0x28], ecx
test eax, eax
lea ebx, [ebp + ebx - 0x160]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [ecx], bl
mov ebx, dword [ebp - 0x14]
mov cl, byte [ebp - 8]
mov byte [ebx], cl
jbe 0x83a965
mov ebx, dword [ebp - 8]
mov cl, byte [ebp - 0x30]
add dl, 4
and ebx, 0xff
shl dl, 4
sub cl, 9
mov dword [ebp - 0x24], ebx
or dl, cl
mov cl, byte [ebp + ebx - 0x160]
mov bl, byte [ebp - 4]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x28]
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x160]
add ecx, ebx
mov bl, byte [esi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x160]
mov cl, byte [ebp + ebx - 0x160]
xor dl, cl
mov cl, byte [edi]
add ecx, dword [ebp - 0x24]
and ecx, 0xff
xor dl, byte [ebp + ecx - 0x160]
mov byte [ebp + eax - 0x5d], dl
mov byte [ebp - 0x42], 0
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x25f]
mov byte [ebp - 0x260], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [ebp - 0x464]
stosb byte es:[edi], al
push edx
push 0x200
lea eax, [ebp - 0x260]
push 0
push eax
call fcn.008341c0
mov ecx, 0x100
xor eax, eax
lea edi, [ebp - 0x864]
lea edx, [ebp - 0x864]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x5c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x864]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x260]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x864]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.00836030
add esp, 0x14
test edx, edx
jne 0x83aa44
push 0x3e8
call ebx
mov eax, dword [ebp - 0x264]
dec eax
test eax, eax
mov dword [ebp - 0x264], eax
jg 0x83a96f
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call fcn.0083dbc0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret