Function at 0x82780a
Capabilities:
Create thread
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x55c
push esi
push edi
xor esi, esi
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x55a]
mov word [ebp - 0x55c], si
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x55c]
push eax
push esi
call dword [0x8cf8d8]
test eax, eax
je 0x828d9e
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x352]
mov word [ebp - 0x354], si
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x55c]
push ebx
lea edx, [ebp - 0x354]
push ecx
push edx
stosw word es:[edi], ax
call fcn.00839d79
lea eax, [ebp - 0x354]
push 0x2e
push eax
call fcn.00839ad7
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x4c], ecx
cmp word [ecx + 4], 0x78
jne 0x827784
cmp word [ecx + 6], 0x65
je 0x827f04
fld qword [0x88b578]
fld qword [0x88b578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8ac9e8]
fsub st(1)
fxch st(1)
fmul qword [0x8924a8]
or eax, 0x8924a8
fadd qword [0x89dc60]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8ac9e0]
fnstsw ax
test ah, 0x41
jne 0x8277c9
pushal
fmul qword [ecx - 0x21062200]
ret 0xc1d9
fld st(0)
fmul qword [0x8ac9d8]
fsubp st(2)
fadd qword [0x8925f0]
fcom qword [0x8ac9d0]
fnstsw ax
test ah, 1
jne 0x827790
fxch st(1)
fst qword [ebp - 0x48]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x827819
jne 0x82784f
jp 0x82785a
js 0x827819
jo 0x827865
and al, 0x52
jb 0x827832
sub eax, 0x552b2761
xor al, 0x2e
sub dword [ebx + 0x55], esi
je 0x827864
sbb ebx, dword [ebx + 0x15]
push 0x6518671a
adc eax, 0x6a1e9
add bh, al
inc ebp
loopne 0x827827
mov dword [ebp - 0x20], 0x82780a
mov dword [ebp - 0x10], 0x8277f2
js 0x8277a1
add bh, al
inc ebp
bnd ja 0x8277a8
add byte [ebx], dh
ror byte [eax - 0x14bfa7c], 0xff
inc dword [eax + 0x3d]
xor eax, eax
mov byte [ebp + eax - 0x14c], al
inc eax
cmp eax, 0x100
add byte [ecx], al
add byte [eax], al
jb 0x827829
fld qword [ebp - 0x48]
mov byte [ebp - 4], 0
xor edi, edi
mov esi, dword [ebp - 4]
mov dword [ebp - 8], 0xff
mov eax, dword [ebp - 8]
mov ebx, 1
add dword [eax], eax
add byte [eax], al
cmp eax, ebx
mov dword [ebp - 0x30], 0
add byte [eax], al
jbe 0x827866
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x82785e
clc
cmp edi, 3
ja case.default.0x82786b
jmp dword [edi*4 + 0x828da8]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
jmp 0x8278e7
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 8
jmp 0x8278e7
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x10
jmp 0x8278e7
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x18
jmp 0x8278e7
mov ecx, dword [ebp - 0x10]
and esi, 0xff
mov cl, byte [ecx + edi - 4]
mov al, byte [ebp + esi - 0x14c]
add cl, al
inc edi
cmp edi, 0x1c
mov byte [ebp - 4], cl
jb 0x8278fa
xor edi, edi
add cl, 0x1c
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x82791a
mov eax, edx
xor edx, edx
div dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, edx
jb 0x827866
je 0x82795a
mov cl, byte [ebp + edx - 0x14c]
lea eax, [ebp + edx - 0x14c]
mov edx, dword [ebp - 8]
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
xor bl, cl
mov byte [edx], bl
mov cl, bl
mov bl, byte [eax]
xor bl, cl
mov byte [eax], bl
mov cl, byte [edx]
mov al, bl
xor cl, al
mov byte [edx], cl
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
jne 0x82784b
mov dl, byte [ebp - 0x145]
and esi, 0xff
mov byte [ebp - 0x24], dl
xor edx, edx
mov al, byte [ebp + esi - 0x14c]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 8], al
xor eax, eax
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 7
sub dl, 0x13
shl al, 4
or al, dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov byte [ebp - 4], al
mov bl, byte [ebp - 0x149]
mov cl, byte [ebp - 0x147]
mov al, byte [ebp + edx - 0x14c]
lea edi, [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14b]
mov byte [ebp - 0xc], al
mov eax, edx
and eax, 0xff
fstp st(0)
mov al, byte [ebp + eax - 0x14c]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x20]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x28]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x14c]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x14c]
mov dl, byte [ebp - 4]
mov byte [ebp - 8], dl
xor bl, dl
mov byte [ebp - 0x24], bl
mov bl, byte [esi + 2]
mov dl, byte [esi + 3]
add bl, 7
sub dl, 0x13
shl bl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 4]
mov byte [ebp - 8], bl
xor dl, bl
mov byte [ebp - 0x24], dl
movsx dx, dl
mov word [ebp - 0x40], dx
mov dl, byte [esi + 4]
mov bl, byte [esi + 5]
add dl, 7
shl dl, 4
sub bl, 0x13
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x1c], dl
mov byte [ebp - 0x10], al
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 4]
mov byte [ebp - 8], bl
xor dl, bl
mov byte [ebp - 0x24], dl
movsx dx, dl
mov word [ebp - 0x3e], dx
mov bl, byte [esi + 7]
xor edx, edx
sub bl, 0x13
mov dl, byte [esi + 6]
add dl, 7
shl dl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
mov byte [ebp - 0x10], al
inc dl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
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 - 0x20], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 4]
xor dl, bl
mov byte [ebp - 0x24], dl
movsx dx, dl
mov word [ebp - 0x3c], dx
mov edx, dword [ebp - 4]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x10], al
mov eax, dword [ebp - 0x10]
and eax, 0xff
inc bl
mov byte [ebp - 0x1c], bl
mov dl, byte [ebp + eax - 0x14c]
lea eax, [ebp + eax - 0x14c]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [eax], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
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]
mov bl, byte [esi + 8]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov dl, byte [esi + 9]
mov esi, dword [ebp - 0x20]
add bl, 7
sub dl, 0x13
mov al, byte [eax]
shl bl, 4
or dl, bl
mov bl, byte [ebp + esi - 0x14c]
mov esi, dword [ebp - 0x14]
add bl, cl
and ebx, 0xff
mov word [ebp - 0x38], 0
mov cl, byte [ebp + ebx - 0x14c]
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
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 - 0x14c]
mov cl, byte [ebp + ebx - 0x14c]
xor dl, cl
mov cl, byte [ebp + eax - 0x14c]
xor dl, cl
movsx cx, dl
mov word [ebp - 0x3a], cx
mov ecx, dword [ebp - 0x4c]
lea edx, [ebp - 0x40]
lea eax, [ebp - 0x354]
xor esi, esi
push edx
push eax
mov word [ecx], si
call fcn.00839d4f
lea ecx, [ebp - 0x354]
lea edx, [ebp - 0x55c]
push ecx
push edx
call fcn.0083a25e
mov ecx, 0x100
xor eax, eax
mov edi, 0x8cd9c0
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x354]
push eax
push 0x8cd9c0
call fcn.00839d79
add esp, 0x18
lea ecx, [ebp - 0x2c]
push ecx
push esi
push esi
push 0x8243f0
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
fld qword [0x88b578]
fld qword [0x88b578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8ac9c8]
fsub st(1)
fxch st(1)
fmul qword [0x899728]
fadd qword [0x89b108]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8ac9c0]
fnstsw ax
test ah, 0x41
jne 0x827f5c
fld st(0)
fmul qword [0x8ac9b8]
fsubp st(2)
fadd qword [0x892528]
fcom qword [0x8ac9b0]
fnstsw ax
test ah, 1
jne 0x827f23
fxch st(1)
fst qword [ebp - 0x48]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x827fa8
xor al, 0x59
inc edx
jnp 0x827fd0
xor byte [ebp + 0x3e], al
pop ecx
and al, 0x29
push 0x56334935
aam 0x41
iretd
mov dword [ebp - 0x10], 0x827f97
mov dword [ebp - 0x4c], 0x827f85
xor eax, eax
mov byte [ebp + eax - 0x14c], al
inc eax
cmp eax, 0x100
jb 0x827fb8
fld qword [ebp - 0x48]
mov byte [ebp - 4], 0
xor edi, edi
mov esi, dword [ebp - 4]
mov dword [ebp - 8], 0xff
mov eax, dword [ebp - 8]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x827ff5
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x827fed
cmp edi, 3
ja case.default.0x827ffa
jmp dword [edi*4 + 0x828db8]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
jmp 0x828076
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 8
jmp 0x828076
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x10
jmp 0x828076
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x18
jmp 0x828076
mov edx, dword [ebp - 0x4c]
and esi, 0xff
mov cl, byte [edx + edi - 4]
mov al, byte [ebp + esi - 0x14c]
add cl, al
inc edi
cmp edi, 0x16
mov byte [ebp - 4], cl
jb 0x828089
xor edi, edi
add cl, 0x16
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x8280a9
mov eax, edx
xor edx, edx
div dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, edx
jb 0x827ff5
je 0x8280e4
mov ecx, dword [ebp - 8]
lea eax, [ebp + edx - 0x14c]
mov bl, byte [ebp + ecx - 0x14c]
lea edx, [ebp + ecx - 0x14c]
mov cl, byte [eax]
xor bl, cl
mov byte [edx], bl
mov cl, bl
mov bl, byte [eax]
xor bl, cl
mov byte [eax], bl
mov cl, byte [edx]
mov al, bl
xor cl, al
mov byte [edx], cl
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
jne 0x827fda
mov dl, byte [ebp - 0x145]
mov edi, dword [ebp - 0x10]
and esi, 0xff
mov byte [ebp - 0x20], dl
xor edx, edx
mov bl, byte [ebp - 0x149]
mov al, byte [ebp + esi - 0x14c]
mov dl, byte [edi + 1]
mov byte [ebp - 0x30], al
xor eax, eax
mov al, byte [edi]
sub dl, 0x3f
add al, 3
mov cl, byte [ebp - 0x147]
shl al, 4
or al, dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov byte [ebp - 0x10], al
fstp st(0)
mov al, byte [ebp + edx - 0x14c]
lea esi, [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14b]
mov byte [ebp - 0x14], al
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x14c]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [esi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0xc]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x28]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 4]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x14c]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x14c]
mov dl, byte [ebp - 0x10]
mov byte [ebp - 0x30], dl
xor bl, dl
mov byte [ebp - 0x20], bl
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add bl, 3
sub dl, 0x3f
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
lea esi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [esi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0xc]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 4]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x28]
add ebx, edx
mov dl, byte [ebp + esi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x30], bl
xor dl, bl
mov byte [ebp - 0x20], dl
movsx dx, dl
mov word [ebp - 0x40], dx
mov bl, byte [edi + 4]
mov dl, byte [edi + 5]
add bl, 3
sub dl, 0x3f
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
lea esi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [esi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0xc]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 4]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x28]
add ebx, edx
mov dl, byte [ebp + esi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x30], bl
xor dl, bl
mov byte [ebp - 0x20], dl
movsx dx, dl
mov word [ebp - 0x3e], dx
mov bl, byte [edi + 7]
xor edx, edx
sub bl, 0x3f
mov dl, byte [edi + 6]
sub edx, 0xcd
shl edx, 4
or bl, dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov byte [ebp - 0x10], bl
lea esi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
mov byte [ebp - 0x24], al
inc dl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [esi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0xc]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 4]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x28]
add ebx, edx
mov dl, byte [ebp + esi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x30], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x20], dl
movsx dx, dl
mov word [ebp - 0x3c], dx
mov bl, byte [edi + 9]
xor edx, edx
sub ebx, 0x3f
mov dl, byte [edi + 8]
sub edx, 0xcd
shl edx, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
lea esi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 4], edx
mov byte [esi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x28], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0xc]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 4]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x28]
add ebx, edx
mov dl, byte [ebp + esi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0x10]
xor dl, bl
mov byte [ebp - 0x20], dl
movsx dx, dl
mov word [ebp - 0x3a], dx
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea esi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], al
inc bl
mov eax, dword [ebp - 0x24]
mov byte [ebp - 0x18], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x14c]
lea eax, [ebp + eax - 0x14c]
mov byte [esi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [eax], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [edi + 0xb]
mov dword [ebp - 0x28], edx
mov dl, byte [edi + 0xa]
mov edi, dword [ebp - 0x28]
add dl, 3
sub bl, 0x3f
shl dl, 4
or dl, bl
mov bl, byte [ebp + edi - 0x14c]
add bl, cl
mov al, byte [eax]
and ebx, 0xff
add eax, edi
and eax, 0xff
mov word [ebp - 0x36], 0
mov cl, byte [ebp + ebx - 0x14c]
mov bl, byte [esi]
mov esi, dword [ebp - 0xc]
add ecx, ebx
mov bl, byte [esi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x14c]
mov cl, byte [ebp + ebx - 0x14c]
xor dl, cl
mov cl, byte [ebp + eax - 0x14c]
xor dl, cl
movsx cx, dl
mov word [ebp - 0x38], cx
fld qword [0x88b578]
fld qword [0x88b578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8924b0]
fsub st(1)
fxch st(1)
fmul qword [0x8924a8]
fadd qword [0x8924a0]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x892498]
fnstsw ax
test ah, 0x41
jne 0x828797
fld st(0)
fmul qword [0x892490]
fsubp st(2)
fadd qword [0x892488]
fcom qword [0x892480]
fnstsw ax
test ah, 1
jne 0x82875e
fxch st(1)
fst qword [ebp - 0x34]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x8287e7
lodsd eax, dword [esi]
dec eax
mov bh, 0x46
mov cl, 0x40
mov edx, 0x4e5d204c
sub eax, 0x2a445b60
jge 0x82883e
sub byte [ebx], bh
push esp
dec ebx
push esp
jle 0x82882b
cmp edi, dword [0x65705461]
jmp 0x828d6a
mov dword [ebp - 0x10], 0x8287c0
mov dword [ebp - 0x4c], 0x8287c8
xor eax, eax
mov byte [ebp + eax - 0x14c], al
inc eax
cmp eax, 0x100
jb 0x8287f7
fld qword [ebp - 0x34]
mov byte [ebp - 4], 0
xor edi, edi
mov esi, dword [ebp - 4]
mov dword [ebp - 8], 0xff
mov eax, dword [ebp - 8]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x828834
or byte [ebp + 0x3b011b5c], cl
fdiv dword [edx - 8]
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x82882c
cmp edi, 3
ja case.default.0x828839
jmp dword [edi*4 + 0x828dc8]
add byte [eax], 0xd9
rol byte [ecx + 0xffe6], 0
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
jmp 0x8288b5
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 8
jmp 0x8288b5
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x10
jmp 0x8288b5
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x14c]
shr eax, 0x18
jmp 0x8288b5
mov edx, dword [ebp - 0x4c]
and esi, 0xff
mov cl, byte [ebp + esi - 0x14c]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x1e
mov byte [ebp - 4], cl
jb 0x8288c8
xor edi, edi
add cl, 0x1e
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x8288e8
mov eax, edx
xor edx, edx
div dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, edx
jb 0x828834
je 0x828923
mov ecx, dword [ebp - 8]
lea eax, [ebp + edx - 0x14c]
mov bl, byte [ebp + ecx - 0x14c]
lea edx, [ebp + ecx - 0x14c]
mov cl, byte [eax]
xor bl, cl
mov byte [edx], bl
mov cl, bl
mov bl, byte [eax]
xor bl, cl
mov byte [eax], bl
mov cl, byte [edx]
mov al, bl
xor cl, al
mov byte [edx], cl
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
jne 0x828819
mov dl, byte [ebp - 0x145]
and esi, 0xff
mov byte [ebp - 0x30], dl
mov bl, byte [ebp - 0x149]
mov al, byte [ebp + esi - 0x14c]
mov esi, dword [ebp - 0x10]
mov byte [ebp - 0x1c], al
mov cl, byte [ebp - 0x147]
mov dl, byte [esi]
mov al, byte [esi + 1]
add dl, 4
sub al, 0x3e
shl dl, 4
or al, dl
mov byte [ebp - 0xc], al
mov eax, dword [ebp - 0x1c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x14c]
lea edi, [ebp + eax - 0x14c]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x14b]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x14c]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x30]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0x28], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x28]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x28]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 4]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x14c]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x14c]
mov dl, byte [ebp - 0xc]
mov byte [ebp - 0x1c], dl
xor bl, dl
mov dl, byte [esi + 3]
mov byte [ebp - 0x30], bl
sub dl, 0x3e
mov bl, byte [esi + 2]
add bl, 4
shl bl, 4
or dl, bl
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x30]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0x28], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x28]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x28]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0xc]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 0x30], dl
movsx dx, dl
mov word [ebp - 0x48], dx
mov dl, byte [esi + 4]
mov bl, byte [esi + 5]
add dl, 4
shl dl, 4
sub bl, 0x3e
or dl, bl
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
lea edx, [ebp + edx - 0x14c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x30]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0x28], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x28]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x14c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x28]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x14c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x14c]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x14c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x14c]
mov bl, byte [ebp - 0xc]
xor dl, bl
mov byte [ebp - 0x30], dl
movsx dx, dl
mov word [ebp - 0x46], dx
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x14c]
mov dl, byte [ebp + edx - 0x14c]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x10]
mov byte [ebp - 8], al
inc bl
mov eax, dword [ebp - 8]
mov byte [ebp - 0x10], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x14c]
lea eax, [ebp + eax - 0x14c]
mov byte [edi], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
lea edx, [ebp + edx - 0x14c]
mov dword [ebp - 0x28], edx
mov bl, byte [edx]
mov byte [eax], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
lea ebx, [ebp + ebx - 0x14c]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [esi + 7]
and edx, 0xff
mov dword [ebp - 4], edx
mov dl, byte [esi + 6]
mov esi, dword [ebp - 4]
add dl, 4
shl dl, 4
sub bl, 0x3e
mov al, byte [eax]
or dl, bl
mov bl, byte [ebp + esi - 0x14c]
mov esi, dword [ebp - 0x28]
add bl, cl
and ebx, 0xff
mov word [ebp - 0x42], 0
mov cl, byte [ebp + ebx - 0x14c]
mov bl, byte [edi]
mov edi, dword [ebp - 4]
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 - 0x14c]
mov cl, byte [ebp + ebx - 0x14c]
xor dl, cl
mov cl, byte [ebp + eax - 0x14c]
xor dl, cl
movsx cx, dl
mov word [ebp - 0x44], cx
push 1
lea edx, [ebp - 0x48]
push 0
lea eax, [ebp - 0x354]
push edx
lea ecx, [ebp - 0x40]
push eax
push ecx
push 0
call dword [0x8cf8a4]
cmp eax, 0x20
pop ebx
jle 0x828d96
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