Function at 0x40e6b0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x474
fld qword [0x88f578]
fld qword [0x88f578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x89dd78]
fsub st(1)
fxch st(1)
fmul qword [0x89dd70]
fadd qword [0x89dd68]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x89dd60]
fnstsw ax
test ah, 0x41
jne 0x40e6fe
fld st(0)
fmul qword [0x89dd58]
fsubp st(2)
fadd qword [0x896538]
fcom qword [0x89dd50]
fnstsw ax
test ah, 1
jne 0x40e6c5
fxch st(1)
fst qword [ebp - 0x68]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
push ebx
push esi
push edi
fnstsw ax
test ah, 1
je 0x40e755
push edi
push ecx
aas
pop ebx
sub al, 0x5f
daa
imul esp, dword [ebx + ebx*2], 0x73202262
push edx
dec edi
aaa
iretd
mov dword [ebp - 0x2c], 0x40e73a
mov dword [ebp - 0x10], 0x40e72a
xor eax, eax
mov byte [ebp + eax - 0x3a8], al
inc eax
cmp eax, 0x100
jb 0x40e765
fld qword [ebp - 0x68]
mov eax, 0xff
mov byte [ebp - 0x44], 0
mov esi, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x3c], eax
jmp 0x40e78d
mov eax, dword [ebp - 0x3c]
mov ebx, 1
mov dword [ebp - 0x34], 0
cmp eax, ebx
jbe 0x40e7a5
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40e79d
cmp edi, 3
ja case.default.0x40e7aa
jmp dword [edi*4 + 0x42d818]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
jmp 0x40e826
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 8
jmp 0x40e826
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 0x10
jmp 0x40e826
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 0x18
jmp 0x40e826
mov eax, dword [ebp - 0x10]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x3a8]
add cl, al
inc edi
cmp edi, 0x14
mov byte [ebp - 0x44], cl
jb 0x40e839
xor edi, edi
add cl, 0x14
mov byte [ebp - 0x44], cl
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x34], eax
jbe 0x40e859
mov eax, edx
xor edx, edx
div dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp edx, eax
ja 0x40e7a5
mov ecx, eax
cmp ecx, edx
je 0x40e8a2
mov al, byte [ebp + edx - 0x3a8]
mov bl, byte [ebp + ecx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
xor bl, al
mov byte [ebp + ecx - 0x3a8], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x3a8]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x3a8], al
dec ecx
mov dword [ebp - 0x3c], ecx
jne 0x40e78a
mov dl, byte [ebp - 0x3a1]
and esi, 0xff
mov byte [ebp - 0x10], dl
mov bl, byte [ebp - 0x3a5]
mov al, byte [ebp + esi - 0x3a8]
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 0x24], al
mov cl, byte [ebp - 0x3a3]
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 4
add dl, 0x3b
shl al, 4
or al, dl
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x24]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3a8]
lea esi, [ebp + eax - 0x3a8]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x3a7]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3a8]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [esi], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [edi]
mov edi, dword [ebp - 0x20]
mov bl, byte [ebp + ebx - 0x3a8]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 0x18]
mov byte [ebp - 0x24], dl
xor bl, dl
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 0x10], bl
lea edi, [edx + 2]
mov dl, byte [edx + 3]
add dl, 0x3b
mov bl, byte [edi]
mov dword [ebp - 0x3c], 3
add bl, 4
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
mov byte [ebp - 0x10], dl
mov byte [ebp - 0x80], dl
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 2]
jmp 0x40eafc
mov edi, dword [ebp - 0x44]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 4
shl dl, 4
add bl, 0x3b
mov dword [ebp - 0x44], edi
or dl, bl
inc esi
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x10], dl
jbe 0x40ec10
mov byte [ebp + esi - 0x81], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x40eaf9
mov edx, dword [ebp - 0x2c]
inc esi
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
add bl, 0x3b
mov dl, byte [edi]
add dl, 4
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x10], dl
jbe 0x40ed3c
mov byte [ebp + esi - 0x81], dl
lea ebx, [esi + 1]
cmp ebx, 0xa
jge 0x40ee7e
mov edx, dword [ebp - 0x2c]
lea edi, [edx + esi*2]
mov edx, 0xa
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x40ed5d
mov edi, dword [ebp - 0x44]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 4
shl dl, 4
add bl, 0x3b
mov dword [ebp - 0x44], edi
or dl, bl
inc esi
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x10], dl
jbe 0x40ee71
mov byte [ebp + esi - 0x81], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x40ed5a
mov edi, dword [ebp - 0x2c]
inc esi
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 4
sub ebx, 0xc5
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x34], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
xor dl, bl
test esi, esi
mov byte [ebp - 0x10], dl
jbe 0x40ef9d
mov byte [ebp + esi - 0x81], dl
mov edi, dword [ebp - 0x2c]
inc esi
xor ebx, ebx
xor edx, edx
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
mov edi, ebx
sub edx, 0xc5
sub edi, 0x2c
shl edi, 4
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x18]
and edi, 0xff
mov bl, byte [ebp + edi - 0x3a8]
lea edi, [ebp + edi - 0x3a8]
mov byte [ebp - 8], bl
mov ebx, dword [ebp - 0x14]
add al, byte [ebx]
mov byte [ebp - 0x34], al
mov al, byte [ebp - 4]
inc al
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x34]
and eax, 0xff
mov bl, byte [ebp + eax - 0x3a8]
lea eax, [ebp + eax - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 0x30], eax
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
and eax, 0xff
test esi, esi
lea eax, [ebp + eax - 0x3a8]
mov dword [ebp - 0x14], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x14]
mov al, byte [ebp - 8]
mov byte [ebx], al
jbe 0x40f0a1
mov eax, dword [ebp - 8]
and eax, 0xff
mov bl, byte [ebp + eax - 0x3a8]
add bl, cl
and ebx, 0xff
mov cl, byte [ebp + ebx - 0x3a8]
mov ebx, dword [ebp - 0xc]
mov bl, byte [ebx]
add ecx, ebx
mov bl, byte [edi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x3a8]
mov ecx, dword [ebp - 0x30]
mov cl, byte [ecx]
add ecx, eax
mov al, byte [ebp + ebx - 0x3a8]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x3a8]
xor al, bl
mov bl, byte [ebp - 0x3c]
or dl, bl
xor al, dl
mov byte [ebp + esi - 0x81], al
mov byte [ebp - 0x76], 0
lea ecx, [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x88f578]
fld qword [0x88f578]
mov dword [ebp - 0x19c], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x89dd48]
fsub st(1)
fxch st(1)
fmul qword [0x89dd40]
fadd qword [0x89dd38]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x89dd30]
fnstsw ax
test ah, 0x41
jne 0x40f0fa
fld st(0)
fmul qword [0x89dd28]
fsubp st(2)
fadd qword [0x896538]
fcom qword [0x89dd20]
fnstsw ax
test ah, 1
jne 0x40f0c1
fxch st(1)
fst qword [ebp - 0x68]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x40f160
dec ebx
pushal
sub al, 0x32
push 0x747d305d
aas
aaa
jl 0x40f18e
aaa
pop ecx
arpl word [edi + 0x25], bp
push 0x73
push esp
jae 0x40f18d
dec eax
inc ecx
aaa
jle 0x40f17a
cmp al, 0x33
dec edi
xor ebp, dword [esi]
dec edi
pop ecx
and cl, 0x82
out 0x7b, al
fiadd dword [ecx - 0x7e198c21]
fidiv dword [ebp - 0x1f]
je 0x40f137
jp 0x40f131
jp 0x40f137
jl 0x40f13d
sbb bl, 0xe9
pop edi
or eax, dword [eax]
add bh, al
inc ebp
mov esp, 0x40f143
mov dword [ebp - 0x44], 0x40f143
mov dword [ebp - 0x10], 0x40f123
xor eax, eax
mov byte [ebp + eax - 0x3a8], al
inc eax
cmp eax, 0x100
jb 0x40f170
add dword [eax], eax
add byte [edx - 0xf], dh
fld qword [ebp - 0x68]
mov byte [ebp - 0x34], 0
mov esi, dword [ebp - 0x34]
xor edi, edi
mov dword [ebp - 0x2c], 0xff
aam 0xff
add byte [eax], al
add byte [ebx + 0x1bbd445], cl
add byte [eax], al
add byte [ebx], bh
ret
inc dword [eax]
add byte [eax], al
mov eax, dword [ebp - 0x2c]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x3c], 0
jbe 0x40f1ad
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40f1a5
cmp edi, 3
ja case.default.0x40f1b2
jmp dword [edi*4 + 0x42d828]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
jmp 0x40f22e
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 8
jmp 0x40f22e
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 0x10
jmp 0x40f22e
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 0x18
jmp 0x40f22e
mov edx, dword [ebp - 0x10]
and esi, 0xff
mov cl, byte [edx + edi - 4]
mov al, byte [ebp + esi - 0x3a8]
add cl, al
inc edi
cmp edi, 0x24
mov byte [ebp - 0x34], cl
jb 0x40f241
xor edi, edi
add cl, 0x24
mov byte [ebp - 0x34], cl
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x3c], eax
jbe 0x40f261
mov eax, edx
xor edx, edx
div dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, edx
jb 0x40f1ad
je 0x40f299
mov bl, byte [ebp + eax - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
lea ecx, [ebp + eax - 0x3a8]
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 - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
jne 0x40f192
mov dl, byte [ebp - 0x3a1]
and esi, 0xff
mov byte [ebp - 0x24], dl
mov bl, byte [ebp - 0x3a5]
mov al, byte [ebp + esi - 0x3a8]
mov esi, dword [ebp - 0x44]
mov byte [ebp - 0x10], al
mov cl, byte [ebp - 0x3a3]
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 0xd
add dl, 0x27
shl al, 4
or al, dl
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x10]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3a8]
lea esi, [ebp + eax - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x3a7]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3a8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [esi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [edi]
mov edi, dword [ebp - 0x18]
mov bl, byte [ebp + ebx - 0x3a8]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 0x34]
mov byte [ebp - 0x10], dl
xor bl, dl
mov edx, dword [ebp - 0x44]
mov byte [ebp - 0x24], bl
lea edi, [edx + 2]
mov dl, byte [edx + 3]
add dl, 0x27
mov bl, byte [edi]
mov dword [ebp - 0x3c], 2
add bl, 0xd
shl bl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x98], dl
mov edx, dword [ebp - 0x44]
lea edi, [edx + 2]
jmp 0x40f4f9
mov edi, dword [ebp - 0x2c]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 0xd
shl dl, 4
add bl, 0x27
mov dword [ebp - 0x2c], edi
or dl, bl
inc esi
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x40f60d
mov byte [ebp + esi - 0x99], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x40f4f6
mov edx, dword [ebp - 0x44]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
add bl, 0xd
mov dl, byte [edi + 1]
add dl, 0x27
shl bl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x40f739
mov byte [ebp + esi - 0x99], dl
lea ebx, [esi + 1]
cmp ebx, 9
jge 0x40f87b
mov edx, dword [ebp - 0x44]
lea edi, [edx + esi*2]
mov edx, 9
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x40f75a
mov edi, dword [ebp - 0x2c]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xd
add dl, 0x27
mov dword [ebp - 0x2c], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x40f86e
mov byte [ebp + esi - 0x99], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x40f757
mov edi, dword [ebp - 0x44]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xd
add dl, 0x27
shl bl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x40f998
mov byte [ebp + esi - 0x99], dl
mov edi, dword [ebp - 0x44]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 0xd
add bl, 0x27
shl dl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x40faaa
mov byte [ebp + esi - 0x99], dl
mov edi, dword [ebp - 0x44]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 0xd
add bl, 0x27
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov byte [ebp - 0x34], bl
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x40fbbb
mov byte [ebp + esi - 0x99], dl
mov edx, dword [ebp - 0x34]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 8]
mov byte [ebp - 0x14], al
inc bl
mov eax, dword [ebp - 0x14]
mov byte [ebp - 8], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x3a8]
lea eax, [ebp + eax - 0x3a8]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [eax], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 4], edx
test esi, esi
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
jbe 0x40fcb8
mov edx, dword [ebp - 0xc]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x44]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 3
add bl, 0x27
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x18]
mov dl, byte [ebp + edx - 0x3a8]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 4]
mov dl, byte [edx]
add ecx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 0x18]
add ecx, edx
and ecx, 0xff
xor edx, edx
add eax, edi
mov dl, byte [ebp + ecx - 0x3a8]
and eax, 0xff
mov cl, byte [ebp + edx - 0x3a8]
xor bl, cl
mov cl, byte [ebp + eax - 0x3a8]
xor bl, cl
mov byte [ebp + esi - 0x99], bl
mov byte [ebp - 0x8d], 0
mov edx, dword [ebp - 0x19c]
lea ecx, [ebp - 0x98]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x88f578]
fld qword [0x88f578]
mov dword [0x8d38cc], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x89dd18]
fsub st(1)
fxch st(1)
fmul qword [0x896650]
fadd qword [0x896580]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x89dd10]
fnstsw ax
test ah, 0x41
jne 0x40fd1d
fld st(0)
fmul qword [0x89dd08]
fsubp st(2)
fadd qword [0x896500]
fcom qword [0x89dd00]
fnstsw ax
test ah, 1
jne 0x40fce4
fxch st(1)
fst qword [ebp - 0x68]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x40fd8f
mov dl, byte [edi - 0x5f6d666e]
mov dword [ecx - 0x636b6875], esp
mov byte [ebp - 0x6c6d5e6e], dl
mov byte [ebp - 0x6471626e], bl
xchg ecx, eax
mov al, byte [0x98879f8f]
xchg ebx, eax
cwde
mov ebx, dword [edi - 0x6c7a6b71]
jne 0x40fdb8
push ebx
pop ecx
pushal
insb byte es:[edi], dx
and eax, 0x7c435932
jo 0x40fde0
push esp
bound ebp, qword [ecx + 0x5c]
outsb dx, byte [esi]
aaa
cmp byte [si + 0x55], ah
pop ebp
dec ebp
dec edx
xor eax, 0xb68e94e
add byte [eax], al
mov dword [ebp - 0x2c], 0x40fd46
mov dword [ebp - 0x10], 0x40fd6c
xor eax, eax
mov byte [ebp + eax - 0x3a8], al
inc eax
cmp eax, 0x100
jb 0x40fd9f
fld qword [ebp - 0x68]
mov byte [ebp - 0x44], 0
mov esi, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x34], 0xff
mov eax, dword [ebp - 0x34]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x3c], 0
jbe 0x40fddc
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40fdd4
cmp edi, 3
ja case.default.0x40fde1
jo switch.0x0040fde1
jmp dword [edi*4 + 0x42d838]
and al, 0xbd
cmp al, bl
inc edx
add cl, bl
fld st(0)
and esi, 0xff
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
add cl, al
jmp 0x40fe67
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 8
add cl, al
jmp 0x40fe67
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 0x10
add cl, al
jmp 0x40fe67
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 0x18
add cl, al
jmp 0x40fe67
mov eax, dword [ebp - 0x10]
and esi, 0xff
mov cl, byte [ebp + esi - 0x3a8]
mov dl, byte [eax + edi - 4]
add cl, dl
inc edi
mov byte [ebp - 0x44], cl
cmp edi, 0x22
jb 0x40fe78
xor edi, edi
add cl, 0x22
mov byte [ebp - 0x44], cl
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x3c], eax
jbe 0x40fe98
mov eax, edx
xor edx, edx
div dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, edx
jb 0x40fddc
je 0x40fed3
mov ecx, dword [ebp - 0x34]
lea eax, [ebp + edx - 0x3a8]
mov bl, byte [ebp + ecx - 0x3a8]
lea edx, [ebp + ecx - 0x3a8]
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 - 0x34]
dec eax
mov dword [ebp - 0x34], eax
jne 0x40fdc1
mov edi, dword [ebp - 0x2c]
mov dl, byte [ebp - 0x3a1]
and esi, 0xff
mov byte [ebp - 0x24], dl
mov dl, byte [edi + 1]
mov bl, byte [ebp - 0x3a5]
mov al, byte [ebp + esi - 0x3a8]
add dl, 0x6e
mov byte [ebp - 0x10], al
mov al, byte [edi]
add al, 0xb
mov cl, byte [ebp - 0x3a3]
shl al, 4
or al, dl
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x10]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3a8]
lea esi, [ebp + eax - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x3a7]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3a8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x18]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3a8]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 0x34]
mov byte [ebp - 0x10], dl
xor bl, dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x24], bl
add dl, 0x6e
mov bl, byte [edi + 2]
add edi, 4
add bl, 0xb
shl bl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea esi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + esi - 0x3a8]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
mov byte [ebp - 0x2a8], dl
mov bl, byte [edi]
mov byte [ebp - 0x24], dl
mov dl, byte [edi + 1]
add bl, 0xb
add dl, 0x6e
shl bl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [edi]
mov dword [ebp - 0x3c], 6
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x2a7], dl
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 4]
jmp 0x410237
mov edi, dword [ebp - 0x44]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xb
add dl, 0x6e
mov dword [ebp - 0x44], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x41034b
mov byte [ebp + esi - 0x2a9], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x410234
mov edx, dword [ebp - 0x2c]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
sub ebx, 0x92
mov dl, byte [edi]
add dl, 0xb
shl dl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x41047c
mov byte [ebp + esi - 0x2a9], dl
lea ebx, [esi + 1]
cmp ebx, 0x11
jge 0x4105c7
mov edx, dword [ebp - 0x2c]
lea edi, [edx + esi*2]
mov edx, 0x11
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x41049d
mov edi, dword [ebp - 0x44]
add edi, 2
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x44], edi
mov dl, byte [edi]
mov bl, byte [edi + 1]
sub edx, 0x85
sub ebx, 0x92
shl edx, 4
or dl, bl
inc esi
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x4105ba
mov byte [ebp + esi - 0x2a9], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x41049a
mov edi, dword [ebp - 0x2c]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xb
add dl, 0x6e
shl bl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x4106e4
mov byte [ebp + esi - 0x2a9], dl
mov edi, dword [ebp - 0x2c]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xb
add dl, 0x6e
shl bl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x14], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x30], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 4], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 0x20], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 4]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x30]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x4107f3
mov byte [ebp + esi - 0x2a9], dl
mov edx, dword [ebp - 0x34]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x20]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 8]
mov byte [ebp - 0x14], al
inc bl
mov eax, dword [ebp - 0x14]
mov byte [ebp - 8], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x3a8]
lea eax, [ebp + eax - 0x3a8]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [eax], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 4], edx
test esi, esi
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x20]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
jbe 0x4108f0
mov edx, dword [ebp - 0xc]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 5
add bl, 0x6e
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x18]
mov dl, byte [ebp + edx - 0x3a8]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x3a8]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 4]
mov edi, dword [ebp - 0x18]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x3a8]
mov cl, byte [ebp + edx - 0x3a8]
xor bl, cl
mov cl, byte [ebp + eax - 0x3a8]
xor bl, cl
mov byte [ebp + esi - 0x2a9], bl
mov byte [ebp - 0x296], 0
mov edx, dword [ebp - 0x19c]
lea ecx, [ebp - 0x2a8]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x88f578]
fld qword [0x88f578]
mov dword [0x8d390c], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x89dcf8]
fsub st(1)
fxch st(1)
fmul qword [0x89dcf0]
fadd qword [0x89dce8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x89dce0]
fnstsw ax
test ah, 0x41
jne 0x410955
fld st(0)
fmul qword [0x89dcd8]
fsubp st(2)
fadd qword [0x896438]
fcom qword [0x89dcd0]
fnstsw ax
test ah, 1
jne 0x41091c
fxch st(1)
fst qword [ebp - 0x68]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x4109ad
pop ebp
inc ebx
push ebp
sub ah, byte [eax + esi]
dec ebx
jp 0x4109fb
and al, 0x4d
jnp 0x4109e1
das
imul esp, dword [eax], 0x2f2a2727
sbb al, 0x2e
daa
sub byte [eax], ah
daa
sub byte [edi], ch
sub dword [esi], esp
sub dword [esi], esp
sub eax, 0x2127221d
and ch, byte [edi]
and cl, ch
mov edi, 0xc700000c
inc ebp
int3
mov dword [ebp - 0x34], 0x41098e
mov dword [ebp - 0x10], 0x41097e
xor eax, eax
mov byte [ebp + eax - 0x3a8], al
inc eax
cmp eax, 0x100
jb 0x4109bd
fld qword [ebp - 0x68]
mov byte [ebp - 0x44], 0
mov esi, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x2c], 0xff
mov eax, dword [ebp - 0x2c]
mov ebx, 1
aam 0xbb
add dword [eax], eax
add byte [eax], al
cmp eax, ebx
mov dword [ebp - 0x3c], 0
jbe 0x4109fa
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x4109f2
cmp edi, 3
inc dword [ebx]
ja case.default.0x4109ff
jmp dword [edi*4 + 0x42d848]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
jmp 0x410a6c
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 8
and esi, 0xff
jmp 0x410a65
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 0x10
and esi, 0xff
jmp 0x410a65
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
jmp 0x410a65
mov eax, dword [ebp - 0x10]
and esi, 0xff
mov cl, byte [edi + eax - 4]
mov al, byte [ebp + esi - 0x3a8]
add cl, al
inc edi
cmp edi, 0x14
mov byte [ebp - 0x44], cl
jb 0x410a7f
xor edi, edi
add cl, 0x14
mov byte [ebp - 0x44], cl
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x3c], eax
jbe 0x410a9f
mov eax, edx
xor edx, edx
div dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, edx
jb 0x4109fa
je 0x410ade
mov ecx, eax
mov al, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov bl, byte [ebp + ecx - 0x3a8]
lea ecx, [ebp + ecx - 0x3a8]
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 - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
jne 0x4109df
mov dl, byte [ebp - 0x3a1]
mov edi, dword [ebp - 0x34]
and esi, 0xff
mov byte [ebp - 0x28], dl
xor edx, edx
mov bl, byte [ebp - 0x3a5]
mov al, byte [ebp + esi - 0x3a8]
mov dl, byte [edi + 1]
mov byte [ebp - 0x14], al
xor eax, eax
mov al, byte [edi]
sub edx, 0x1b
shl al, 4
or al, dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov byte [ebp - 0x18], al
xor esi, esi
mov cl, byte [ebp - 0x3a3]
mov al, byte [ebp + edx - 0x3a8]
lea edi, [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x3a7]
mov byte [ebp - 0x30], al
mov eax, edx
and eax, 0xff
fstp st(0)
mov al, byte [ebp + eax - 0x3a8]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x19c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x19c]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
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 - 0x3a8]
mov edx, dword [ebp - 0x10]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3a8]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 0x18]
mov byte [ebp - 0x14], dl
xor bl, dl
mov byte [ebp - 0x28], bl
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x3c], 2
jmp 0x410c38
mov edi, dword [ebp - 0x2c]
add edi, 2
xor edx, edx
mov dword [ebp - 0x2c], edi
inc esi
mov dl, byte [edi + 1]
mov dword [ebp - 0x44], edx
xor edx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 0x44]
sub edx, 0x20
lea ebx, [edi - 0x1b]
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x19c]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x19c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x19c]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x14], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x410d5e
mov byte [ebp + esi - 0xd9], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x410c35
mov edi, dword [ebp - 0x34]
inc esi
mov dl, byte [edi + esi*2 + 1]
mov bl, byte [edi + esi*2]
sub dl, 0x1b
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 0x19c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 0x19c]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x19c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x19c]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x14], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x410e91
mov byte [ebp + esi - 0xd9], dl
mov edi, dword [ebp - 0x34]
inc esi
mov dl, byte [edi + esi*2 + 1]
mov bl, byte [edi + esi*2]
sub dl, 0x1b
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x19c]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x19c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x19c]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x14], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x410fa9
mov byte [ebp + esi - 0xd9], dl
mov edx, dword [ebp - 0x34]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
shl bl, 4
mov dl, byte [edi + 1]
sub dl, 0x1b
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x19c]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x19c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x19c]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x14], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x4110c3
mov byte [ebp + esi - 0xd9], dl
lea ebx, [esi + 1]
cmp ebx, 0xa
jge 0x41120b
mov edx, dword [ebp - 0x34]
lea edi, [edx + esi*2]
mov edx, 0xa
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x4110e4
mov edi, dword [ebp - 0x2c]
mov dl, byte [edi + 3]
mov bl, byte [edi + 2]
add edi, 2
sub dl, 0x1b
shl bl, 4
or dl, bl
mov dword [ebp - 0x2c], edi
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
inc esi
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x19c]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x19c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x19c]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x14], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x4111fe
mov byte [ebp + esi - 0xd9], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x4110e1
mov edi, dword [ebp - 0x34]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub bl, 0x1b
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov byte [ebp - 0x18], bl
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 0x19c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 0x19c]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x19c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x19c]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x14], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x411333
mov byte [ebp + esi - 0xd9], dl
mov edi, dword [ebp - 0x34]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub bl, 0x1b
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov byte [ebp - 0x18], bl
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x19c]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x19c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x19c]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x14], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x41144d
mov byte [ebp + esi - 0xd9], dl
mov edi, dword [ebp - 0x34]
inc esi
mov dl, byte [edi + esi*2 + 1]
mov bl, byte [edi + esi*2]
sub dl, 0x1b
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x19c]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x19c], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x19c]
mov ebx, dword [ebp - 0xc]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov ebx, dword [ebp - 0xc]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x18]
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x411562
mov byte [ebp + esi - 0xd9], dl
mov edx, dword [ebp - 0x18]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x19c]
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x20]
and eax, 0xff
inc bl
mov byte [ebp - 0x19c], bl
mov dl, byte [ebp + eax - 0x3a8]
lea eax, [ebp + eax - 0x3a8]
mov byte [edi], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [eax], bl
mov ebx, dword [ebp - 0x19c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
test esi, esi
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x30]
mov byte [ebx], dl
jbe 0x411665
mov edx, dword [ebp - 0x30]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x34]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub bl, 0x1b
shl dl, 4
or bl, dl
mov edx, dword [ebp - 4]
mov dl, byte [ebp + edx - 0x3a8]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx]
add ecx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 4]
add ecx, edx
and ecx, 0xff
xor edx, edx
add eax, edi
mov dl, byte [ebp + ecx - 0x3a8]
and eax, 0xff
mov cl, byte [ebp + edx - 0x3a8]
xor bl, cl
mov cl, byte [ebp + eax - 0x3a8]
xor bl, cl
mov byte [ebp + esi - 0xd9], bl
mov byte [ebp - 0xcc], 0
lea ecx, [ebp - 0xd8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x88f578]
fld qword [0x88f578]
mov dword [ebp - 0x19c], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x89dcc8]
fsub st(1)
fxch st(1)
fmul qword [0x89dcc0]
fadd qword [0x89dcb8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x89dcb0]
fnstsw ax
test ah, 0x41
jne 0x4116c4
fld st(0)
fmul qword [0x89dca8]
fsubp st(2)
fadd qword [0x896538]
fcom qword [0x89dca0]
fnstsw ax
test ah, 1
jne 0x41168b
fxch st(1)
fst qword [ebp - 0x68]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x411727
push esp
sub bl, byte [ecx + esi + 0x5c]
cmp dword [eax + 0x35], ebx
popal
pop edi
xor ebx, dword [ecx + 0x2c]
arpl word [0x2c5e2a55], bp
pop edx
xor dword [esi + 0x2d], edx
push ebp
xor dword [ebp + 0x2f], edx
pop edi
xor dword [eax + 0x69], ebp
jl 0x411757
je 0x411768
dec edi
cmp ecx, dword [ebx + 0x76]
dec edi
dec ebp
push esi
dec esp
jl 0x411760
jne 0x411783
sub word [eax], sp
jp 0x411753
jmp 0x411e43
mov dword [ebp - 0x3c], 0x4116ed
mov dword [ebp - 0x34], 0x41170b
xor eax, eax
mov byte [ebp + eax - 0x3a8], al
inc eax
cmp eax, 0x100
jb 0x411737
fld qword [ebp - 0x68]
mov byte [ebp - 0x44], 0
mov esi, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x18], 0xff
inc ebp
call 0x411858
add byte [eax], al
mov eax, dword [ebp - 0x18]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x2c], 0
add byte [ebx], bh
ret
add byte [eax], al
jbe 0x411774
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x41176c
cmp edi, 3
ja case.default.0x411779
jmp dword [edi*4 + 0x42d858]
fld st(0)
and esi, 0xff
call fcn.0083dce4
out 0xff, al
add byte [eax], al
add al, ch
push edi
lds eax, [edx]
mov cl, byte [ebp + esi - 0x3a8]
jmp 0x4117f5
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 8
jmp 0x4117f5
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 0x10
jmp 0x4117f5
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
shr eax, 0x18
jmp 0x4117f5
mov edx, dword [ebp - 0x34]
and esi, 0xff
mov cl, byte [ebp + esi - 0x3a8]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x1b
mov byte [ebp - 0x44], cl
jb 0x411808
xor edi, edi
add cl, 0x1b
mov byte [ebp - 0x44], cl
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x2c], eax
jbe 0x411828
mov eax, edx
xor edx, edx
div dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, edx
jb 0x411774
je 0x411863
mov ecx, dword [ebp - 0x18]
lea eax, [ebp + edx - 0x3a8]
mov bl, byte [ebp + ecx - 0x3a8]
lea edx, [ebp + ecx - 0x3a8]
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 - 0x18]
dec eax
mov dword [ebp - 0x18], eax
jne 0x411759
mov dl, byte [ebp - 0x3a1]
and esi, 0xff
mov byte [ebp - 0x24], dl
mov bl, byte [ebp - 0x3a5]
mov al, byte [ebp + esi - 0x3a8]
mov esi, dword [ebp - 0x3c]
mov byte [ebp - 0x28], al
mov cl, byte [ebp - 0x3a3]
mov dl, byte [esi]
mov al, byte [esi + 1]
add dl, 0xc
sub al, 0x2a
shl dl, 4
or al, dl
mov byte [ebp - 0x19], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3a8]
lea edi, [ebp + eax - 0x3a8]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x3a7]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3a8]
add al, bl
inc dl
mov byte [ebp - 0x44], al
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x44]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
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 - 0x3a8]
mov edx, dword [ebp - 0xc]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3a8]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 0x19]
mov byte [ebp - 0x28], dl
xor bl, dl
mov dl, byte [esi + 2]
mov byte [ebp - 0x24], bl
add dl, 0xc
mov bl, byte [esi + 3]
add esi, 4
shl dl, 4
sub bl, 0x2a
mov dword [ebp - 0x18], 2
or dl, bl
mov byte [ebp - 0x19], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x34]
add al, bl
inc dl
mov byte [ebp - 0x44], al
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x44]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x19]
mov byte [ebp - 0x28], bl
xor dl, bl
mov byte [ebp - 0x1dc], dl
mov bl, byte [esi]
mov byte [ebp - 0x24], dl
mov dl, byte [esi + 1]
add bl, 0xc
sub dl, 0x2a
shl bl, 4
or dl, bl
mov byte [ebp - 0x19], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [edi]
mov dword [ebp - 0x2c], 6
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x44], al
mov edx, dword [ebp - 0x44]
and edx, 0xff
inc bl
mov byte [ebp - 0x34], bl
lea esi, [ebp + edx - 0x3a8]
mov dword [ebp - 0xc], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [esi], bl
mov esi, dword [ebp - 0x34]
and esi, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + esi - 0x3a8]
lea esi, [ebp + esi - 0x3a8]
mov byte [edx], bl
mov dl, byte [ebp - 0x10]
mov byte [esi], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
mov edi, dword [ebp - 0x18]
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x19]
mov byte [ebp - 0x28], bl
xor dl, bl
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x1db], dl
mov edx, dword [ebp - 0x3c]
lea ebx, [edx + 4]
jmp 0x411bc8
mov ebx, dword [ebp - 4]
mov dl, byte [ebx + 3]
add ebx, 2
mov dword [ebp - 4], ebx
sub dl, 0x2a
mov bl, byte [ebx]
inc edi
add bl, 0xc
mov dword [ebp - 0x18], edi
shl bl, 4
or dl, bl
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x19], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x10], dl
mov dl, byte [esi]
add al, dl
inc bl
mov byte [ebp - 0x44], al
mov edx, dword [ebp - 0x44]
and edx, 0xff
mov byte [ebp - 0x34], bl
lea esi, [ebp + edx - 0x3a8]
mov dword [ebp - 0xc], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [esi], bl
mov esi, dword [ebp - 0x34]
and esi, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + esi - 0x3a8]
lea esi, [ebp + esi - 0x3a8]
mov byte [edx], bl
mov dl, byte [ebp - 0x10]
mov byte [esi], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
mov edi, dword [ebp - 0x18]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x19]
mov byte [ebp - 0x28], bl
xor dl, bl
test edi, edi
mov byte [ebp - 0x24], dl
jbe 0x411cda
mov byte [ebp + edi - 0x1dd], dl
mov edx, dword [ebp - 0x2c]
dec edx
mov dword [ebp - 0x2c], edx
jne 0x411bc5
lea ebx, [edi + 1]
cmp ebx, 0x10
jge 0x411e3c
mov edx, dword [ebp - 0x34]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x3c]
lea esi, [edx + edi*2]
mov edx, 0x10
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x411d1b
mov esi, dword [ebp - 0x2c]
mov bl, byte [esi + 2]
mov dl, byte [esi + 3]
add esi, 2
add bl, 0xc
sub dl, 0x2a
mov dword [ebp - 0x2c], esi
shl bl, 4
or dl, bl
inc edi
mov byte [ebp - 0x19], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea esi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0x34]
add al, bl
inc dl
mov byte [ebp - 0x44], al
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x44]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x20], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x14]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0xc]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x20]
add ebx, edx
mov dl, byte [ebp + esi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x19]
mov byte [ebp - 0x28], bl
xor dl, bl
test edi, edi
mov byte [ebp - 0x24], dl
jbe 0x411e2f
mov byte [ebp + edi - 0x1dd], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x411d18
mov byte [ebp - 0x1ce], 0
mov ecx, dword [ebp - 0x19c]
lea eax, [ebp - 0x1dc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x88f578]
fld qword [0x88f578]
mov dword [0x8d3944], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x89dc98]
fsub st(1)
fxch st(1)
fmul qword [0x89dc90]
fadd qword [0x89dc88]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x89dc80]
fnstsw ax
test ah, 0x41
jne 0x411ea1
fld st(0)
fmul qword [0x89dc78]
fsubp st(2)
fadd qword [0x896538]
fcom qword [0x89dc70]
fnstsw ax
test ah, 1
jne 0x411e68
fxch st(1)
fst qword [ebp - 0x68]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x411f05
and dword [edx + 0x5f], esp
pop ebx
push esi
imul edx, dword [ebp + 0x25], 0x3a707870
sub eax, 0x706d7a7d
outsb dx, byte [esi]
sub dword [edi], edi
jo 0x411f00
pop ebp
cmp ebp, dword [ecx]
cmp al, 0xb9
cmp ch, byte [edi - 0x45c04ebe]
inc ecx
mov ah, 0x3b
mov cl, 0x39
mov al, 0x37
mov ah, 0x40
mov al, 0x44
mov ah, 0x40
mov al, 0x44
mov cl, 0x43
mov dh, 0x45
mov dh, 0xe9
dec edi
or eax, dword [eax]
add bh, al
inc ebp
aam 0xe4
push ds
inc ecx
add bh, al
inc ebp
invalid
jmp 0x412a54
mov dword [ebp - 0x2c], 0x411ee4
mov dword [ebp - 0x10], 0x411eca
xor eax, eax
mov byte [ebp + eax - 0x3a8], al
inc eax
cmp eax, 0x100
jb 0x411f15
fld qword [ebp - 0x68]
mov byte [ebp - 0x44], 0
mov esi, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x34], 0xff
mov eax, dword [ebp - 0x34]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x3c], 0
jbe 0x411f52
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x411f4a
cmp edi, 3
ja case.default.0x411f57
jmp dword [edi*4 + 0x42d868]
fld st(0)
and esi, 0xff
call fcn.0083dce4
mov cl, byte [ebp + esi - 0x3a8]
jmp 0x411fc4
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 8
and esi, 0xff
jmp 0x411fbd
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 0x10
and esi, 0xff
jmp 0x411fbd
fld st(0)
call fcn.0083dce4
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
jmp 0x411fbd
mov edx, dword [ebp - 0x10]
and esi, 0xff
mov cl, byte [edi + edx - 4]
mov al, byte [ebp + esi - 0x3a8]
add cl, al
inc edi
cmp edi, 0x1e
mov byte [ebp - 0x44], cl
jb 0x411fd7
xor edi, edi
add cl, 0x1e
mov byte [ebp - 0x44], cl
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x3c], eax
jbe 0x411ff7
mov eax, edx
xor edx, edx
div dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, edx
jb 0x411f52
je 0x412032
mov ecx, dword [ebp - 0x34]
lea eax, [ebp + edx - 0x3a8]
mov bl, byte [ebp + ecx - 0x3a8]
lea edx, [ebp + ecx - 0x3a8]
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 - 0x34]
dec eax
mov dword [ebp - 0x34], eax
jne 0x411f37
mov edi, dword [ebp - 0x2c]
mov dl, byte [ebp - 0x3a1]
and esi, 0xff
mov byte [ebp - 0x14], dl
mov dl, byte [edi + 1]
mov bl, byte [ebp - 0x3a5]
mov al, byte [ebp + esi - 0x3a8]
add dl, 0x51
mov byte [ebp - 0x24], al
xor eax, eax
mov al, byte [edi]
mov cl, byte [ebp - 0x3a3]
add al, 0xa
shl al, 4
or al, dl
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x24]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3a8]
lea esi, [ebp + eax - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x3a7]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3a8]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x3a8]
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 - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x30]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x18]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3a8]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 0x34]
mov byte [ebp - 0x24], dl
xor bl, dl
mov dl, byte [edi + 2]
mov byte [ebp - 0x14], bl
mov bl, byte [edi + 3]
add dl, 0xa
shl dl, 4
add bl, 0x51
add edi, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea esi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x3a8]
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 - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x18]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + esi - 0x3a8]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x24], bl
xor dl, bl
mov byte [ebp - 0x168], dl
mov bl, byte [edi]
mov byte [ebp - 0x14], dl
mov dl, byte [edi + 1]
add bl, 0xa
add dl, 0x51
shl bl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dword [ebp - 0x3c], 3
mov dl, byte [edi]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x3a8]
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 - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x24], bl
xor dl, bl
mov byte [ebp - 0x14], dl
mov byte [ebp - 0x167], dl
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 4]
jmp 0x412398
mov edi, dword [ebp - 0x44]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xa
add dl, 0x51
mov dword [ebp - 0x44], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x3a8]
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 - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x4124ac
mov byte [ebp + esi - 0x169], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x412395
mov edi, dword [ebp - 0x2c]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 0xa
add bl, 0x51
shl dl, 4
or dl, bl
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x3a8]
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 - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x4125d6
mov byte [ebp + esi - 0x169], dl
mov edi, dword [ebp - 0x2c]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
lea edi, [edi + esi*2]
add dl, 0xa
add bl, 0x51
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp - 0x34], bl
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x3a8]
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 - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x4126ed
mov byte [ebp + esi - 0x169], dl
lea ebx, [esi + 1]
cmp ebx, 0xd
jge 0x412832
mov edx, dword [ebp - 0x2c]
lea edi, [edx + esi*2]
mov edx, 0xd
sub edx, ebx
mov dword [ebp - 0x44], edx
jmp 0x41270e
mov edi, dword [ebp - 0x3c]
add edi, 2
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x3c], edi
mov dl, byte [edi]
mov bl, byte [edi + 1]
add dl, 0xa
add bl, 0x51
shl dl, 4
or dl, bl
inc esi
mov byte [ebp - 0x34], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x3a8]
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 - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
mov byte [ebp - 0x24], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x412825
mov byte [ebp + esi - 0x169], dl
mov edx, dword [ebp - 0x44]
dec edx
mov dword [ebp - 0x44], edx
jne 0x41270b
mov edi, dword [ebp - 0x2c]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0x36
add bl, 0x51
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp - 0x34], bl
lea edi, [ebp + edx - 0x3a8]
mov dl, byte [ebp + edx - 0x3a8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
lea edx, [ebp + edx - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x3a8]
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 - 0x3a8]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3a8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3a8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3a8]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3a8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3a8]
mov bl, byte [ebp - 0x34]
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x41294e
mov byte [ebp + esi - 0x169], dl
mov edi, dword [ebp - 0x2c]
inc esi
xor ebx, ebx
xor edx, edx
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
mov edi, ebx
sub edi, 0x36
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x34]
and edi, 0xff
mov bl, byte [ebp + edi - 0x3a8]
lea edi, [ebp + edi - 0x3a8]
mov byte [ebp - 0xc], bl
mov ebx, dword [ebp - 4]
add al, byte [ebx]
mov byte [ebp - 0x10], al
mov al, byte [ebp - 8]
inc al
mov byte [ebp - 8], al
mov eax, dword [ebp - 0x10]
and eax, 0xff
mov bl, byte [ebp + eax - 0x3a8]
lea eax, [ebp + eax - 0x3a8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], eax
lea ebx, [ebp + ebx - 0x3a8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and eax, 0xff
test esi, esi
lea eax, [ebp + eax - 0x3a8]
mov dword [ebp - 4], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 4]
mov al, byte [ebp - 0xc]
mov byte [ebx], al
jbe 0x412a4d
mov eax, dword [ebp - 0xc]
mov bl, byte [ebp - 0x3c]
and eax, 0xff
add dl, 0x51
shl bl, 4
or dl, bl
mov bl, byte [ebp + eax - 0x3a8]
add bl, cl
and ebx, 0xff
mov cl, byte [ebp + ebx - 0x3a8]
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
add ecx, ebx
mov bl, byte [edi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x3a8]
mov cl, byte [ebp + ebx - 0x3a8]
xor dl, cl
mov ecx, dword [ebp - 0x18]
mov cl, byte [ecx]
add ecx, eax
and ecx, 0xff
xor dl, byte [ebp + ecx - 0x3a8]
mov byte [ebp + esi - 0x169], dl
mov byte [ebp - 0x15b], 0
mov eax, dword [ebp - 0x19c]
lea edx, [ebp - 0x168]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x88f578]
fld qword [0x88f578]
mov dword [0x8d38c8], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x89dc68]
fsub st(1)
fxch st(1)
fmul qword [0x89dc60]
fadd qword [0x89dc58]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x89dc50]
fnstsw ax
test ah, 0x41
jne 0x412ab2
fld st(0)
fmul qword [0x89dc48]
fsubp st(2)
fadd qword [0x896538]
fcom qword [0x89dc40]
fnstsw ax
test ah, 1
jne 0x412a79
fxch st(1)
fst qword [ebp - 0x68]
fxch st(1)
fstp st(0)
fcomp qword [0x88f578]
fnstsw ax
test ah, 1
je 0x412b27