Function at 0x839b52
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x178
fld qword [0x89a578]
fld qword [0x89a578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8c2748]
fsub st(1)
fxch st(1)
fmul qword [0x8a8e10]
fadd qword [0x8aa950]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8c2740]
fnstsw ax
test ah, 0x41
jne 0x839a4e
fld st(0)
fmul qword [0x8c2738]
fsubp st(2)
fadd qword [0x8a1578]
fcom qword [0x8c2730]
fnstsw ax
test ah, 1
jne 0x839a15
fxch st(1)
fst qword [ebp - 0x14c]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
push ebx
push esi
push edi
fnstsw ax
test ah, 1
je 0x839af3
cmpsb byte [esi], byte es:[edi]
mov ebp, dword [ebp - 0x4c6c5972]
xchg ecx, eax
movsb byte es:[edi], byte [esi]
mov byte [esi - 0x4e79557b], ch
invalid
mov dword [ebp - 0x20], 0x839a7d
mov dword [ebp - 0x34], 0x839acf
xor eax, eax
mov byte [ebp + eax - 0x144], al
inc eax
cmp eax, 0x100
jb 0x839b03
fld qword [ebp - 0x14c]
mov byte [ebp - 0x30], 0
mov eax, 0xff
mov esi, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x18], eax
jmp 0x839b2e
mov eax, dword [ebp - 0x18]
mov ebx, 1
mov dword [ebp - 0x1c], 0
cmp eax, ebx
jbe 0x839b46
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x839b3e
cmp edi, 3
ja case.default.0x839b4b
jmp dword [edi*4 + 0x83b4c4]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x144]
jmp 0x839bc7
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x144]
shr eax, 8
jmp 0x839bc7
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x144]
shr eax, 0x10
jmp 0x839bc7
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x144]
shr eax, 0x18
jmp 0x839bc7
mov eax, dword [ebp - 0x34]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x144]
add cl, al
inc edi
cmp edi, 0x23
mov byte [ebp - 0x30], cl
jb 0x839bda
xor edi, edi
add cl, 0x23
mov byte [ebp - 0x30], cl
mov esi, dword [ebp - 0x30]
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 0x839bfa
mov eax, edx
xor edx, edx
div dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
ja 0x839b46
mov ecx, eax
cmp ecx, edx
je 0x839c43
mov al, byte [ebp + edx - 0x144]
mov bl, byte [ebp + ecx - 0x144]
lea edx, [ebp + edx - 0x144]
xor bl, al
mov byte [ebp + ecx - 0x144], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x144]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x144], al
dec ecx
mov dword [ebp - 0x18], ecx
jne 0x839b2b
mov cl, byte [ebp - 0x13d]
and esi, 0xff
mov byte [ebp - 0x24], cl
mov bl, byte [ebp - 0x141]
mov al, byte [ebp + esi - 0x144]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x1c], al
mov dl, byte [ebp - 0x13f]
mov cl, byte [esi]
mov al, byte [esi + 1]
add cl, 0xc
add al, 0x7b
shl cl, 4
or al, cl
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x1c]
and eax, 0xff
fstp st(0)
mov cl, byte [ebp + eax - 0x144]
lea edi, [ebp + eax - 0x144]
mov eax, dword [ebp - 0x143]
mov byte [ebp - 8], cl
mov ecx, eax
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x144]
add cl, bl
inc al
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x2c]
and eax, 0xff
mov bl, byte [ebp + eax - 0x144]
lea eax, [ebp + eax - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], eax
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
and eax, 0xff
lea eax, [ebp + eax - 0x144]
mov dword [ebp - 0x10], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x10]
mov al, byte [ebp - 8]
mov byte [ebx], al
mov eax, dword [ebp - 8]
and eax, 0xff
mov dword [ebp - 0x20], eax
mov bl, byte [ebp + eax - 0x144]
add dl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0xc], dl
mov eax, dword [ebp - 0xc]
and eax, 0xff
mov al, byte [ebp + eax - 0x144]
add eax, ebx
mov bl, byte [edi]
add eax, ebx
mov edi, dword [ebp - 0x20]
and eax, 0xff
xor ebx, ebx
mov bl, byte [ebp + eax - 0x144]
mov eax, dword [ebp - 0x28]
mov al, byte [eax]
mov bl, byte [ebp + ebx - 0x144]
add eax, edi
and eax, 0xff
xor bl, byte [ebp + eax - 0x144]
mov al, byte [ebp - 0x18]
xor bl, al
mov eax, 1
mov byte [ebp - 0x24], bl
xor ebx, ebx
mov bl, byte [esi + 3]
mov edi, ebx
xor ebx, ebx
mov bl, byte [esi + 2]
sub edi, 0x85
sub ebx, 0xa4
mov dword [ebp - 0x34], edi
shl ebx, 4
or edi, ebx
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x18]
and edi, 0xff
mov bl, byte [ebp + edi - 0x144]
lea edi, [ebp + edi - 0x144]
mov byte [ebp - 8], bl
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x34], edi
add cl, byte [ebx]
mov bl, byte [ebp - 0x14]
inc bl
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 0x28], ebx
mov bl, byte [ebx]
mov byte [edi], bl
mov edi, dword [ebp - 0x24]
and edi, 0xff
mov bl, byte [ebp + edi - 0x144]
lea edi, [ebp + edi - 0x144]
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x28]
mov byte [edi], bl
mov edi, dword [ebp - 0x14]
and edi, 0xff
mov bl, byte [ebp + edi - 0x144]
lea edi, [ebp + edi - 0x144]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 4]
mov byte [edi], bl
mov edi, dword [ebp - 0x10]
mov bl, byte [ebp - 8]
mov byte [edi], bl
mov edi, dword [ebp - 8]
and edi, 0xff
mov bl, byte [ebp + edi - 0x144]
add dl, bl
mov ebx, dword [ebp - 0x34]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov ebx, dword [ebp - 4]
mov bl, byte [ebx]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x34], ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x34]
add ebx, edi
mov dword [ebp - 0x34], 0x10
mov dl, byte [ebp + edx - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x178], dl
lea edx, [esi + 2]
jmp 0x839ead
mov edx, dword [ebp - 0x38]
add edx, 2
xor ebx, ebx
mov dword [ebp - 0x38], edx
inc eax
mov bl, byte [edx]
mov edi, ebx
xor ebx, ebx
mov bl, byte [edx + 1]
sub edi, 0xa4
mov edx, ebx
shl edi, 4
sub edx, 0x85
or edx, edi
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add cl, bl
inc dl
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
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 - 0xc]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x144]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x24], dl
jbe 0x839fd1
mov byte [ebp + eax - 0x179], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x839eaa
mov bl, byte [esi + eax*2 + 2]
mov dl, byte [esi + eax*2 + 3]
inc eax
add bl, 0xc
add dl, 0x7b
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov dl, byte [ebp - 0x14]
add cl, bl
inc dl
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
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 - 0xc]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x144]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x24], dl
jbe 0x83a0fc
mov byte [ebp + eax - 0x179], dl
mov dl, byte [esi + eax*2 + 2]
inc eax
xor ebx, ebx
add dl, 0xc
mov bl, byte [esi + eax*2 + 1]
sub ebx, 0x85
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add cl, bl
inc dl
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
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 - 0xc]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x144]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x24], dl
jbe 0x83a214
mov byte [ebp + eax - 0x179], dl
inc eax
xor edx, edx
xor ebx, ebx
mov dl, byte [esi + eax*2]
mov bl, byte [esi + eax*2 + 1]
sub edx, 0xa4
sub ebx, 0x85
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add cl, bl
inc dl
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
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 - 0xc]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x144]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x24], dl
jbe 0x83a330
mov byte [ebp + eax - 0x179], dl
lea ebx, [eax + 1]
cmp ebx, 0x26
jge 0x83a472
mov edx, 0x26
lea edi, [esi + eax*2]
sub edx, ebx
mov dword [ebp - 0x34], edx
jmp 0x83a34e
mov edi, dword [ebp - 0x38]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xc
add dl, 0x7b
mov dword [ebp - 0x38], edi
shl bl, 4
or dl, bl
inc eax
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add cl, bl
inc dl
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
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 - 0xc]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x144]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x24], dl
jbe 0x83a465
mov byte [ebp + eax - 0x179], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x83a34b
mov bl, byte [esi + eax*2 + 2]
mov dl, byte [esi + eax*2 + 3]
inc eax
add bl, 0xc
add dl, 0x7b
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov dl, byte [ebp - 0x14]
add cl, bl
inc dl
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
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 - 0xc]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x144]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x24], dl
jbe 0x83a590
mov byte [ebp + eax - 0x179], dl
mov bl, byte [esi + eax*2 + 2]
mov dl, byte [esi + eax*2 + 3]
inc eax
add bl, 0xc
add dl, 0x7b
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add cl, bl
inc dl
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
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 - 0xc]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x144]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x24], dl
jbe 0x83a6a3
mov byte [ebp + eax - 0x179], dl
mov bl, byte [esi + eax*2 + 2]
mov dl, byte [esi + eax*2 + 3]
inc eax
add bl, 0xc
add dl, 0x7b
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add cl, bl
inc dl
mov byte [ebp - 0x2c], cl
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
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 - 0xc]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x144]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x24], dl
jbe 0x83a7b6
mov byte [ebp + eax - 0x179], dl
mov dl, byte [esi + eax*2 + 3]
mov bl, byte [esi + eax*2 + 2]
mov esi, dword [ebp - 0x1c]
inc eax
mov edi, dword [ebp - 0x10]
and esi, 0xff
add bl, 0xc
add dl, 0x7b
shl bl, 4
lea esi, [ebp + esi - 0x144]
or dl, bl
mov bl, byte [esi]
mov byte [ebp - 8], bl
mov bl, byte [edi]
add cl, bl
mov bl, byte [ebp - 0x14]
mov byte [ebp - 0x2c], cl
inc bl
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 0x14], bl
and ecx, 0xff
lea edi, [ebp + ecx - 0x144]
mov cl, byte [ebp + ecx - 0x144]
mov byte [esi], cl
mov ecx, dword [ebp - 0x24]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x144]
lea ecx, [ebp + ecx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 4], ecx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [ecx], bl
mov ebx, dword [ebp - 0x10]
mov cl, byte [ebp - 8]
mov byte [ebx], cl
mov ecx, dword [ebp - 8]
mov bl, byte [ebp - 0xc]
and ecx, 0xff
mov dword [ebp - 0x20], ecx
mov cl, byte [ebp + ecx - 0x144]
add bl, cl
mov byte [ebp - 0xc], bl
mov bl, byte [esi]
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x144]
add ecx, ebx
mov bl, byte [esi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x144]
mov ecx, ebx
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov cl, byte [ebp + ecx - 0x144]
add ebx, edi
and ebx, 0xff
xor cl, byte [ebp + ebx - 0x144]
xor cl, dl
test eax, eax
jbe 0x83a8b4
mov byte [ebp + eax - 0x179], cl
mov byte [ebp - 0x150], 0
fld qword [0x89a578]
fld qword [0x89a578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8c2728]
fsub st(1)
fxch st(1)
fmul qword [0x8a9c90]
fadd qword [0x8c2720]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8c2718]
fnstsw ax
test ah, 0x41
jne 0x83a900
fld st(0)
fmul qword [0x8c2710]
fsubp st(2)
fadd qword [0x8a1410]
fcom qword [0x8c2708]
fnstsw ax
test ah, 1
jne 0x83a8c7
fxch st(1)
fst qword [ebp - 0x14c]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
fnstsw ax
test ah, 1
je 0x83a95f
inc ebx
xor al, 0x55
jl 0x83a98b
and eax, 0x71482336
dec esi
cmp byte [edx + 0x2a], ah
je 0x83a970
insb byte es:[edi], dx
inc ecx
imul edx, dword [edx + 0x7a], 0x26
dec edi
cmp ebp, dword [esi]
bound ebp, qword [ebp + 0x20]
jl 0x83a95a
jg 0x83a963
mov byte [eax], dl
or dword [ebx], 0xf880b81
jp 0x83a968
jnp 0x83a96b
jl 0x83a96d
jmp 0x83b47a
mov dword [ebp - 0x1c], 0x83a948
mov dword [ebp - 0x38], 0x83a92c
test eax, 0x45c70083
enter 0xffffffffffffa92c, 0xffffffffffffff83
add byte [ebx], dh
add dword [eax], 0x33
xor eax, eax
ror byte [eax - 0x143fa7c], 0xff
inc dword [eax + 0x3d]
add byte [ecx], al
add byte [eax], al
mov byte [ebp + eax - 0x144], al
test byte [0xfffffebc], al
inc eax
cmp eax, 0x100
jb 0x83a96f
fld qword [ebp - 0x14c]
mov byte [ebp - 0x18], 0
mov eax, 0xff
add byte [eax], al
mov esi, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x30], eax
jmp 0x83a99a
mov eax, dword [ebp - 0x30]
mov ebx, 1
mov dword [ebp - 0x34], 0
cmp eax, ebx
jbe 0x83a9b2
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x83a9aa
cmp edi, 3
ja case.default.0x83a9b7
jmp dword [edi*4 + 0x83b4d4]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x144]
jmp 0x83aa33
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x144]
shr eax, 8
jmp 0x83aa33
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x144]
shr eax, 0x10
jmp 0x83aa33
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x144]
shr eax, 0x18
jmp 0x83aa33
mov edx, dword [ebp - 0x38]
and esi, 0xff
mov cl, byte [ebp + esi - 0x144]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x20
mov byte [ebp - 0x18], cl
jb 0x83aa46
xor edi, edi
add cl, 0x20
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 0x83aa66
mov eax, edx
xor edx, edx
div dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp edx, eax
ja 0x83a9b2
mov ecx, eax
cmp ecx, edx
je 0x83aaaf
mov al, byte [ebp + edx - 0x144]
mov bl, byte [ebp + ecx - 0x144]
lea edx, [ebp + edx - 0x144]
xor bl, al
mov byte [ebp + ecx - 0x144], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x144]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x144], al
dec ecx
mov dword [ebp - 0x30], ecx
jne 0x83a997
mov dl, byte [ebp - 0x13d]
and esi, 0xff
mov byte [ebp - 0x28], dl
mov bl, byte [ebp - 0x141]
mov al, byte [ebp + esi - 0x144]
mov esi, dword [ebp - 0x1c]
mov byte [ebp - 0x2c], al
mov cl, byte [ebp - 0x13f]
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 6
sub dl, 8
shl al, 4
or al, dl
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x2c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x144]
lea edi, [ebp + eax - 0x144]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x143]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x144]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x144]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
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 - 0x144]
mov edx, dword [ebp - 0x24]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x144]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x144]
mov dl, byte [ebp - 0x18]
mov byte [ebp - 0x2c], dl
xor bl, dl
mov dl, byte [esi + 3]
mov byte [ebp - 0x28], bl
sub dl, 8
mov bl, byte [esi + 2]
add bl, 6
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x144]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x2c], bl
xor dl, bl
mov byte [ebp - 0x44], dl
mov bl, byte [esi + 4]
mov byte [ebp - 0x28], dl
mov dl, byte [esi + 5]
add bl, 6
sub dl, 8
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x144]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
lea edi, [ebp - 0x44]
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x2c], bl
xor dl, bl
dec edi
mov byte [ebp - 0x28], dl
mov dword [ebp - 0x148], edi
mov byte [edi + 2], dl
mov bl, byte [esi + 6]
mov dl, byte [esi + 7]
add bl, 6
sub dl, 8
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x30], 4
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x144]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x2c], bl
xor dl, bl
mov byte [ebp - 0x28], dl
mov byte [ebp - 0x42], dl
mov bl, byte [esi + 9]
xor edx, edx
mov dl, byte [esi + 8]
sub bl, 8
add dl, 6
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov byte [ebp - 0x18], bl
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x24], edx
and ebx, 0xff
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 0x34], 2
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x144]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
lea edi, [esi + 8]
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x2c], bl
xor dl, bl
mov ebx, dword [ebp - 0x30]
mov byte [ebp - 0x28], dl
mov byte [ebp - 0x41], dl
jmp 0x83b025
mov edi, dword [ebp - 0x38]
mov dl, byte [edi + 2]
add edi, 2
inc ebx
add dl, 6
mov dword [ebp - 0x30], ebx
mov bl, byte [edi + 1]
shl dl, 4
sub bl, 8
mov dword [ebp - 0x38], edi
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x144]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x2c], bl
xor dl, bl
mov ebx, dword [ebp - 0x30]
test ebx, ebx
mov byte [ebp - 0x28], dl
jbe 0x83b141
mov edi, dword [ebp - 0x148]
mov byte [ebx + edi], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x83b022
mov dl, byte [esi + ebx*2 + 3]
inc ebx
sub dl, 8
mov dword [ebp - 0x30], ebx
mov byte [ebp - 0x39], dl
mov dl, byte [esi + ebx*2]
mov bl, byte [ebp - 0x39]
add dl, 6
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov byte [ebp - 0x18], bl
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x144]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
mov edi, dword [ebp - 0x30]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x2c], bl
xor dl, bl
test edi, edi
mov byte [ebp - 0x28], dl
jbe 0x83b271
mov byte [ebp + edi - 0x45], dl
mov bl, byte [esi + edi*2 + 2]
mov dl, byte [esi + edi*2 + 3]
inc edi
add bl, 6
sub dl, 8
mov dword [ebp - 0x30], edi
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x144]
mov dl, byte [ebp + edx - 0x144]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x144]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x144]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x144]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x144]
mov edi, dword [ebp - 0x30]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x144]
mov bl, byte [ebp - 0x18]
xor dl, bl
test edi, edi
mov byte [ebp - 0x28], dl
jbe 0x83b381
mov byte [ebp + edi - 0x45], dl
mov edx, dword [ebp - 0x18]
inc edi
and edx, 0xff
mov bl, byte [ebp + edx - 0x144]
lea edx, [ebp + edx - 0x144]
mov byte [ebp - 0xc], bl
mov ebx, dword [ebp - 8]
add al, byte [ebx]
mov byte [ebp - 0x20], al
mov al, byte [ebp - 0x10]
inc al
mov byte [ebp - 0x10], al
mov eax, dword [ebp - 0x20]
and eax, 0xff
mov bl, byte [ebp + eax - 0x144]
lea eax, [ebp + eax - 0x144]
mov byte [edx], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x24], eax
lea ebx, [ebp + ebx - 0x144]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
and eax, 0xff
test edi, edi
lea eax, [ebp + eax - 0x144]
mov dword [ebp - 8], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 8]
mov al, byte [ebp - 0xc]
mov byte [ebx], al
jbe 0x83b476
mov eax, dword [ebp - 0xc]
mov bl, byte [esi + edi*2]
and eax, 0xff
add bl, 6
mov dword [ebp - 0x1c], eax
mov al, byte [esi + edi*2 + 1]
mov esi, dword [ebp - 0x1c]
sub al, 8
shl bl, 4
or al, bl
mov bl, byte [ebp + esi - 0x144]
mov esi, dword [ebp - 4]
add bl, cl
mov dl, byte [edx]
and ebx, 0xff
mov cl, byte [ebp + ebx - 0x144]
mov bl, byte [esi]
add ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ecx, edx
xor edx, edx
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x144]
mov cl, byte [ebp + edx - 0x144]
xor al, cl
mov ecx, dword [ebp - 0x24]
mov dl, byte [ecx]
add edx, ebx
and edx, 0xff
xor al, byte [ebp + edx - 0x144]
mov byte [ebp + edi - 0x45], al
mov byte [ebp - 0x3c], 0
mov eax, dword [0x8dd228]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x8069
push eax
call esi
mov eax, dword [0x8dd228]
lea ecx, [ebp - 0x44]
push 0x30
lea edx, [ebp - 0x178]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [0x8dd228]
push 0
push 0
push 0x8044
push ecx
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret