Function at 0x82b5b0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
fld qword [0x88b578]
fld qword [0x88b578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8b3998]
fsub st(1)
fxch st(1)
fmul qword [0x899b80]
fadd qword [0x8b3990]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8b3988]
fnstsw ax
test ah, 0x41
jne 0x82b5fe
fld st(0)
fmul qword [0x8b3980]
fsubp st(2)
fadd qword [0x8925f0]
fcom qword [0x8b3978]
fnstsw ax
test ah, 1
jne 0x82b5c5
fxch st(1)
fst qword [ebp - 0x4c]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
push ebx
push esi
push edi
fnstsw ax
test ah, 1
je 0x82b6fd
rcr dword [0x20db20dc], cl
fsub qword [ebx]
loop 0x82b656
shl dword [edx*8 - 0x29da2cd6], cl
sub ah, bl
daa
loope 0x82b669
aad 0x27
aam 0x1d
shr dword [eax], cl
aad 0x26
loop 0x82b671
aam 0x1f
loop 0x82b671
fistp word [edi]
aad 0x28
loope 0x82b680
aam 0x24
invalid
sub ebx, ebx
sub bl, ah
and ebx, ebx
sub bl, dl
push ds
ficomp dword [eax]
fsubr qword es:[edx]
fisub word [ebx]
loop 0x82b69a
shl dword [ecx], cl
xlatb
and esp, edx
sbb eax, 0x1ce124d8
fstp dword [0x22d729dd]
aam 0x1d
fsub dword [ecx]
sbb al, 0xd9
sbb eax, 0x22d729dd
fsubr qword [ecx]
fistp word [edx*8 - 0x23dd27e2]
and al, 0xe2
push ds
loope 0x82b6c0
fisub dword [esi]
loope 0x82b6b9
fcomp dword [0x29d829dd]
shr dword [ecx], cl
aam 0x1d
fstp dword [ecx + ebx*8]
push ds
invalid
and bh, dl
daa
aad 0x1d
fsubr qword [ecx]
fsubr dword [ecx]
fsubr dword [eax]
aad 0x21
fcomp qword [edi]
fstp qword [ebx]
aad 0x24
salc
xlatb
pop ds
fcomp dword [edx]
pop ds
fisubr dword [ecx]
fistp word [esi]
shr dword [eax], cl
loop 0x82b6f8
dec esi
dec ecx
push ebp
inc esi
outsb dx, byte [esi]
push 0x742c4457
dec ebp
sub al, 0x4c
imul ebx, dword [edi + 0x2a], 0x4b
and dword [eax + 0x74], ebp
aaa
inc ebx
pop ecx
push 0xe95d682d
jae 0x82b706
jmp 0x82c270
add byte [eax], al
mov dword [ebp - 0x2c], 0x82b62e
mov dword [ebp - 0x34], 0x82b6dc
xor eax, eax
int3
mov byte [ebp + eax - 0x14c], al
inc eax
cmp eax, 0x100
jb 0x82b70d
fld qword [ebp - 0x4c]
mov byte [ebp - 0x14], 0
mov eax, 0xff
mov esi, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], eax
jmp 0x82b735
mov eax, dword [ebp - 0x1c]
mov ebx, 1
mov dword [ebp - 0x18], 0
cmp eax, ebx
jbe 0x82b74d
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x82b745
cmp edi, 3
ja case.default.0x82b752
jmp dword [edi*4 + 0x82ce80]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
jmp 0x82b7ce
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 8
jmp 0x82b7ce
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x10
jmp 0x82b7ce
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x18
jmp 0x82b7ce
mov eax, dword [ebp - 0x34]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x14c]
add cl, al
inc edi
cmp edi, 0x20
mov byte [ebp - 0x14], cl
jb 0x82b7e1
xor edi, edi
add cl, 0x20
mov byte [ebp - 0x14], cl
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x18], eax
jbe 0x82b801
mov eax, edx
xor edx, edx
div dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
ja 0x82b74d
mov ecx, eax
cmp ecx, edx
je 0x82b84a
mov al, byte [ebp + edx - 0x14c]
mov bl, byte [ebp + ecx - 0x14c]
lea edx, [ebp + edx - 0x14c]
xor bl, al
mov byte [ebp + ecx - 0x14c], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x14c]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x14c], al
dec ecx
mov dword [ebp - 0x1c], ecx
jne 0x82b732
mov dl, byte [ebp - 0x145]
and esi, 0xff
mov byte [ebp - 0x28], dl
mov bl, byte [ebp - 0x149]
mov al, byte [ebp + esi - 0x14c]
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 0x18], al
mov cl, byte [ebp - 0x147]
mov dl, byte [esi]
mov al, byte [esi + 1]
add dl, 0xd
sub al, 0x1b
shl dl, 4
or al, dl
mov byte [ebp - 0x30], al
mov eax, dword [ebp - 0x18]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x14c]
lea esi, [ebp + eax - 0x14c]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14b]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x14c]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [esi], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x14c]
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
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x14c]
mov dl, byte [edi]
mov edi, dword [ebp - 0x20]
mov bl, byte [ebp + ebx - 0x14c]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x14c]
mov dl, byte [ebp - 0x30]
mov byte [ebp - 0x18], dl
xor bl, dl
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 0x28], bl
lea edi, [edx + 2]
mov dl, byte [edx + 3]
sub dl, 0x1b
mov bl, byte [edi]
mov dword [ebp - 0x34], 0x28
add bl, 0xd
shl bl, 4
or dl, bl
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x18], bl
xor dl, bl
mov byte [ebp - 0x28], dl
mov byte [ebp - 0x1a4], dl
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 2]
jmp 0x82baa7
mov edi, dword [ebp - 0x38]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xd
sub dl, 0x1b
mov dword [ebp - 0x38], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x18], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x82bbbb
mov byte [ebp + esi - 0x1a5], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x82baa4
mov edi, dword [ebp - 0x2c]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xd
sub dl, 0x1b
shl bl, 4
or dl, bl
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x18], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x82bce5
mov byte [ebp + esi - 0x1a5], dl
mov edi, dword [ebp - 0x2c]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xd
sub dl, 0x1b
shl bl, 4
or dl, bl
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x18], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x82bdf7
mov byte [ebp + esi - 0x1a5], dl
mov edx, dword [ebp - 0x2c]
inc esi
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
xor edx, edx
sub bl, 0x1b
mov dl, byte [edi]
add dl, 0xd
shl dl, 4
or dl, bl
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x18], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x82bf0d
mov byte [ebp + esi - 0x1a5], dl
lea ebx, [esi + 1]
cmp ebx, 0x56
jge 0x82c050
mov edx, dword [ebp - 0x2c]
lea edi, [edx + esi*2]
mov edx, 0x56
sub edx, ebx
mov dword [ebp - 0x34], edx
jmp 0x82bf2e
mov edi, dword [ebp - 0x38]
mov bl, byte [edi + 3]
add edi, 2
xor edx, edx
sub bl, 0x1b
mov dl, byte [edi]
mov dword [ebp - 0x38], edi
add dl, 0xd
inc esi
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov byte [ebp - 0x30], bl
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x18], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x82c043
mov byte [ebp + esi - 0x1a5], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x82bf2b
mov edi, dword [ebp - 0x2c]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 0xd
sub bl, 0x1b
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov byte [ebp - 0x30], bl
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x30]
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x82c16c
mov byte [ebp + esi - 0x1a5], dl
mov edx, dword [ebp - 0x30]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 0x24], al
inc bl
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x14c]
lea eax, [ebp + eax - 0x14c]
mov byte [edi], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [eax], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0xc], edx
test esi, esi
lea ebx, [ebp + ebx - 0x14c]
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 0x82c269
mov edx, dword [ebp - 8]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 3
sub bl, 0x1b
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x20]
mov dl, byte [ebp + edx - 0x14c]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0xc]
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 - 0x14c]
and eax, 0xff
mov cl, byte [ebp + edx - 0x14c]
xor bl, cl
mov cl, byte [ebp + eax - 0x14c]
xor bl, cl
mov byte [ebp + esi - 0x1a5], bl
mov byte [ebp - 0x14e], 0
fld qword [0x88b578]
fld qword [0x88b578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8b3970]
fsub st(1)
fxch st(1)
fmul qword [0x89a718]
fadd qword [0x8997d8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8b3968]
fnstsw ax
test ah, 0x41
jne 0x82c2b5
fld st(0)
fmul qword [0x8b3960]
fsubp st(2)
fadd qword [0x88b548]
fcom qword [0x8b3958]
fnstsw ax
test ah, 1
jne 0x82c27c
fxch st(1)
fst qword [ebp - 0x4c]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x82c306
sub dl, byte [edx + edi + 0x31]
xor al, 0x4f
outsd dx, dword [esi]
cmp cl, byte [esi + 0x2e]
dec edi
inc eax
dec esp
sub dword [0x10ed6143], edi
int1
sbb dh, al
sbb dh, al
adc al, 0xe6
push cs
push ss
jmp 0x82c310
mov dword [ebp - 0x18], 0x82c2ef
mov dword [ebp - 0x38], 0x82c2de
xor eax, eax
faddp st(2)
add byte [eax], 0x33
ror byte [eax - 0x14bfa7c], 0xff
inc dword [eax + 0x3d]
add byte [ecx], al
add byte [eax], al
mov byte [ebp + eax - 0x14c], al
inc eax
cmp eax, 0x100
jb 0x82c316
fld qword [ebp - 0x4c]
mov eax, 0xff
mov byte [ebp - 0x2c], 0
mov esi, dword [ebp - 0x2c]
xor edi, edi
mov dword [ebp - 0x14], eax
jmp 0x82c33e
mov eax, dword [ebp - 0x14]
mov ebx, 1
mov dword [ebp - 0x34], 0
cmp eax, ebx
jbe 0x82c356
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x82c34e
cmp edi, 3
ja case.default.0x82c35b
jmp dword [edi*4 + 0x82ce90]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
jmp 0x82c3d7
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 8
jmp 0x82c3d7
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x10
jmp 0x82c3d7
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x18
jmp 0x82c3d7
mov edx, dword [ebp - 0x38]
and esi, 0xff
mov cl, byte [ebp + esi - 0x14c]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x15
mov byte [ebp - 0x2c], cl
jb 0x82c3ea
xor edi, edi
add cl, 0x15
mov byte [ebp - 0x2c], cl
mov esi, dword [ebp - 0x2c]
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 0x82c40a
mov eax, edx
xor edx, edx
div dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp edx, eax
ja 0x82c356
mov ecx, eax
cmp ecx, edx
je 0x82c453
mov al, byte [ebp + edx - 0x14c]
mov bl, byte [ebp + ecx - 0x14c]
lea edx, [ebp + edx - 0x14c]
xor bl, al
mov byte [ebp + ecx - 0x14c], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x14c]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x14c], al
dec ecx
mov dword [ebp - 0x14], ecx
jne 0x82c33b
mov dl, byte [ebp - 0x145]
and esi, 0xff
mov byte [ebp - 0x24], dl
mov bl, byte [ebp - 0x149]
mov al, byte [ebp + esi - 0x14c]
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x1c], al
mov cl, byte [ebp - 0x147]
mov dl, byte [esi]
mov al, byte [esi + 1]
add dl, 0xa
sub al, 0xe
shl dl, 4
or al, dl
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x1c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x14c]
lea edi, [ebp + eax - 0x14c]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x14b]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x14c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0xc]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x20]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x30]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x14c]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x14c]
mov dl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], dl
xor bl, dl
mov dl, byte [esi + 3]
mov byte [ebp - 0x24], bl
sub dl, 0xe
mov bl, byte [esi + 2]
add bl, 0xa
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0xc]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 0x44], dl
mov bl, byte [esi + 4]
mov byte [ebp - 0x24], dl
mov dl, byte [esi + 5]
add bl, 0xa
sub dl, 0xe
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], 3
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0xc]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
lea edi, [ebp - 0x44]
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
dec edi
mov byte [ebp - 0x24], dl
mov dword [ebp - 0x48], edi
mov byte [edi + 2], dl
mov bl, byte [esi + 7]
xor edx, edx
sub bl, 0xe
mov dl, byte [esi + 6]
sub edx, 0xe6
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x18], bl
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
mov byte [ebp - 0x28], al
inc dl
mov dword [ebp - 0x34], 2
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0xc]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
lea edi, [esi + 6]
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x42], dl
jmp 0x82c8c4
mov edi, dword [ebp - 0x38]
add edi, 2
xor edx, edx
inc ebx
mov dword [ebp - 0x38], edi
mov dl, byte [edi]
mov dword [ebp - 0x14], ebx
mov bl, byte [edi + 1]
sub edx, 0xe6
sub bl, 0xe
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x18], bl
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0xc]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov ebx, dword [ebp - 0x14]
test ebx, ebx
mov byte [ebp - 0x24], dl
jbe 0x82c9e1
mov edi, dword [ebp - 0x48]
mov byte [edi + ebx], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x82c8c1
inc ebx
xor edx, edx
mov dword [ebp - 0x14], ebx
mov dl, byte [esi + ebx*2 + 1]
mov dword [ebp - 0x48], edx
xor edx, edx
mov dl, byte [esi + ebx*2]
mov bl, byte [ebp - 0x48]
sub edx, 0xe6
sub bl, 0xe
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0xc]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
mov edi, dword [ebp - 0x14]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test edi, edi
mov byte [ebp - 0x24], dl
jbe 0x82cb18
mov byte [ebp + edi - 0x45], dl
mov bl, byte [esi + edi*2 + 2]
mov dl, byte [esi + edi*2 + 3]
inc edi
add bl, 0xa
sub dl, 0xe
mov dword [ebp - 0x14], edi
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0xc]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
mov edi, dword [ebp - 0x14]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test edi, edi
mov byte [ebp - 0x24], dl
jbe 0x82cc2b
mov byte [ebp + edi - 0x45], dl
mov bl, byte [esi + edi*2 + 2]
mov dl, byte [esi + edi*2 + 3]
inc edi
add bl, 0xa
sub dl, 0xe
mov dword [ebp - 0x14], edi
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0xc]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
mov edi, dword [ebp - 0x14]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x18]
xor dl, bl
test edi, edi
mov byte [ebp - 0x24], dl
jbe 0x82cd3b
mov byte [ebp + edi - 0x45], dl
mov edx, dword [ebp - 0x18]
inc edi
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [ebp - 4], bl
mov ebx, dword [ebp - 0x10]
add al, byte [ebx]
mov byte [ebp - 0x28], al
mov al, byte [ebp - 8]
inc al
mov byte [ebp - 8], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
mov bl, byte [ebp + eax - 0x14c]
lea eax, [ebp + eax - 0x14c]
mov byte [edx], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], eax
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
and eax, 0xff
test edi, edi
lea eax, [ebp + eax - 0x14c]
mov dword [ebp - 0x10], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x10]
mov al, byte [ebp - 4]
mov byte [ebx], al
jbe 0x82ce30
mov eax, dword [ebp - 4]
mov bl, byte [esi + edi*2]
and eax, 0xff
sub bl, 6
mov dword [ebp - 0x20], eax
mov al, byte [esi + edi*2 + 1]
mov esi, dword [ebp - 0x20]
sub al, 0xe
shl bl, 4
or al, bl
mov bl, byte [ebp + esi - 0x14c]
mov esi, dword [ebp - 0xc]
add bl, cl
mov dl, byte [edx]
and ebx, 0xff
mov cl, byte [ebp + ebx - 0x14c]
mov bl, byte [esi]
add ecx, ebx
mov ebx, dword [ebp - 0x20]
add ecx, edx
xor edx, edx
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x14c]
mov cl, byte [ebp + edx - 0x14c]
xor al, cl
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx]
add edx, ebx
and edx, 0xff
xor al, byte [ebp + edx - 0x14c]
mov byte [ebp + edi - 0x45], al
mov byte [ebp - 0x3c], 0
mov eax, dword [0x8ce228]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x8069
push eax
call esi
mov eax, dword [0x8ce228]
lea ecx, [ebp - 0x44]
push 0x30
lea edx, [ebp - 0x1a4]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [0x8ce228]
push 0
push 0
push 0x8044
push ecx
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret