Function at 0x846893
Capabilities:
Encrypt data using rc4 ksa
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x804
push ebx
push esi
push edi
mov dword [ebp - 0x8c], 0
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x603]
mov byte [ebp - 0x604], 0
rep stosd dword es:[edi], eax
fld qword [0x89a578]
fld qword [0x89a578]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x803]
mov byte [ebp - 0x804], 0
inc esi
test esp, edi
idiv edi
inc dword [eax]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
test eax, eax
je 0x845a9f
or al, byte [eax]
add cl, bl
rcr al, 0xc9
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8c97b0]
or eax, 0x8c97b0
mov word [eax], es
add al, bl
loope 0x845037
fsub st(1)
fxch st(1)
leave
fmul qword [0x8a8b98]
or eax, 0x8a8b98
mov ecx, dword [edx - 0x57fa2400]
xchg edi, eax
mov word [eax], es
fadd qword [0x8c97a8]
add eax, 0x8c97a8
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a1490]
ret 0xc1d9
rcr esp, 0x1d
nop
sbb eax, 0x8a1490
adc al, 0x8a
add bh, bl
loopne 0x845070
fnstsw ax
test ah, 0x41
les eax, [ecx + 0x75]
or bl, cl
rcr ah, 0xd
inc ecx
jne 0x845088
fld st(0)
fmul qword [0x8c97a0]
or eax, 0x8c97a0
mov al, byte [0xde008c97]
ljmp 0x8a
fsubp st(2)
fadd qword [0x8a1410]
add eax, 0x8a1410
fcom qword [0x8c9798]
cwde
xchg edi, eax
mov word [eax], es
fnstsw ax
test ah, 1
jne 0x84504f
fxch st(1)
fst qword [ebp - 0x74]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
fnstsw ax
test ah, 1
je 0x845116
jnp 0x84504c
outsd dx, dword [esi]
cwde
ja 0x84505a
jno 0x84504f
jns 0x845059
js 0x84505a
ja 0x84505a
js 0x845056
jl 0x845066
jp 0x845060
jae 0x84505e
jl 0x84505d
je 0x84506d
jne 0x845062
outsd dx, dword [esi]
mov dword [0x9c76a078], eax
jl 0x845072
jne 0x84506e
jo 0x845074
jno 0x84507e
jo 0x845074
jp 0x845082
jp 0x84507b
jnp 0x845077
jns 0x845081
outsd dx, dword [esi]
lcall 0x967a, 0x99719e7b
jno 0x845090
jnp 0x845089
outsb dx, byte [esi]
mov al, byte [0x3c772169]
insb byte es:[edi], dx
cmp dword [esi + 0x76], edx
inc ebx
cmp bh, byte [ecx + 0x7e]
inc ebx
inc esp
jle 0x845163
and bh, byte [esp + esi + 0x30]
inc edx
inc eax
outsd dx, dword [esi]
inc ebp
lea edi, [ebp - 0x404]
jmp 0x8467e5
mov dword [ebp - 0x84], 0x8450b1
mov dword [ebp - 0x98], 0x8450f3
xor eax, eax
mov byte [ebp + eax - 0x3e0], al
inc eax
cmp eax, 0x100
jb 0x84512c
fld qword [ebp - 0x74]
mov byte [ebp - 0x7c], 0
mov eax, 0xff
mov esi, dword [ebp - 0x7c]
xor edi, edi
mov dword [ebp - 8], eax
jmp 0x845154
mov eax, dword [ebp - 8]
mov ebx, 1
mov dword [ebp - 0x10], 0
cmp eax, ebx
jbe 0x84516c
or byte [ebp + 0x3b011b5c], cl
fdiv dword [edx - 8]
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x845164
cmp edi, 3
ja case.default.0x845171
jmp dword [edi*4 + 0x8476d0]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3e0]
jmp 0x8451f0
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3e0]
shr eax, 8
jmp 0x8451f0
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3e0]
shr eax, 0x10
jmp 0x8451f0
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3e0]
shr eax, 0x18
jmp 0x8451f0
mov eax, dword [ebp - 0x98]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x3e0]
add cl, al
inc edi
cmp edi, 0x1c
mov byte [ebp - 0x7c], cl
jb 0x845203
xor edi, edi
add cl, 0x1c
mov byte [ebp - 0x7c], cl
mov esi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x10]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x10], eax
jbe 0x845223
mov eax, edx
xor edx, edx
div dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp edx, eax
ja 0x84516c
mov ecx, eax
cmp ecx, edx
je 0x84526c
mov al, byte [ebp + edx - 0x3e0]
mov bl, byte [ebp + ecx - 0x3e0]
lea edx, [ebp + edx - 0x3e0]
xor bl, al
mov byte [ebp + ecx - 0x3e0], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x3e0]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x3e0], al
dec ecx
mov dword [ebp - 8], ecx
jne 0x845151
mov dl, byte [ebp - 0x3d9]
mov edi, dword [ebp - 0x84]
and esi, 0xff
mov byte [ebp - 0x5c], dl
xor edx, edx
mov bl, byte [ebp - 0x3dd]
mov al, byte [ebp + esi - 0x3e0]
mov dl, byte [edi + 1]
mov byte [ebp - 0x6c], al
xor eax, eax
mov al, byte [edi]
sub edx, 0x94
sub eax, 0x6d
xor esi, esi
shl eax, 4
or al, dl
mov edx, dword [ebp - 0x6c]
and edx, 0xff
mov byte [ebp - 0x60], al
mov cl, byte [ebp - 0x3db]
mov al, byte [ebp + edx - 0x3e0]
lea edi, [ebp + edx - 0x3e0]
mov edx, dword [ebp - 0x3df]
mov byte [ebp - 0x2c], al
mov eax, edx
and eax, 0xff
fstp st(0)
mov al, byte [ebp + eax - 0x3e0]
add al, bl
inc dl
mov byte [ebp - 0x58], al
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x58]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
lea edx, [ebp + edx - 0x3e0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x5c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3e0]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3e0]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 8], edx
mov bl, byte [ebp + edx - 0x3e0]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x68], cl
mov edx, dword [ebp - 0x68]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3e0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 8]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3e0]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3e0]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3e0]
mov dl, byte [ebp - 0x60]
xor bl, dl
mov byte [ebp - 0x5c], bl
mov edi, dword [ebp - 0x84]
mov byte [ebp - 0x6c], dl
mov dword [ebp - 0x24], 0xe
jmp 0x8453c9
mov edi, dword [ebp - 0x70]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 3
add dl, 0x6c
mov dword [ebp - 0x70], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x60], dl
mov edx, dword [ebp - 0x6c]
and edx, 0xff
lea edi, [ebp + edx - 0x3e0]
mov dl, byte [ebp + edx - 0x3e0]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x28]
add al, bl
inc dl
mov byte [ebp - 0x58], al
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x58]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
lea edx, [ebp + edx - 0x3e0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x5c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3e0]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3e0]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 8], edx
mov bl, byte [ebp + edx - 0x3e0]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x68], cl
mov edx, dword [ebp - 0x68]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3e0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 8]
add ebx, edx
mov dl, byte [ebp + edi - 0x3e0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3e0]
mov bl, byte [ebp - 0x60]
mov byte [ebp - 0x6c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x5c], dl
jbe 0x8454dd
mov byte [ebp + esi - 0x405], dl
mov edx, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x24], edx
jne 0x8453c6
lea ebx, [esi + 1]
cmp ebx, 0x1e
jge 0x845642
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edx, [ebp + edx - 0x3e0]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x84]
lea edi, [edx + esi*2]
mov edx, 0x1e
sub edx, ebx
mov dword [ebp - 0x24], edx
jmp 0x845521
mov edi, dword [ebp - 0x70]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 3
add dl, 0x6c
mov dword [ebp - 0x70], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x60], dl
mov edx, dword [ebp - 0x6c]
and edx, 0xff
lea edi, [ebp + edx - 0x3e0]
mov dl, byte [ebp + edx - 0x3e0]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x28]
add al, bl
inc dl
mov byte [ebp - 0x58], al
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x58]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
lea edx, [ebp + edx - 0x3e0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x5c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3e0]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3e0]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 8], edx
mov bl, byte [ebp + edx - 0x3e0]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x68], cl
mov edx, dword [ebp - 0x68]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3e0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 8]
add ebx, edx
mov dl, byte [ebp + edi - 0x3e0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3e0]
mov bl, byte [ebp - 0x60]
mov byte [ebp - 0x6c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x5c], dl
jbe 0x845635
mov byte [ebp + esi - 0x405], dl
mov edx, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x24], edx
jne 0x84551e
mov edi, dword [ebp - 0x84]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 3
add bl, 0x6c
shl dl, 4
or dl, bl
mov byte [ebp - 0x60], dl
mov edx, dword [ebp - 0x6c]
and edx, 0xff
lea edi, [ebp + edx - 0x3e0]
mov dl, byte [ebp + edx - 0x3e0]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
mov dl, byte [ebp - 0x28]
add al, bl
inc dl
mov byte [ebp - 0x58], al
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x58]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
lea edx, [ebp + edx - 0x3e0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x5c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3e0]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3e0]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 8], edx
mov bl, byte [ebp + edx - 0x3e0]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x68], cl
mov edx, dword [ebp - 0x68]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3e0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 8]
add ebx, edx
mov dl, byte [ebp + edi - 0x3e0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3e0]
mov bl, byte [ebp - 0x60]
mov byte [ebp - 0x6c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x5c], dl
jbe 0x845766
mov byte [ebp + esi - 0x405], dl
mov edi, dword [ebp - 0x84]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 3
add dl, 0x6c
shl bl, 4
or dl, bl
mov byte [ebp - 0x60], dl
mov edx, dword [ebp - 0x6c]
and edx, 0xff
lea edi, [ebp + edx - 0x3e0]
mov dl, byte [ebp + edx - 0x3e0]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x28]
add al, bl
inc dl
mov byte [ebp - 0x58], al
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x58]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
lea edx, [ebp + edx - 0x3e0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x5c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3e0]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3e0]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 8], edx
mov bl, byte [ebp + edx - 0x3e0]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x68], cl
mov edx, dword [ebp - 0x68]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3e0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 8]
add ebx, edx
mov dl, byte [ebp + edi - 0x3e0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3e0]
mov bl, byte [ebp - 0x60]
mov byte [ebp - 0x6c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x5c], dl
jbe 0x84587b
mov byte [ebp + esi - 0x405], dl
mov edi, dword [ebp - 0x84]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 3
add dl, 0x6c
shl bl, 4
or dl, bl
mov byte [ebp - 0x60], dl
mov edx, dword [ebp - 0x6c]
and edx, 0xff
lea edi, [ebp + edx - 0x3e0]
mov dl, byte [ebp + edx - 0x3e0]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
mov dl, byte [ebp - 0x28]
add al, bl
inc dl
mov byte [ebp - 0x58], al
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x58]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
lea edx, [ebp + edx - 0x3e0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x5c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3e0]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3e0]
mov dword [ebp - 0x10], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 8], edx
mov bl, byte [ebp + edx - 0x3e0]
add cl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x68], cl
mov edx, dword [ebp - 0x68]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3e0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 8]
add ebx, edx
mov dl, byte [ebp + edi - 0x3e0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3e0]
mov bl, byte [ebp - 0x60]
xor dl, bl
test esi, esi
mov byte [ebp - 0x5c], dl
jbe 0x84598d
mov byte [ebp + esi - 0x405], dl
mov edx, dword [ebp - 0x60]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3e0]
mov dl, byte [ebp + edx - 0x3e0]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x10]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x58], al
inc bl
mov eax, dword [ebp - 0x58]
mov byte [ebp - 0x28], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x3e0]
lea eax, [ebp + eax - 0x3e0]
mov byte [edi], dl
mov edx, dword [ebp - 0x5c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3e0]
lea edx, [ebp + edx - 0x3e0]
mov byte [eax], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 4], edx
test esi, esi
lea ebx, [ebp + ebx - 0x3e0]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
jbe 0x845a8d
mov edx, dword [ebp - 0x2c]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x84]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
add dl, 3
add bl, 0x6c
shl dl, 4
or bl, dl
mov edx, dword [ebp - 8]
mov dl, byte [ebp + edx - 0x3e0]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x3e0]
mov edx, dword [ebp - 4]
mov dl, byte [edx]
add ecx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 8]
add ecx, edx
and ecx, 0xff
xor edx, edx
add eax, edi
mov dl, byte [ebp + ecx - 0x3e0]
and eax, 0xff
mov cl, byte [ebp + edx - 0x3e0]
xor bl, cl
mov cl, byte [ebp + eax - 0x3e0]
xor bl, cl
mov byte [ebp + esi - 0x405], bl
and ah, bh
invalid
mov byte [ebp - 0x3e4], 0
lea edi, [ebp - 0x404]
jmp 0x8467e5
cld
sti
invalid
fld st(0)
fmul st(1)
rcr al, 0xc9
leave
fld st(0)
fmul qword [0x8c9790]
mov word [eax], es
fsub st(1)
fxch st(1)
fmul qword [0x8a8940]
fadd qword [0x8c9788]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8c9780]
rcr esp, 0x1d
adc byte [edi - 0x1f20ff74], 0xf6
les eax, [ecx + 0x75]
or bl, cl
rcr ah, 0xd
js 0x845a6b
fnstsw ax
test ah, 0x41
jne 0x845ad8
fld st(0)
fmul qword [0x8c9778]
mov word [eax], es
fsubp st(2)
fadd qword [0x8a1448]
fcom qword [0x8c9770]
fnstsw ax
test ah, 1
jne 0x845a9f
fxch st(1)
fst qword [ebp - 0x74]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
fnstsw ax
test ah, 1
je 0x845b5f
outsb dx, byte [esi]
mov esi, dword [ebp + eax*4 + 0x7a]
mov dword [eax + 0x7e], esi
outsd dx, dword [esi]
mov esi, dword [ebx - 0x78]
jb 0x845a94
insd dword es:[edi], dx
mov ebp, dword [esi + 0x7f]
ja 0x845a96
jbe 0x845aa0
js 0x845b97
jbe 0x845aa2
jns 0x845aa9
outsb dx, byte [esi]
mov bh, byte [eax - 0x7f]
ja 0x845ba1
js 0x845aad
insb byte es:[edi], dx
mov esi, dword [ebx - 0x75]
jo 0x845aaf
insd dword es:[edi], dx
test dword [edi + edi*2 + 0x76], esi
xor dword [eax - 0x76], 0x85798178
jno 0x845abd
jae 0x845bb9
jo 0x845ac3
jns 0x845ac0
je 0x845ac7
outsd dx, dword [esi]
sbb dword [edx + 0x20], 0x30
and byte [eax], dh
pop esp
pop ecx
arpl word [edi + 0x5c2d767a], sp
and byte [eax + 0x28], ch
das
inc di
dec edi
and esp, dword [ebp + 0x3f]
jmp 0x8467df
mov dword [ebp - 0x80], 0x845b01
mov dword [ebp - 0x94], 0x845b43
xor eax, eax
mov byte [ebp + eax - 0x2b4], al
inc eax
cmp eax, 0x100
jb 0x845b72
fld qword [ebp - 0x74]
mov byte [ebp - 0x88], 0
xor edi, edi
mov esi, dword [ebp - 0x88]
mov dword [ebp - 8], 0xff
add byte [eax], al
add byte [ebx + 0x1bbf845], cl
add byte [eax], al
mov eax, dword [ebp - 8]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x24], 0
jbe 0x845bb5
add byte [ebx], bh
ret
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x845bad
cmp edi, 3
ja case.default.0x845bba
push 0xe0bd24ff
jbe 0x845b44
jmp dword [edi*4 + 0x8476e0]
add cl, bl
rol byte [ecx + 0xffe6], 0
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x2b4]
jmp 0x845c39
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x2b4]
shr eax, 8
jmp 0x845c39
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x2b4]
shr eax, 0x10
jmp 0x845c39
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x2b4]
shr eax, 0x18
jmp 0x845c39
mov ecx, dword [ebp - 0x94]
and esi, 0xff
mov cl, byte [ecx + edi - 4]
mov al, byte [ebp + esi - 0x2b4]
add cl, al
inc edi
cmp edi, 0x1b
mov byte [ebp - 0x88], cl
jb 0x845c52
xor edi, edi
add cl, 0x1b
mov byte [ebp - 0x88], cl
mov esi, dword [ebp - 0x88]
mov eax, dword [ebp - 0x24]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x24], eax
jbe 0x845c75
mov eax, edx
xor edx, edx
div dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, edx
jb 0x845bb5
je 0x845cad
mov bl, byte [ebp + eax - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
lea ecx, [ebp + eax - 0x2b4]
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 - 8]
dec eax
mov dword [ebp - 8], eax
jne 0x845b9a
mov dl, byte [ebp - 0x2ad]
mov edi, dword [ebp - 0x80]
and esi, 0xff
mov byte [ebp - 0x34], dl
xor edx, edx
mov bl, byte [ebp - 0x2b1]
mov al, byte [ebp + esi - 0x2b4]
mov dl, byte [edi + 1]
mov byte [ebp - 0x50], al
mov al, byte [edi]
add al, 4
sub edx, 0x7e
shl al, 4
or al, dl
mov edx, dword [ebp - 0x50]
and edx, 0xff
mov byte [ebp - 0x40], al
mov cl, byte [ebp - 0x2af]
mov al, byte [ebp + edx - 0x2b4]
lea esi, [ebp + edx - 0x2b4]
mov edx, dword [ebp - 0x2b3]
mov byte [ebp - 0x1c], al
mov eax, edx
and eax, 0xff
fstp st(0)
mov al, byte [ebp + eax - 0x2b4]
add al, bl
inc dl
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [esi], bl
mov ebx, dword [ebp - 0x34]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x2b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x2b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x54], cl
mov edx, dword [ebp - 0x54]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x2b4]
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 - 0x2b4]
mov edx, dword [ebp - 8]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x2b4]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x2b4]
mov dl, byte [ebp - 0x40]
mov byte [ebp - 0x50], dl
xor bl, dl
xor edx, edx
mov byte [ebp - 0x34], bl
mov dl, byte [edi + 2]
xor ebx, ebx
mov bl, byte [edi + 3]
sub edx, 0x6c
shl dl, 4
sub ebx, 0x7e
or dl, bl
mov byte [ebp - 0x40], dl
mov edx, dword [ebp - 0x50]
and edx, 0xff
lea esi, [ebp + edx - 0x2b4]
mov dl, byte [ebp + edx - 0x2b4]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [esi], bl
mov ebx, dword [ebp - 0x34]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x2b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x2b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x54], cl
mov edx, dword [ebp - 0x54]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x2b4]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov edx, dword [ebp - 8]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + esi - 0x2b4]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x2b4]
mov bl, byte [ebp - 0x40]
mov byte [ebp - 0x50], bl
xor dl, bl
mov bl, byte [edi + 5]
mov byte [ebp - 0x34], dl
mov byte [ebp - 0x2e0], dl
mov dl, byte [edi + 4]
sub bl, 0x7e
add dl, 4
shl dl, 4
or dl, bl
mov byte [ebp - 0x40], dl
mov edx, dword [ebp - 0x50]
and edx, 0xff
mov dword [ebp - 0x24], 0xc
lea edi, [ebp + edx - 0x2b4]
mov dl, byte [ebp + edx - 0x2b4]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x34]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x2b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x2b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x54], cl
mov edx, dword [ebp - 0x54]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x2b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x2b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x2b4]
mov bl, byte [ebp - 0x40]
mov byte [ebp - 0x50], bl
xor dl, bl
mov byte [ebp - 0x34], dl
mov byte [ebp - 0x2df], dl
mov edx, dword [ebp - 0x80]
lea edi, [edx + 4]
jmp 0x84601b
mov edi, dword [ebp - 0x70]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 4
sub dl, 0x7e
mov dword [ebp - 0x70], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x40], dl
mov edx, dword [ebp - 0x50]
and edx, 0xff
lea edi, [ebp + edx - 0x2b4]
mov dl, byte [ebp + edx - 0x2b4]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x34]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x2b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x2b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x54], cl
mov edx, dword [ebp - 0x54]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x2b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x2b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x2b4]
mov bl, byte [ebp - 0x40]
mov byte [ebp - 0x50], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x34], dl
jbe 0x84612f
mov byte [ebp + esi - 0x2e1], dl
mov edx, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x24], edx
jne 0x846018
mov edi, dword [ebp - 0x80]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 4
sub dl, 0x7e
shl bl, 4
or dl, bl
mov byte [ebp - 0x40], dl
mov edx, dword [ebp - 0x50]
and edx, 0xff
lea edi, [ebp + edx - 0x2b4]
mov dl, byte [ebp + edx - 0x2b4]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x34]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x2b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x2b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x54], cl
mov edx, dword [ebp - 0x54]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x2b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x2b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x2b4]
mov bl, byte [ebp - 0x40]
mov byte [ebp - 0x50], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x34], dl
jbe 0x846259
mov byte [ebp + esi - 0x2e1], dl
mov edx, dword [ebp - 0x80]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
add bl, 4
mov dl, byte [edi + 1]
sub dl, 0x7e
shl bl, 4
or dl, bl
mov byte [ebp - 0x40], dl
mov edx, dword [ebp - 0x50]
and edx, 0xff
lea edi, [ebp + edx - 0x2b4]
mov dl, byte [ebp + edx - 0x2b4]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x34]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x2b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x2b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x54], cl
mov edx, dword [ebp - 0x54]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x2b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x2b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x2b4]
mov bl, byte [ebp - 0x40]
mov byte [ebp - 0x50], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x34], dl
jbe 0x84636d
mov byte [ebp + esi - 0x2e1], dl
lea ebx, [esi + 1]
cmp ebx, 0x1f
jge 0x8464af
mov edx, dword [ebp - 0x80]
lea edi, [edx + esi*2]
mov edx, 0x1f
sub edx, ebx
mov dword [ebp - 0x24], edx
jmp 0x84638e
mov edi, dword [ebp - 0x70]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 4
sub dl, 0x7e
mov dword [ebp - 0x70], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x40], dl
mov edx, dword [ebp - 0x50]
and edx, 0xff
lea edi, [ebp + edx - 0x2b4]
mov dl, byte [ebp + edx - 0x2b4]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x34]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x2b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x2b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x54], cl
mov edx, dword [ebp - 0x54]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x2b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x2b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x2b4]
mov bl, byte [ebp - 0x40]
mov byte [ebp - 0x50], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x34], dl
jbe 0x8464a2
mov byte [ebp + esi - 0x2e1], dl
mov edx, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x24], edx
jne 0x84638b
mov edi, dword [ebp - 0x80]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 4
sub dl, 0x7e
shl bl, 4
or dl, bl
mov byte [ebp - 0x40], dl
mov edx, dword [ebp - 0x50]
and edx, 0xff
lea edi, [ebp + edx - 0x2b4]
mov dl, byte [ebp + edx - 0x2b4]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x34]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x2b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x2b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x54], cl
mov edx, dword [ebp - 0x54]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x2b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x2b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x2b4]
mov bl, byte [ebp - 0x40]
mov byte [ebp - 0x50], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x34], dl
jbe 0x8465cc
mov byte [ebp + esi - 0x2e1], dl
mov edi, dword [ebp - 0x80]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 4
sub bl, 0x7e
shl dl, 4
or dl, bl
mov byte [ebp - 0x40], dl
mov edx, dword [ebp - 0x50]
and edx, 0xff
lea edi, [ebp + edx - 0x2b4]
mov dl, byte [ebp + edx - 0x2b4]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x34]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x2b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x2b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x54], cl
mov edx, dword [ebp - 0x54]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x2b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x2b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x2b4]
mov bl, byte [ebp - 0x40]
xor dl, bl
test esi, esi
mov byte [ebp - 0x34], dl
jbe 0x8466db
mov byte [ebp + esi - 0x2e1], dl
mov edx, dword [ebp - 0x40]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x2b4]
mov dl, byte [ebp + edx - 0x2b4]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x14]
mov byte [ebp - 0x3c], al
inc bl
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 0x14], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x2b4]
lea eax, [ebp + eax - 0x2b4]
mov byte [edi], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x2b4]
lea edx, [ebp + edx - 0x2b4]
mov byte [eax], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0xc], edx
test esi, esi
lea ebx, [ebp + ebx - 0x2b4]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x1c]
mov byte [ebx], dl
jbe 0x8467d8
mov edx, dword [ebp - 0x1c]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x80]
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
add bl, 4
sub dl, 0x7e
shl bl, 4
or bl, dl
mov edx, dword [ebp - 0x10]
mov dl, byte [ebp + edx - 0x2b4]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x2b4]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x2b4]
mov cl, byte [ebp + edx - 0x2b4]
xor bl, cl
mov cl, byte [ebp + eax - 0x2b4]
xor bl, cl
mov byte [ebp + esi - 0x2e1], bl
mov byte [ebp - 0x2c0], 0
lea edi, [ebp - 0x2e0]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x604]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0x804]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x604]
push ecx
push 0x200
push 1
push edx
call fcn.0083eb10
fld qword [0x89a578]
fld qword [0x89a578]
add esp, 0x10
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8c96e8]
fsub st(1)
fxch st(1)
fmul qword [0x8a9908]
fadd qword [0x8ad310]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8c96e0]
fnstsw ax
test ah, 0x41
jne 0x84686a
fld st(0)
fmul qword [0x8c96d8]
fsubp st(2)
fadd qword [0x8a1480]
fcom qword [0x8c96d0]
fnstsw ax
test ah, 1
jne 0x846831
fxch st(1)
fst qword [ebp - 0x74]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
fnstsw ax
test ah, 1
je 0x8468e6
invalid
mov dword [ebp - 0x64], 0x846893
mov dword [ebp - 0x90], 0x8468c9
xor eax, eax
mov byte [ebp + eax - 0x1b4], al
inc eax
cmp eax, 0x100
jb 0x8468f9
fld qword [ebp - 0x74]
mov byte [ebp - 0x78], 0
xor edi, edi
mov esi, dword [ebp - 0x78]
mov dword [ebp - 8], 0xff
mov eax, dword [ebp - 8]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x24], 0
jbe 0x846936
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x84692e
cmp edi, 3
ja case.default.0x84693b
jmp dword [edi*4 + 0x8476f0]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x1b4]
add cl, al
jmp 0x8469c4
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x1b4]
shr eax, 8
add cl, al
jmp 0x8469c4
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x1b4]
shr eax, 0x10
add cl, al
jmp 0x8469c4
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x1b4]
shr eax, 0x18
add cl, al
jmp 0x8469c4
mov eax, dword [ebp - 0x90]
and esi, 0xff
mov cl, byte [ebp + esi - 0x1b4]
mov dl, byte [eax + edi - 4]
add cl, dl
inc edi
mov byte [ebp - 0x78], cl
cmp edi, 0x1c
jb 0x8469d5
xor edi, edi
add cl, 0x1c
mov byte [ebp - 0x78], cl
mov esi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x24]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x24], eax
jbe 0x8469f5
mov eax, edx
xor edx, edx
div dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, edx
jb 0x846936
je 0x846a34
mov ecx, eax
mov al, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov bl, byte [ebp + ecx - 0x1b4]
lea ecx, [ebp + ecx - 0x1b4]
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 0x84691b
mov dl, byte [ebp - 0x1ad]
mov edi, dword [ebp - 0x64]
and esi, 0xff
mov byte [ebp - 0x38], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x1b1]
mov al, byte [ebp + esi - 0x1b4]
add dl, 5
mov byte [ebp - 0x48], al
mov al, byte [edi + 1]
sub al, 0x72
xor esi, esi
shl dl, 4
or al, dl
mov cl, byte [ebp - 0x1af]
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x48]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x1b4]
lea edi, [ebp + eax - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x1b3]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x1b4]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x38]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x1b4]
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 - 0x1b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x1b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x4c], cl
mov edx, dword [ebp - 0x4c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x1b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x10]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x1b4]
mov edx, dword [ebp - 8]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x1b4]
add edx, edi
mov edi, dword [ebp - 0x64]
and edx, 0xff
xor bl, byte [ebp + edx - 0x1b4]
mov dl, byte [ebp - 0x44]
mov byte [ebp - 0x48], dl
xor bl, dl
mov byte [ebp - 0x38], bl
mov dword [ebp - 0x24], 9
jmp 0x846b85
mov edi, dword [ebp - 0x70]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 5
shl dl, 4
sub bl, 0x72
mov dword [ebp - 0x70], edi
or dl, bl
inc esi
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x48]
and edx, 0xff
lea edi, [ebp + edx - 0x1b4]
mov dl, byte [ebp + edx - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x38]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x1b4]
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 - 0x1b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x1b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x4c], cl
mov edx, dword [ebp - 0x4c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x1b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x1b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x1b4]
mov bl, byte [ebp - 0x44]
mov byte [ebp - 0x48], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x38], dl
jbe 0x846c99
mov byte [ebp + esi - 0xb5], dl
mov edx, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x24], edx
jne 0x846b82
mov edi, dword [ebp - 0x64]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 5
sub dl, 0x72
shl bl, 4
or dl, bl
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x48]
and edx, 0xff
lea edi, [ebp + edx - 0x1b4]
mov dl, byte [ebp + edx - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x38]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x1b4]
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 - 0x1b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x1b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x4c], cl
mov edx, dword [ebp - 0x4c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x1b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x1b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x1b4]
mov bl, byte [ebp - 0x44]
mov byte [ebp - 0x48], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x38], dl
jbe 0x846dc3
mov byte [ebp + esi - 0xb5], dl
mov edi, dword [ebp - 0x64]
inc esi
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
sub ebx, 0x72
shl dl, 4
or dl, bl
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x48]
and edx, 0xff
lea edi, [ebp + edx - 0x1b4]
mov dl, byte [ebp + edx - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x38]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x1b4]
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 - 0x1b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x1b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x4c], cl
mov edx, dword [ebp - 0x4c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x1b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x1b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x1b4]
mov bl, byte [ebp - 0x44]
mov byte [ebp - 0x48], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x38], dl
jbe 0x846ed7
mov byte [ebp + esi - 0xb5], dl
mov edx, dword [ebp - 0x64]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
xor edx, edx
sub ebx, 0x72
mov dl, byte [edi]
sub edx, 0xeb
shl dl, 4
or dl, bl
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x48]
and edx, 0xff
lea edi, [ebp + edx - 0x1b4]
mov dl, byte [ebp + edx - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x38]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x1b4]
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 - 0x1b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x1b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x4c], cl
mov edx, dword [ebp - 0x4c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x1b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x1b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x1b4]
mov bl, byte [ebp - 0x44]
mov byte [ebp - 0x48], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x38], dl
jbe 0x846ff2
mov byte [ebp + esi - 0xb5], dl
lea ebx, [esi + 1]
cmp ebx, 0x18
jge 0x847134
mov edx, dword [ebp - 0x64]
lea edi, [edx + esi*2]
mov edx, 0x18
sub edx, ebx
mov dword [ebp - 0x24], edx
jmp 0x847013
mov edi, dword [ebp - 0x70]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 5
shl dl, 4
sub bl, 0x72
mov dword [ebp - 0x70], edi
or dl, bl
inc esi
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x48]
and edx, 0xff
lea edi, [ebp + edx - 0x1b4]
mov dl, byte [ebp + edx - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x38]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x1b4]
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 - 0x1b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x1b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x4c], cl
mov edx, dword [ebp - 0x4c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x1b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x1b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x1b4]
mov bl, byte [ebp - 0x44]
mov byte [ebp - 0x48], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x38], dl
jbe 0x847127
mov byte [ebp + esi - 0xb5], dl
mov edx, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x24], edx
jne 0x847010
mov edi, dword [ebp - 0x64]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 5
sub dl, 0x72
shl bl, 4
or dl, bl
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x48]
and edx, 0xff
lea edi, [ebp + edx - 0x1b4]
mov dl, byte [ebp + edx - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x38]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x1b4]
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 - 0x1b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x1b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x4c], cl
mov edx, dword [ebp - 0x4c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x1b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x1b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x1b4]
mov bl, byte [ebp - 0x44]
mov byte [ebp - 0x48], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x38], dl
jbe 0x847251
mov byte [ebp + esi - 0xb5], dl
mov edi, dword [ebp - 0x64]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 5
sub dl, 0x72
shl bl, 4
or dl, bl
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x48]
and edx, 0xff
lea edi, [ebp + edx - 0x1b4]
mov dl, byte [ebp + edx - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x38]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x1b4]
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 - 0x1b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x1b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x4c], cl
mov edx, dword [ebp - 0x4c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x1b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x1b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x1b4]
mov bl, byte [ebp - 0x44]
mov byte [ebp - 0x48], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x38], dl
jbe 0x847363
mov byte [ebp + esi - 0xb5], dl
mov edi, dword [ebp - 0x64]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
sub bl, 0x72
shl dl, 4
or dl, bl
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x48]
and edx, 0xff
lea edi, [ebp + edx - 0x1b4]
mov dl, byte [ebp + edx - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x30], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [edi], bl
mov ebx, dword [ebp - 0x38]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x1b4]
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 - 0x1b4]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x1b4]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x4c], cl
mov edx, dword [ebp - 0x4c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x1b4]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x1b4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x1b4]
mov bl, byte [ebp - 0x44]
xor dl, bl
test esi, esi
mov byte [ebp - 0x38], dl
jbe 0x847476
mov byte [ebp + esi - 0xb5], dl
mov edx, dword [ebp - 0x44]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x1b4]
mov dl, byte [ebp + edx - 0x1b4]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x30], al
inc bl
mov eax, dword [ebp - 0x30]
mov byte [ebp - 0x18], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x1b4]
lea eax, [ebp + eax - 0x1b4]
mov byte [edi], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov bl, byte [ebp + edx - 0x1b4]
lea edx, [ebp + edx - 0x1b4]
mov byte [eax], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0xc], edx
test esi, esi
lea ebx, [ebp + ebx - 0x1b4]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
jbe 0x847573
mov edx, dword [ebp - 0x20]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x64]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
add dl, 5
sub bl, 0x72
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x10]
mov dl, byte [ebp + edx - 0x1b4]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x1b4]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x1b4]
mov cl, byte [ebp + edx - 0x1b4]
xor bl, cl
mov cl, byte [ebp + eax - 0x1b4]
xor bl, cl
mov byte [ebp + esi - 0xb5], bl
mov byte [ebp - 0x9a], 0
lea edi, [ebp - 0xb4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
add esi, 0x280
push esi
call fcn.00848368
mov ecx, esi
mov ebx, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov edi, ebx
push ebx
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea edi, [ebp - 0xb4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x804]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x80
lea edi, [ebp - 0x604]
rep stosd dword es:[edi], eax
call fcn.00840ab0
mov edi, eax
mov eax, 4
cmp eax, edx
push ebx
sbb esi, esi
mov dword [ebp - 0x2b8], edx
neg esi
call fcn.00848320
add esp, 0xc
test esi, esi
je 0x8476a9
mov al, byte [edi]
xor esi, esi
xor ecx, ecx
cmp al, 0x4d
jne 0x84766b
cmp byte [edi + 1], 0x5a
jne 0x84766b
mov eax, dword [ebp + 0xc]
mov edx, 0x65
mov ecx, 1
mov word [eax], 0x2e
mov word [eax + 8], si
mov word [eax + 4], 0x78
mov word [eax + 6], dx
mov word [eax + 2], dx
jmp 0x84766e
mov eax, dword [ebp + 0xc]
cmp byte [edi], 0xd0
jne 0x8476a5
cmp byte [edi + 1], 0xcf
jne 0x8476a5
cmp byte [edi + 2], 0x11
jne 0x8476a5
cmp byte [edi + 3], 0xe0
jne 0x8476a5
mov ecx, 1
mov word [eax], 0x2e
mov word [eax + 6], 0x69
mov word [eax + 4], 0x73
mov word [eax + 8], si
mov word [eax + 2], 0x6d
cmp ecx, esi
jne 0x8476bf
mov eax, dword [ebp - 0x8c]
inc eax
cmp eax, 3
mov dword [ebp - 0x8c], eax
jl 0x845006
mov edx, dword [ebp - 0x2b8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret