Function at 0x821370
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x794
push ebx
push esi
push edi
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x392]
mov word [ebp - 0x394], 0
mov byte [ebp - 0x794], 0
rep stosd dword es:[edi], eax
fld qword [0x88b578]
fld qword [0x88b578]
stosw word es:[edi], ax
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x793]
mov dword [ebp - 0x40], 0x200
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a5828]
fsub st(1)
fxch st(1)
fmul qword [0x899dc0]
fadd qword [0x899c70]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a5820]
fnstsw ax
test ah, 0x41
jne 0x8213fb
fld st(0)
fmul qword [0x8a5818]
fsubp st(2)
fadd qword [0x892488]
fcom qword [0x8a5810]
fnstsw ax
test ah, 1
jne 0x8213c2
fxch st(1)
fst qword [ebp - 0x48]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x82147d
xor al, 0x20
aaa
inc ebx
dec esi
jno 0x82147f
push ebp
sub al, 0x70
jl 0x8214a0
inc edx
push ecx
sub al, 0x61
push 0x3d
push esi
fsub dword [ebx]
ficom dword [edi]
fist dword [edi]
loopne 0x821464
ficom dword [esi]
aam 0x20
shl dword [ebx], 1
ficomp word [esi]
fbld tbyte [0x24df1dde]
salc
sbb bl, dl
pop ss
aam 0x1b
invalid
loopne 0x821489
shl dword [edx], cl
fistp dword [ebx]
loopne 0x821489
rcr byte [0x1fd81edb], cl
fcomp qword [edi]
aam 0x1d
frstor dword [ecx]
jmp 0x821ee4
mov dword [ebp - 0x30], 0x821438
mov dword [ebp - 0x1c], 0x821424
xor eax, eax
sar byte [eax], 1
adc al, 0x82
add bh, al
inc ebp
in al, 0x24
adc al, 0x82
add byte [ebx], dh
add byte [eax], 0x33
ror byte [eax - 0x153fa7c], 0xff
inc dword [eax + 0x3d]
add byte [ecx], al
add byte [eax], al
mov byte [ebp + eax - 0x154], al
inc eax
cmp eax, 0x100
jb 0x82148d
fld qword [ebp - 0x48]
mov byte [ebp - 0x18], 0
mov eax, 0xff
inc ebp
call 0x181cca6
add byte [eax], al
mov esi, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x3c], eax
jmp 0x8214b5
mov eax, dword [ebp - 0x3c]
mov ebx, 1
mov dword [ebp - 0x34], 0
cmp eax, ebx
jbe 0x8214cd
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x8214c5
cmp edi, 3
ja case.default.0x8214d2
jmp dword [edi*4 + 0x823790]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x154]
jmp 0x82154e
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x154]
shr eax, 8
jmp 0x82154e
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x10
jmp 0x82154e
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x18
jmp 0x82154e
mov eax, dword [ebp - 0x1c]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x154]
add cl, al
inc edi
cmp edi, 0x18
mov byte [ebp - 0x18], cl
jb 0x821561
xor edi, edi
add cl, 0x18
mov byte [ebp - 0x18], cl
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x34], eax
jbe 0x821581
mov eax, edx
xor edx, edx
div dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp edx, eax
ja 0x8214cd
mov ecx, eax
cmp ecx, edx
je 0x8215ca
mov al, byte [ebp + edx - 0x154]
mov bl, byte [ebp + ecx - 0x154]
lea edx, [ebp + edx - 0x154]
xor bl, al
mov byte [ebp + ecx - 0x154], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x154]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x154], al
dec ecx
mov dword [ebp - 0x3c], ecx
jne 0x8214b2
mov dl, byte [ebp - 0x14d]
and esi, 0xff
mov byte [ebp - 0x20], dl
mov bl, byte [ebp - 0x151]
mov al, byte [ebp + esi - 0x154]
mov esi, dword [ebp - 0x30]
mov byte [ebp - 0x34], al
mov cl, byte [ebp - 0x14f]
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 0xf
sub dl, 0x16
shl al, 4
or al, dl
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x34]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x154]
lea esi, [ebp + eax - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x153]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x154]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [esi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x154]
mov dl, byte [edi]
mov edi, dword [ebp - 0x14]
mov bl, byte [ebp + ebx - 0x154]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 0x1c]
mov byte [ebp - 0x34], dl
xor bl, dl
mov edx, dword [ebp - 0x30]
mov byte [ebp - 0x20], bl
lea edi, [edx + 2]
mov dl, byte [edx + 3]
sub dl, 0x16
mov bl, byte [edi]
mov dword [ebp - 0x3c], 0xd
add bl, 0xf
shl bl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x34], bl
xor dl, bl
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x174], dl
mov edx, dword [ebp - 0x30]
lea edi, [edx + 2]
jmp 0x821827
mov edi, dword [ebp - 0x44]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xf
sub dl, 0x16
mov dword [ebp - 0x44], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x34], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x82193b
mov byte [ebp + esi - 0x175], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x821824
mov edi, dword [ebp - 0x30]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xf
sub dl, 0x16
shl bl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x34], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x821a65
mov byte [ebp + esi - 0x175], dl
mov edi, dword [ebp - 0x30]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xf
sub dl, 0x16
shl bl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x34], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x821b77
mov byte [ebp + esi - 0x175], dl
mov edx, dword [ebp - 0x30]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
sub ebx, 0x16
mov dl, byte [edi]
add dl, 0xf
shl dl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x34], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x821c8d
mov byte [ebp + esi - 0x175], dl
lea ebx, [esi + 1]
cmp ebx, 0x20
jge 0x821dd5
mov edx, dword [ebp - 0x30]
lea edi, [edx + esi*2]
mov edx, 0x20
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x821cae
mov edi, dword [ebp - 0x44]
add edi, 2
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x44], edi
mov bl, byte [edi]
mov dl, byte [edi + 1]
sub ebx, 0xd1
sub edx, 0x16
shl ebx, 4
or dl, bl
inc esi
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x34], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x821dc8
mov byte [ebp + esi - 0x175], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x821cab
mov edx, dword [ebp - 0x1c]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
add al, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 0x28], al
inc bl
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x154]
lea eax, [ebp + eax - 0x154]
mov byte [edi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [eax], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x10], edx
test esi, esi
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
jbe 0x821edd
mov edx, dword [ebp - 8]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x30]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
shl dl, 4
sub bl, 0x16
sub dl, 0x10
or bl, dl
mov edx, dword [ebp - 0x14]
mov dl, byte [ebp + edx - 0x154]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x154]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x154]
mov cl, byte [ebp + edx - 0x154]
xor bl, cl
mov cl, byte [ebp + eax - 0x154]
xor bl, cl
mov byte [ebp + esi - 0x175], bl
mov byte [ebp - 0x155], 0
fld qword [0x88b578]
fld qword [0x88b578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a5808]
fsub st(1)
fxch st(1)
fmul qword [0x899860]
fadd qword [0x8a5800]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a57f8]
fnstsw ax
test ah, 0x41
jne 0x821f29
fld st(0)
fmul qword [0x8a57f0]
fsubp st(2)
fadd qword [0x88b548]
fcom qword [0x8a57e8]
fnstsw ax
test ah, 1
jne 0x821ef0
fxch st(1)
fst qword [ebp - 0x38]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x821f84
and ebp, dword [ecx + ecx*2]
bound ebx, qword [ecx + 0x6d]
xor byte [ebp + 0x74], dh
dec esi
arpl word [edx], sp
imul si, word [eax + 0x36], 0x51
arpl word [ebx + 0x29], si
out 0x56, eax
out 0x57, eax
out 0x50, al
in al, dx
dec ebp
out dx, eax
dec ebx
push esp
in eax, dx
dec eax
in al, dx
push esp
out 0x57, eax
out 0x4d, al
jmp 0x821fcb
mov dword [ebp - 0x3c], 0x821f67
mov dword [ebp - 0x44], 0x821f52
xor eax, eax
mov byte [ebp + eax - 0x154], al
inc eax
cmp eax, 0x100
jb 0x821f94
fld qword [ebp - 0x38]
mov eax, 0xff
mov byte [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x18], eax
jmp 0x821fbc
mov eax, dword [ebp - 0x18]
mov ebx, 1
mov dword [ebp - 0x34], 0
cmp eax, ebx
jbe 0x821fd4
or byte [ebp + 0x3b011b5c], cl
fdiv dword [edx - 8]
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x821fcc
cmp edi, 3
ja case.default.0x821fd9
jmp dword [edi*4 + 0x8237a0]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x154]
jmp 0x822055
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x154]
shr eax, 8
jmp 0x822055
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x10
jmp 0x822055
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x18
jmp 0x822055
mov edx, dword [ebp - 0x44]
and esi, 0xff
mov cl, byte [ebp + esi - 0x154]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x19
mov byte [ebp - 0x30], cl
jb 0x822068
xor edi, edi
add cl, 0x19
mov byte [ebp - 0x30], cl
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x34], eax
jbe 0x822088
mov eax, edx
xor edx, edx
div dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
ja 0x821fd4
mov ecx, eax
cmp ecx, edx
je 0x8220d1
mov al, byte [ebp + edx - 0x154]
mov bl, byte [ebp + ecx - 0x154]
lea edx, [ebp + edx - 0x154]
xor bl, al
mov byte [ebp + ecx - 0x154], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x154]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x154], al
dec ecx
mov dword [ebp - 0x18], ecx
jne 0x821fb9
mov dl, byte [ebp - 0x14d]
mov edi, dword [ebp - 0x3c]
and esi, 0xff
mov byte [ebp - 0x14], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x151]
mov al, byte [ebp + esi - 0x154]
add dl, 0xc
mov byte [ebp - 0x2c], al
mov al, byte [edi + 1]
sub al, 0x48
mov cl, byte [ebp - 0x14f]
shl dl, 4
or al, dl
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 0x2c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x154]
lea esi, [ebp + eax - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x153]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x154]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
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]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x20]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x34]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x154]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 0x21]
mov byte [ebp - 0x2c], dl
xor bl, dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x14], bl
sub dl, 0x48
mov bl, byte [edi + 2]
add edi, 4
add bl, 0xc
shl bl, 4
or dl, bl
mov byte [ebp - 0x21], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea esi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
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]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x34]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + esi - 0x154]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x21]
mov byte [ebp - 0x2c], bl
xor dl, bl
mov byte [ebp - 0x54], dl
mov bl, byte [edi]
mov byte [ebp - 0x14], dl
mov dl, byte [edi + 1]
add bl, 0xc
sub dl, 0x48
shl bl, 4
or dl, bl
mov byte [ebp - 0x21], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [edi]
mov dword [ebp - 0x30], esi
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
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]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x21]
mov byte [ebp - 0x2c], bl
xor dl, bl
mov byte [ebp - 0x14], dl
mov byte [ebp - 0x53], dl
mov edx, dword [ebp - 0x3c]
lea edi, [edx + 4]
jmp 0x822428
mov edi, dword [ebp - 0x44]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 0xc
shl dl, 4
sub bl, 0x48
mov dword [ebp - 0x44], edi
or dl, bl
inc esi
mov byte [ebp - 0x21], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
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]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x21]
mov byte [ebp - 0x2c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x822539
mov byte [ebp + esi - 0x55], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x822425
mov edx, dword [ebp - 0x3c]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
xor edx, edx
sub bl, 0x48
mov dl, byte [edi]
mov dword [ebp - 0x44], edi
add dl, 0xc
shl dl, 4
or dl, bl
mov byte [ebp - 0x21], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
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]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x21]
mov byte [ebp - 0x2c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x822669
mov byte [ebp + esi - 0x55], dl
lea ebx, [esi + 1]
cmp ebx, 0xa
jge 0x8227ab
mov edx, dword [ebp - 0x3c]
lea edi, [edx + esi*2]
mov edx, 0xa
sub edx, ebx
mov dword [ebp - 0x18], edx
jmp 0x82268a
mov edi, dword [ebp - 0x30]
add edi, 2
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x30], edi
mov dl, byte [edi]
mov bl, byte [edi + 1]
add dl, 0xc
sub bl, 0x48
shl dl, 4
or dl, bl
inc esi
mov byte [ebp - 0x21], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
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]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x21]
mov byte [ebp - 0x2c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x82279e
mov byte [ebp + esi - 0x55], dl
mov edx, dword [ebp - 0x18]
dec edx
mov dword [ebp - 0x18], edx
jne 0x822687
mov edi, dword [ebp - 0x3c]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
mov edi, ebx
add edx, 0xffffff1c
add edi, 0xffffffb8
shl edx, 4
or edi, edx
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0x30], edi
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
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]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x2c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x8228ce
mov byte [ebp + esi - 0x55], dl
mov edi, dword [ebp - 0x3c]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0xe4
lea edi, [ebx - 0x48]
shl edx, 4
or edi, edx
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0x30], edi
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
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]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov ebx, dword [ebp - 0x30]
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x8229e1
mov byte [ebp + esi - 0x55], dl
and ebx, 0xff
inc esi
mov dl, byte [ebp + ebx - 0x154]
lea edi, [ebp + ebx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0xc]
mov byte [ebp - 0x28], al
inc bl
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0xc], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x154]
lea eax, [ebp + eax - 0x154]
mov byte [edi], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [eax], bl
mov ebx, dword [ebp - 0xc]
and ebx, 0xff
mov dword [ebp - 4], edx
test esi, esi
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
jbe 0x822ad8
mov edx, dword [ebp - 8]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x3c]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 4
sub bl, 0x48
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x20]
mov dl, byte [ebp + edx - 0x154]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 4]
mov dl, byte [edx]
add ecx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 0x20]
add ecx, edx
and ecx, 0xff
xor edx, edx
add eax, edi
mov dl, byte [ebp + ecx - 0x154]
and eax, 0xff
mov cl, byte [ebp + edx - 0x154]
xor bl, cl
mov cl, byte [ebp + eax - 0x154]
xor bl, cl
mov byte [ebp + esi - 0x55], bl
mov byte [ebp - 0x49], 0
fld qword [0x88b578]
fld qword [0x88b578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a57e0]
fsub st(1)
fxch st(1)
fmul qword [0x89ae58]
fadd qword [0x89adf8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a57d8]
fnstsw ax
test ah, 0x41
jne 0x822b21
fld st(0)
fmul qword [0x8a57d0]
fsubp st(2)
fadd qword [0x88b548]
fcom qword [0x8a57c8]
fnstsw ax
test ah, 1
jne 0x822ae8
fxch st(1)
fst qword [ebp - 0x38]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x822b92
mov ch, 0xaa
scasd eax, dword es:[edi]
mov dl, 0xb7
mov dl, 0xba
test eax, 0xa6afa3ba
scasd eax, dword es:[edi]
scasb al, byte es:[edi]
mov cl, 0xa8
mov edx, 0xb9acb4ab
mov dl, 0xba
mov dl, 0xad
lodsd eax, dword [esi]
mov dh, 0xa5
mov eax, 0xb2adadb1
cmpsb byte [esi], byte es:[edi]
mov al, 0xa9
scasd eax, dword es:[edi]
lodsb al, byte [esi]
mov dh, 0xa9
stosd dword es:[edi], eax
test eax, 0x24747e5d
pop ecx
xor cl, byte [ecx + 0x64]
ja 0x822bc1
outsb dx, byte es:[esi]
jbe 0x822bd0
imul edx, dword [ebx + 0x52], 0x72284230
insd dword es:[edi], dx
jns 0x822bcd
dec eax
jmp 0x8235f5
mov dword [ebp - 0x3c], 0x822b4a
mov dword [ebp - 0x44], 0x822b74
xor eax, eax
mov byte [ebp + eax - 0x154], al
inc eax
cmp eax, 0x100
jb 0x822ba2
fld qword [ebp - 0x38]
mov eax, 0xff
mov byte [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x18], eax
jmp 0x822bca
dec dword [ecx + 0x3ebe845]
mov eax, dword [ebp - 0x18]
mov ebx, 1
add byte [eax], al
mov dword [ebp - 0x34], 0
cmp eax, ebx
jbe 0x822be2
inc ebp
int3
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x822bda
cmp edi, 3
ja case.default.0x822be7
jmp dword [edi*4 + 0x8237b0]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x154]
jmp 0x822c54
fld st(0)
call fcn.008397f4
mov ecx, eax
shr ecx, 8
and esi, 0xff
jmp 0x822c4d
fld st(0)
call fcn.008397f4
mov ecx, eax
shr ecx, 0x10
and esi, 0xff
jmp 0x822c4d
fld st(0)
call fcn.008397f4
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
jmp 0x822c4d
mov ecx, dword [ebp - 0x44]
and esi, 0xff
mov cl, byte [ecx + edi - 4]
mov al, byte [ebp + esi - 0x154]
add cl, al
inc edi
cmp edi, 0x1d
mov byte [ebp - 0x30], cl
jb 0x822c67
xor edi, edi
add cl, 0x1d
mov byte [ebp - 0x30], cl
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x34], eax
jbe 0x822c87
mov eax, edx
xor edx, edx
div dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
ja 0x822be2
mov ecx, eax
cmp ecx, edx
je 0x822cd0
mov al, byte [ebp + edx - 0x154]
mov bl, byte [ebp + ecx - 0x154]
lea edx, [ebp + edx - 0x154]
xor bl, al
mov byte [ebp + ecx - 0x154], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x154]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x154], al
dec ecx
mov dword [ebp - 0x18], ecx
jne 0x822bc7
mov dl, byte [ebp - 0x14d]
mov edi, dword [ebp - 0x3c]
and esi, 0xff
mov byte [ebp - 0x1c], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x151]
mov al, byte [ebp + esi - 0x154]
add dl, 5
mov byte [ebp - 0x28], al
mov al, byte [edi + 1]
add al, 0x5d
xor esi, esi
shl dl, 4
or al, dl
mov cl, byte [ebp - 0x14f]
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x154]
lea edi, [ebp + eax - 0x154]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x153]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x154]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x14]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x154]
add edx, edi
mov edi, dword [ebp - 0x3c]
and edx, 0xff
xor bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 0x2c]
mov byte [ebp - 0x28], dl
xor bl, dl
mov byte [ebp - 0x1c], bl
mov dword [ebp - 0x30], 7
jmp 0x822e1e
mov edi, dword [ebp - 0x44]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 5
add dl, 0x5d
mov dword [ebp - 0x44], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x822f32
mov byte [ebp + esi - 0x18d], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x822e1b
mov edi, dword [ebp - 0x3c]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
add bl, 0x5d
shl dl, 4
or dl, bl
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x82305c
mov byte [ebp + esi - 0x18d], dl
mov edx, dword [ebp - 0x3c]
inc esi
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
xor edx, edx
add bl, 0x5d
mov dl, byte [edi]
sub edx, 0xab
shl edx, 4
or bl, dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov byte [ebp - 0x2c], bl
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x823175
mov byte [ebp + esi - 0x18d], dl
lea ebx, [esi + 1]
cmp ebx, 0x13
jge 0x8232bb
mov edx, dword [ebp - 0x3c]
lea edi, [edx + esi*2]
mov edx, 0x13
sub edx, ebx
mov dword [ebp - 0x30], edx
jmp 0x823196
mov edi, dword [ebp - 0x44]
mov bl, byte [edi + 3]
add edi, 2
xor edx, edx
add bl, 0x5d
mov dl, byte [edi]
mov dword [ebp - 0x44], edi
sub edx, 0xab
inc esi
shl edx, 4
or bl, dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov byte [ebp - 0x2c], bl
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x8232ae
mov byte [ebp + esi - 0x18d], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x823193
mov edi, dword [ebp - 0x3c]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0xab
sub ebx, 0xa3
shl edx, 4
or dl, bl
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x8233e2
mov byte [ebp + esi - 0x18d], dl
mov edi, dword [ebp - 0x3c]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
add bl, 0x5d
shl dl, 4
or dl, bl
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x2c]
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x8234f1
mov byte [ebp + esi - 0x18d], dl
mov edx, dword [ebp - 0x2c]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 0x34], al
inc bl
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x154]
lea eax, [ebp + eax - 0x154]
mov byte [edi], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [eax], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 8], edx
test esi, esi
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
jbe 0x8235ee
mov edx, dword [ebp - 0x10]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x3c]
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
add bl, 5
add dl, 0x5d
shl bl, 4
or bl, dl
mov edx, dword [ebp - 0x14]
mov dl, byte [ebp + edx - 0x154]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x154]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x154]
mov cl, byte [ebp + edx - 0x154]
xor bl, cl
mov cl, byte [ebp + eax - 0x154]
xor bl, cl
mov byte [ebp + esi - 0x18d], bl
mov byte [ebp - 0x178], 0
lea ecx, [ebp - 0x40]
push ecx
push 0x8cd094
call dword [0x8cf8f0]
lea edx, [ebp - 0x394]
push edx
push 0
push 0
push 0x28
push 0
call dword [0x8cf8b8]
lea eax, [ebp - 0x394]
push eax
call fcn.00839690
mov dword [0x8cf8a0], eax
mov ecx, 0x40
xor eax, eax
mov edi, 0x8cf7a0
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x54]
push 0x100
lea edx, [ebp - 0x174]
push ecx
push edx
push reloc.WS2_32.dll_bind
call fcn.0040dd80
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x8cf7a0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x8cf7a0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x8236c7
lea ecx, [ebp - 0x54]
push 0x200
lea edx, [ebp - 0x174]
push ecx
push edx
push reloc.WS2_32.dll_bind
call fcn.0040dd80
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x8cf7a0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x8cd094
xor eax, eax
lea edx, [ebp - 0x794]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [ebp - 0x794]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [0x8cf8a0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [ebp - 0x794]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x8cf7a0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [ebp - 0x18c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x794]
push ecx
call fcn.0082dd90
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x8cd040
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret