Function at 0x825990
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x790
push ebx
push esi
push edi
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x38e]
mov word [ebp - 0x390], 0
mov byte [ebp - 0x790], 0
rep stosd dword es:[edi], eax
fld qword [0x88f578]
fld qword [0x88f578]
stosw word es:[edi], ax
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x78f]
mov dword [ebp - 0x34], 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 [0x8a9698]
fsub st(1)
fxch st(1)
fmul qword [0x89ed08]
fadd qword [0x8a9690]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a9688]
fnstsw ax
test ah, 0x41
jne 0x825a1b
fld st(0)
fmul qword [0x8a9680]
fsubp st(2)
fadd qword [0x896538]
fcom qword [0x8a9678]
fnstsw ax
test ah, 1
jne 0x8259e2
fxch st(1)
fst qword [ebp - 0x44]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x825aa4
invalid
mov dword [ebp - 0x1c], 0x825a44
mov dword [ebp - 0x38], 0x825a84
xor eax, eax
mov byte [ebp + eax - 0x150], al
inc eax
cmp eax, 0x100
jb 0x825ab4
fld qword [ebp - 0x44]
mov byte [ebp - 4], 0
mov eax, 0xff
mov esi, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x30], eax
jmp 0x825adc
mov eax, dword [ebp - 0x30]
mov ebx, 1
mov dword [ebp - 0x14], 0
cmp eax, ebx
jbe 0x825af4
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x825aec
cmp edi, 3
ja case.default.0x825af9
jmp dword [edi*4 + 0x827628]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
jmp 0x825b75
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
shr eax, 8
jmp 0x825b75
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
shr eax, 0x10
jmp 0x825b75
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
shr eax, 0x18
jmp 0x825b75
mov eax, dword [ebp - 0x38]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x150]
add cl, al
inc edi
cmp edi, 0x1f
mov byte [ebp - 4], cl
jb 0x825b88
xor edi, edi
add cl, 0x1f
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x14], eax
jbe 0x825ba8
mov eax, edx
xor edx, edx
div dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp edx, eax
ja 0x825af4
mov ecx, eax
cmp ecx, edx
je 0x825bf1
mov al, byte [ebp + edx - 0x150]
mov bl, byte [ebp + ecx - 0x150]
lea edx, [ebp + edx - 0x150]
xor bl, al
mov byte [ebp + ecx - 0x150], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x150]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x150], al
dec ecx
mov dword [ebp - 0x30], ecx
jne 0x825ad9
mov cl, byte [ebp - 0x14b]
mov dl, byte [ebp - 0x149]
and esi, 0xff
mov byte [ebp - 0x18], cl
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x28], dl
mov al, byte [ebp + esi - 0x150]
mov bl, byte [ebp - 0x14d]
mov byte [ebp - 0x24], al
mov al, byte [ecx]
mov edx, dword [ebp - 0x24]
mov cl, byte [ecx + 1]
and edx, 0xff
add al, 6
shl al, 4
sub cl, 0x6f
lea edi, [ebp + edx - 0x150]
mov edx, dword [ebp - 0x14f]
or al, cl
mov cl, byte [edi]
xor esi, esi
mov byte [ebp - 8], cl
mov ecx, edx
and ecx, 0xff
mov byte [ebp - 0x24], al
fstp st(0)
mov cl, byte [ebp + ecx - 0x150]
add cl, bl
inc dl
mov byte [ebp - 0x14], cl
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x150]
add bl, dl
mov byte [ebp - 0x18], bl
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
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 - 0x150]
mov edx, dword [ebp - 0x2c]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x150]
add edx, edi
mov edi, dword [ebp - 0x1c]
and edx, 0xff
xor bl, byte [ebp + edx - 0x150]
xor bl, al
mov byte [ebp - 0x28], bl
mov dword [ebp - 0x30], 0xe
jmp 0x825d3c
mov edi, dword [ebp - 0x38]
mov al, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add al, 6
shl al, 4
sub dl, 0x6f
mov dword [ebp - 0x38], edi
or al, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
inc esi
mov byte [ebp - 0x24], al
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add cl, bl
inc dl
mov byte [ebp - 0x14], cl
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x150]
add bl, dl
mov byte [ebp - 0x18], bl
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
xor dl, al
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x825e4c
mov byte [ebp + esi - 0x171], dl
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
jne 0x825d39
mov eax, dword [ebp - 0x1c]
inc esi
mov dl, byte [eax + esi*2]
lea edi, [eax + esi*2]
add dl, 6
mov dword [ebp - 0x30], edi
mov al, byte [edi + 1]
sub al, 0x6f
shl dl, 4
or al, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp - 0x38], al
mov byte [ebp - 0x24], al
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov dl, byte [ebp - 0xc]
add cl, bl
inc dl
mov byte [ebp - 0x14], cl
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x150]
add bl, dl
mov byte [ebp - 0x18], bl
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
xor dl, al
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x825f7a
mov byte [ebp + esi - 0x171], dl
lea edx, [esi + 1]
cmp edx, 0x20
jge 0x8260b8
mov edi, dword [ebp - 0x30]
mov eax, 0x20
sub eax, edx
mov dword [ebp - 0x30], eax
jmp 0x825f98
mov edi, dword [ebp - 0x40]
mov al, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add al, 6
shl al, 4
sub dl, 0x6f
mov dword [ebp - 0x40], edi
or al, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
inc esi
mov byte [ebp - 0x38], al
mov byte [ebp - 0x24], al
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add cl, bl
inc dl
mov byte [ebp - 0x14], cl
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
mov bl, byte [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [ebp + edx - 0x150]
add bl, dl
mov byte [ebp - 0x18], bl
mov ebx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
xor dl, al
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x8260ab
mov byte [ebp + esi - 0x171], dl
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
jne 0x825f95
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
and edx, 0xff
and eax, 0xff
mov bl, byte [ebp - 0xc]
inc esi
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 8], dl
mov dl, byte [ebp + eax - 0x150]
add cl, dl
mov edx, dword [ebp - 0x28]
mov byte [ebp - 0x14], cl
and edx, 0xff
mov eax, dword [ebp - 0x14]
inc bl
and eax, 0xff
mov byte [ebp - 0xc], bl
mov cl, byte [ebp + eax - 0x150]
lea eax, [ebp + eax - 0x150]
mov byte [edi], cl
lea ecx, [ebp + edx - 0x150]
mov dword [ebp - 0x10], ecx
mov dl, byte [ecx]
mov byte [eax], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
test esi, esi
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [ecx], bl
mov cl, byte [ebp - 8]
mov byte [edx], cl
jbe 0x8261b8
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
and ecx, 0xff
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
add dl, 6
sub bl, 0x6f
shl dl, 4
mov dword [ebp - 0x20], ecx
mov cl, byte [ebp + ecx - 0x150]
or bl, dl
mov dl, byte [ebp - 0x18]
add cl, dl
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x150]
mov cl, byte [edi]
add edx, ecx
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x20]
mov cl, byte [ecx]
add edx, ecx
xor ecx, ecx
and edx, 0xff
mov cl, byte [ebp + edx - 0x150]
mov dl, byte [ebp + ecx - 0x150]
xor bl, dl
mov dl, byte [eax]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x150]
mov byte [ebp + esi - 0x171], bl
mov byte [ebp - 0x151], 0
fld qword [0x88f578]
fld qword [0x88f578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a9670]
fsub st(1)
fxch st(1)
fmul qword [0x89dbd0]
fadd qword [0x8a9668]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a9660]
fnstsw ax
test ah, 0x41
jne 0x826204
fld st(0)
fmul qword [0x8a9658]
fsubp st(2)
fadd qword [0x896438]
fcom qword [0x8a9650]
fnstsw ax
test ah, 1
jne 0x8261cb
fxch st(1)
fst qword [ebp - 0x3c]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x82625a
shr byte [eax - 0x4b3e4b3e], 0xcb
mov al, 0xc3
mov cl, 0xc7
lodsb al, byte [esi]
leave
stosb byte es:[edi], al
ret 0xc2b5
mov dword [ebp - 0x30], 0x82622d
mov dword [ebp - 0x40], 0x826245
xor eax, eax
mov byte [ebp + eax - 0x150], al
inc eax
cmp eax, 0x100
jb 0x82626a
fld qword [ebp - 0x3c]
mov byte [ebp - 4], 0
mov eax, 0xff
mov esi, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x14], eax
jmp 0x826292
mov eax, dword [ebp - 0x14]
mov ebx, 1
mov dword [ebp - 0x38], 0
cmp eax, ebx
jbe 0x8262aa
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x8262a2
cmp edi, 3
ja case.default.0x8262af
jmp dword [edi*4 + 0x827638]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
jmp 0x82632b
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
shr eax, 8
jmp 0x82632b
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
shr eax, 0x10
jmp 0x82632b
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
shr eax, 0x18
jmp 0x82632b
mov eax, dword [ebp - 0x40]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x150]
add cl, al
inc edi
cmp edi, 0x14
mov byte [ebp - 4], cl
jb 0x82633e
xor edi, edi
add cl, 0x14
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x38], eax
jbe 0x82635e
mov eax, edx
xor edx, edx
div dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp edx, eax
ja 0x8262aa
mov ecx, eax
cmp ecx, edx
je 0x8263a7
mov al, byte [ebp + edx - 0x150]
mov bl, byte [ebp + ecx - 0x150]
lea edx, [ebp + edx - 0x150]
xor bl, al
mov byte [ebp + ecx - 0x150], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x150]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x150], al
dec ecx
mov dword [ebp - 0x14], ecx
jne 0x82628f
mov dl, byte [ebp - 0x149]
mov edi, dword [ebp - 0x30]
and esi, 0xff
mov byte [ebp - 0x24], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x14d]
mov al, byte [ebp + esi - 0x150]
xor esi, esi
mov byte [ebp - 0x28], al
mov al, byte [edi + 1]
add al, 0x5a
mov cl, byte [ebp - 0x14b]
shl dl, 4
or al, dl
mov dword [ebp - 0x38], 3
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x150]
lea edi, [ebp + eax - 0x150]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x14f]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x150]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
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 - 0x18], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x18]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 4]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x150]
add edx, edi
mov edi, dword [ebp - 0x30]
and edx, 0xff
xor bl, byte [ebp + edx - 0x150]
mov dl, byte [ebp - 0x20]
mov byte [ebp - 0x28], dl
xor bl, dl
mov byte [ebp - 0x24], bl
jmp 0x8264f2
mov edi, dword [ebp - 0x40]
mov dl, byte [edi + 3]
mov bl, byte [edi + 2]
add edi, 2
add dl, 0x5a
shl bl, 4
or dl, bl
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
inc esi
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
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 - 0x18], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 4]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x826600
mov byte [ebp + esi - 0x51], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x8264ef
mov edx, dword [ebp - 0x30]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
shl bl, 4
mov dl, byte [edi + 1]
add dl, 0x5a
or dl, bl
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
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 - 0x18], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 4]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x826726
mov byte [ebp + esi - 0x51], dl
lea ebx, [esi + 1]
cmp ebx, 0xa
jge 0x826862
mov edx, dword [ebp - 0x30]
lea edi, [edx + esi*2]
mov edx, 0xa
sub edx, ebx
mov dword [ebp - 0x38], edx
jmp 0x826747
mov edi, dword [ebp - 0x40]
mov dl, byte [edi + 3]
mov bl, byte [edi + 2]
add edi, 2
add dl, 0x5a
shl bl, 4
or dl, bl
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
inc esi
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
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 - 0x18], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 4]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x826855
mov byte [ebp + esi - 0x51], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x826744
mov edi, dword [ebp - 0x30]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2 + 1]
mov bl, byte [edi + esi*2]
add dl, 0x5a
shl bl, 4
or dl, bl
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
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 - 0x18], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 4]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x82697d
mov byte [ebp + esi - 0x51], dl
mov edi, dword [ebp - 0x30]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add bl, 0x5a
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov byte [ebp - 0x20], bl
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
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 - 0x18], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 4]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
mov bl, byte [ebp - 0x20]
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x826a88
mov byte [ebp + esi - 0x51], dl
mov edx, dword [ebp - 0x20]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x2c], al
inc bl
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x1c], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x150]
lea eax, [ebp + eax - 0x150]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [eax], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 8], edx
test esi, esi
lea ebx, [ebp + ebx - 0x150]
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 0x826b7f
mov edx, dword [ebp - 0x10]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x30]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
add bl, 0x5a
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x18]
mov dl, byte [ebp + edx - 0x150]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x150]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x18]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x150]
mov cl, byte [ebp + edx - 0x150]
xor bl, cl
mov cl, byte [ebp + eax - 0x150]
xor bl, cl
mov byte [ebp + esi - 0x51], bl
mov byte [ebp - 0x45], 0
fld qword [0x88f578]
fld qword [0x88f578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a9648]
fsub st(1)
fxch st(1)
fmul qword [0x89d878]
fadd qword [0x8a9640]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a9638]
fnstsw ax
test ah, 0x41
jne 0x826bc8
fld st(0)
fmul qword [0x8a9630]
fsubp st(2)
fadd qword [0x896500]
fcom qword [0x8a9628]
fnstsw ax
test ah, 1
jne 0x826b8f
fxch st(1)
fst qword [ebp - 0x3c]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x826c40
push eax
xor esp, dword [0x255c3935]
sub eax, 0x31284e28
pop esi
dec edx
inc eax
pop edx
sub byte cs:[esi], dh
xor al, byte ds:[ecx + 0x56]
sub byte [esi + 0x42], dh
and ah, byte [0x6a682926]
fisub dword [esi - 0x1d]
arpl dx, bx
push 0xffffffffffffffe3
loopne 0x826c85
in eax, 0x65
loop 0x826c82
in al, 0x6a
fisubr dword [ebx - 0x23]
insb byte es:[edi], dx
invalid
mov dword [ebp - 0x30], 0x826c11
mov dword [ebp - 0x40], 0x826bf1
xor eax, eax
mov byte [ebp + eax - 0x150], al
inc eax
cmp eax, 0x100
jb 0x826c50
fld qword [ebp - 0x3c]
mov byte [ebp - 4], 0
mov eax, 0xff
mov esi, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x14], eax
jmp 0x826c78
mov eax, dword [ebp - 0x14]
mov ebx, 1
mov dword [ebp - 0x38], 0
add byte [eax], al
cmp eax, ebx
jbe 0x826c90
ret
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x826c88
cmp edi, 3
ja case.default.0x826c95
jmp dword [edi*4 + 0x827648]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
jmp 0x826d11
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
shr eax, 8
jmp 0x826d11
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
shr eax, 0x10
jmp 0x826d11
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x150]
shr eax, 0x18
jmp 0x826d11
mov edx, dword [ebp - 0x40]
and esi, 0xff
mov cl, byte [ebp + esi - 0x150]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x24
mov byte [ebp - 4], cl
jb 0x826d24
xor edi, edi
add cl, 0x24
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x38], eax
jbe 0x826d44
mov eax, edx
xor edx, edx
div dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp edx, eax
ja 0x826c90
mov ecx, eax
cmp ecx, edx
je 0x826d8d
mov al, byte [ebp + edx - 0x150]
mov bl, byte [ebp + ecx - 0x150]
lea edx, [ebp + edx - 0x150]
xor bl, al
mov byte [ebp + ecx - 0x150], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x150]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x150], al
dec ecx
mov dword [ebp - 0x14], ecx
jne 0x826c75
mov dl, byte [ebp - 0x149]
and esi, 0xff
mov byte [ebp - 0x14], dl
mov bl, byte [ebp - 0x14d]
mov al, byte [ebp + esi - 0x150]
mov esi, dword [ebp - 0x30]
mov byte [ebp - 0x28], al
mov cl, byte [ebp - 0x14b]
mov dl, byte [esi]
mov al, byte [esi + 1]
add dl, 6
sub al, 0x61
shl dl, 4
or al, dl
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x150]
lea esi, [ebp + eax - 0x150]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14f]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x150]
add al, bl
inc dl
mov byte [ebp - 4], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [esi], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x150]
mov dl, byte [edi]
mov edi, dword [ebp - 0x2c]
mov bl, byte [ebp + ebx - 0x150]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x150]
mov dl, byte [ebp - 0x20]
mov byte [ebp - 0x28], dl
xor bl, dl
mov edx, dword [ebp - 0x30]
mov byte [ebp - 0x14], bl
lea edi, [edx + 2]
mov dl, byte [edx + 2]
add dl, 6
mov bl, byte [edi + 1]
mov dword [ebp - 0x38], 8
shl dl, 4
sub bl, 0x61
or dl, bl
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 4], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x2c]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
mov byte [ebp - 0x14], dl
mov byte [ebp - 0x188], dl
mov edx, dword [ebp - 0x30]
lea edi, [edx + 2]
jmp 0x826feb
mov edi, dword [ebp - 0x40]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 6
sub dl, 0x61
mov dword [ebp - 0x40], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 4], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x2c]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x8270ff
mov byte [ebp + esi - 0x189], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x826fe8
mov edi, dword [ebp - 0x30]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
lea edi, [edi + esi*2]
sub edx, 0xda
shl edx, 4
sub bl, 0x61
or bl, dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov byte [ebp - 0x20], bl
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 4], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x2c]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x827231
mov byte [ebp + esi - 0x189], dl
lea ebx, [esi + 1]
cmp ebx, 0x15
jge 0x827377
mov edx, dword [ebp - 0x30]
lea edi, [edx + esi*2]
mov edx, 0x15
sub edx, ebx
mov dword [ebp - 0x38], edx
jmp 0x827252
mov edi, dword [ebp - 0x40]
mov bl, byte [edi + 3]
add edi, 2
xor edx, edx
sub bl, 0x61
mov dl, byte [edi]
mov dword [ebp - 0x40], edi
sub edx, 0xda
inc esi
shl edx, 4
or bl, dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov byte [ebp - 0x20], bl
lea edi, [ebp + edx - 0x150]
mov dl, byte [ebp + edx - 0x150]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 4], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
lea edx, [ebp + edx - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x150]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x150]
add cl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x150]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x150]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x2c]
add ebx, edx
mov dl, byte [ebp + edi - 0x150]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x150]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x82736a
mov byte [ebp + esi - 0x189], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x82724f
mov edx, dword [ebp - 0x30]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2]
mov edi, ebx
xor ebx, ebx
sub edi, 0xda
mov bl, byte [edx + esi*2 + 1]
shl edi, 4
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x20]
and edi, 0xff
mov edx, ebx
sub edx, 0x61
mov bl, byte [ebp + edi - 0x150]
lea edi, [ebp + edi - 0x150]
mov byte [ebp - 0xc], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
add al, byte [ebp + ebx - 0x150]
mov byte [ebp - 4], al
mov al, byte [ebp - 8]
inc al
mov byte [ebp - 8], al
mov eax, dword [ebp - 4]
and eax, 0xff
mov bl, byte [ebp + eax - 0x150]
lea eax, [ebp + eax - 0x150]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x1c], eax
lea ebx, [ebp + ebx - 0x150]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
and eax, 0xff
test esi, esi
lea eax, [ebp + eax - 0x150]
mov dword [ebp - 0x18], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x18]
mov al, byte [ebp - 0xc]
mov byte [ebx], al
jbe 0x827488
mov eax, dword [ebp - 0xc]
and eax, 0xff
mov bl, byte [ebp + eax - 0x150]
add bl, cl
and ebx, 0xff
mov cl, byte [ebp + ebx - 0x150]
mov bl, byte [edi]
mov edi, dword [ebp - 0x10]
add ecx, ebx
mov bl, byte [edi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x150]
mov ecx, dword [ebp - 0x1c]
mov cl, byte [ecx]
add ecx, eax
mov al, byte [ebp + ebx - 0x150]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x150]
xor al, bl
mov bl, byte [ebp - 0x40]
or dl, bl
xor al, dl
mov byte [ebp + esi - 0x189], al
mov byte [ebp - 0x174], 0
lea ecx, [ebp - 0x34]
push ecx
push 0x8d1094
call dword [0x8d38f0]
lea edx, [ebp - 0x390]
push edx
push 0
push 0
push 0x28
push 0
call dword [0x8d38b8]
lea eax, [ebp - 0x390]
push eax
call fcn.0083db80
mov dword [0x8d38a0], eax
mov ecx, 0x40
xor eax, eax
mov edi, 0x8d37a0
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x50]
push 0x100
lea edx, [ebp - 0x170]
push ecx
push edx
push reloc.WS2_32.dll_bind
call fcn.0040e430
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, 0x8d37a0
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, 0x8d37a0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x827561
lea ecx, [ebp - 0x50]
push 0x200
lea edx, [ebp - 0x170]
push ecx
push edx
push reloc.WS2_32.dll_bind
call fcn.0040e430
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, 0x8d37a0
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, 0x8d1094
xor eax, eax
lea edx, [ebp - 0x790]
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 - 0x790]
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 [0x8d38a0]
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 - 0x790]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x8d37a0
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 - 0x188]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x790]
push ecx
call fcn.00831aa0
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, 0x8d1040
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