Function at 0x40dd80
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, 0x474
fld qword [0x882578]
fld qword [0x882578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x890dd0]
fsub st(1)
fxch st(1)
fmul qword [0x890dc8]
fadd qword [0x890dc0]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x890db8]
sbb eax, 0x890db8
fnstsw ax
test ah, 0x41
jne 0x40ddce
fld st(0)
fmul qword [0x890db0]
fsubp st(2)
fadd qword [0x889468]
fcom qword [0x890da8]
fnstsw ax
test ah, 1
jne 0x40dd95
fxch st(1)
fst qword [ebp - 0x70]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
push ebx
push esi
push edi
fnstsw ax
test ah, 1
je 0x40de2d
push ecx
and dword [ebp + 0x59], ebp
sub al, 0x4f
jne 0x40de55
cmp dword [ebx + 0x33], ebp
jp 0x40de85
and ebp, dword [edx + 0x5b]
jo 0x40de46
imul ebx, dword ss:[ecx + 0x6d], 0x41
je 0x40ddb8
lds esp, [ecx - 0x51395138]
enter 0xffffffffffffbea7, 0xffffffffffffffa6
int 0xb0
enter 0xffffffffffffc6aa, 0xffffffffffffffa8
retf
mov dword [ebp - 8], 0x40de12
mov dword [ebp - 0x34], 0x40ddfa
xor eax, eax
mov byte [ebp + eax - 0x3f0], al
inc eax
cmp eax, 0x100
add byte [ecx], al
add byte [eax], al
jb 0x40de3d
fld qword [ebp - 0x70]
mov eax, 0xff
mov byte [ebp - 0xc], 0
mov esi, dword [ebp - 0xc]
xor edi, edi
mov dword [ebp - 4], eax
jmp 0x40de65
inc ebp
hlt
mov eax, dword [ebp - 4]
mov ebx, 1
mov dword [ebp - 0x3c], 0
cmp eax, ebx
jbe 0x40de7d
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40de75
cmp edi, 3
ja case.default.0x40de82
jmp dword [edi*4 + 0x42b20c]
or al, 0xb2
inc edx
add cl, bl
fld st(0)
and esi, 0xff
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
jmp 0x40defe
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 8
jmp 0x40defe
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 0x10
jmp 0x40defe
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 0x18
jmp 0x40defe
mov eax, dword [ebp - 0x34]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x3f0]
add cl, al
inc edi
cmp edi, 0x1c
mov byte [ebp - 0xc], cl
jb 0x40df11
xor edi, edi
add cl, 0x1c
mov byte [ebp - 0xc], cl
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x3c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x3c], eax
jbe 0x40df31
mov eax, edx
xor edx, edx
div dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp edx, eax
ja 0x40de7d
cmp eax, edx
je 0x40df6e
mov ecx, dword [ebp - 4]
lea eax, [ebp + edx - 0x3f0]
mov bl, byte [ebp + ecx - 0x3f0]
lea edx, [ebp + ecx - 0x3f0]
mov cl, byte [eax]
xor bl, cl
mov byte [edx], bl
mov cl, bl
mov bl, byte [eax]
xor bl, cl
mov byte [eax], bl
mov cl, byte [edx]
mov al, bl
xor cl, al
mov byte [edx], cl
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
jne 0x40de62
mov dl, byte [ebp - 0x3e9]
and esi, 0xff
mov byte [ebp - 0x28], dl
mov bl, byte [ebp - 0x3ed]
mov al, byte [ebp + esi - 0x3f0]
mov esi, dword [ebp - 8]
mov byte [ebp - 0x1c], al
xor eax, eax
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 0xf
add dl, 0x42
shl al, 4
or al, dl
mov cl, byte [ebp - 0x3eb]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x1c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3f0]
lea edi, [ebp + eax - 0x3f0]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x3ef]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3f0]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x10]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3f0]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], dl
xor bl, dl
mov dl, byte [esi + 3]
mov byte [ebp - 0x28], bl
mov bl, byte [esi + 2]
add dl, 0x42
add bl, 0xf
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 0x44]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x28], dl
mov byte [ebp - 0x7c], dl
mov dl, byte [esi + 4]
mov bl, byte [esi + 5]
add dl, 0xf
sub ebx, 0xbe
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [edi]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 0x44]
add al, bl
inc dl
mov byte [ebp - 0x44], dl
mov byte [ebp - 0x2c], al
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x28], dl
mov byte [ebp - 0x7b], dl
mov bl, byte [esi + 7]
xor edx, edx
mov dl, byte [esi + 6]
sub ebx, 0xbe
add dl, 0xf
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 0x44]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
lea edi, [ebp - 0x7c]
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
dec edi
mov byte [ebp - 0x28], dl
mov dword [ebp - 0xc], edi
mov byte [edi + 3], dl
xor edx, edx
mov dl, byte [esi + 9]
mov edi, edx
xor edx, edx
mov dl, byte [esi + 8]
sub edx, 0xa1
lea ebx, [edi - 0xbe]
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 0x44]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov bl, byte [edx]
mov dword [ebp - 0x20], edx
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 4], 5
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x28], dl
mov byte [ebp - 0x79], dl
mov bl, byte [esi + 0xb]
xor edx, edx
mov dl, byte [esi + 0xa]
sub ebx, 0xbe
sub edx, 0xa1
shl edx, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 0x44]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov dword [ebp - 0x3c], 2
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
lea edi, [esi + 0xa]
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x28], dl
mov byte [ebp - 0x78], dl
jmp 0x40e601
mov edi, dword [ebp - 0x34]
mov dl, byte [edi + 3]
inc ebx
add edi, 2
mov dword [ebp - 4], ebx
add dl, 0x42
mov dword [ebp - 0x34], edi
mov bl, byte [edi]
add bl, 0xf
shl bl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 0x44]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov ebx, dword [ebp - 4]
test ebx, ebx
mov byte [ebp - 0x28], dl
jbe 0x40e719
mov edi, dword [ebp - 0xc]
mov byte [edi + ebx], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x40e5fe
mov dl, byte [esi + ebx*2 + 2]
inc ebx
add dl, 0xf
mov dword [ebp - 4], ebx
shl dl, 4
mov byte [ebp - 0x2d], dl
mov dl, byte [esi + ebx*2 + 1]
mov bl, byte [ebp - 0x2d]
add dl, 0x42
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x18], bl
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x44]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x44]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
mov edi, dword [ebp - 4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test edi, edi
mov byte [ebp - 0x28], dl
jbe 0x40e84a
mov byte [ebp + edi - 0x7d], dl
mov dl, byte [esi + edi*2 + 2]
mov bl, byte [esi + edi*2 + 3]
inc edi
add dl, 0xf
shl dl, 4
add bl, 0x42
mov dword [ebp - 4], edi
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 0x44]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
mov edi, dword [ebp - 4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x1c], bl
xor dl, bl
test edi, edi
mov byte [ebp - 0x28], dl
jbe 0x40e95d
mov byte [ebp + edi - 0x7d], dl
mov dl, byte [esi + edi*2 + 2]
mov bl, byte [esi + edi*2 + 3]
inc edi
add dl, 0xf
shl dl, 4
add bl, 0x42
mov dword [ebp - 4], edi
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [edx]
mov dl, byte [ebp - 0x44]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x14], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x38]
mov byte [ebx], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x24]
mov byte [ebp - 8], cl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
mov edi, dword [ebp - 4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
xor dl, bl
test edi, edi
mov byte [ebp - 0x28], dl
jbe 0x40ea6d
mov byte [ebp + edi - 0x7d], dl
mov edx, dword [ebp - 0x18]
inc edi
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [ebp - 0x38], bl
mov ebx, dword [ebp - 0x14]
add al, byte [ebx]
mov byte [ebp - 0x2c], al
mov al, byte [ebp - 0x44]
inc al
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x2c]
and eax, 0xff
mov bl, byte [ebp + eax - 0x3f0]
lea eax, [ebp + eax - 0x3f0]
mov byte [edx], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], eax
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
and eax, 0xff
test edi, edi
lea eax, [ebp + eax - 0x3f0]
mov dword [ebp - 0x14], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x14]
mov al, byte [ebp - 0x38]
mov byte [ebx], al
jbe 0x40eb62
mov eax, dword [ebp - 0x38]
mov bl, byte [esi + edi*2 + 1]
and eax, 0xff
add bl, 0x42
mov dword [ebp - 0x10], eax
mov al, byte [esi + edi*2]
mov esi, dword [ebp - 0x10]
mov dl, byte [edx]
shl al, 4
sub al, 0x10
or al, bl
mov bl, byte [ebp + esi - 0x3f0]
mov esi, dword [ebp - 0x24]
add bl, cl
and ebx, 0xff
mov cl, byte [ebp + ebx - 0x3f0]
mov bl, byte [esi]
add ecx, ebx
mov ebx, dword [ebp - 0x10]
add ecx, edx
xor edx, edx
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x3f0]
mov cl, byte [ebp + edx - 0x3f0]
xor al, cl
mov ecx, dword [ebp - 0x20]
mov dl, byte [ecx]
add edx, ebx
and edx, 0xff
xor al, byte [ebp + edx - 0x3f0]
mov byte [ebp + edi - 0x7d], al
mov byte [ebp - 0x72], 0
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x882578]
fld qword [0x882578]
mov dword [ebp - 0x44], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x890da0]
fsub st(1)
fxch st(1)
fmul qword [0x890d98]
fadd qword [0x890d90]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x890d88]
fnstsw ax
test ah, 0x41
jne 0x40ebb8
fld st(0)
fmul qword [0x890d80]
fsubp st(2)
fadd qword [0x8894a0]
fcom qword [0x890d78]
fnstsw ax
test ah, 1
jne 0x40eb7f
fxch st(1)
fst qword [ebp - 0x70]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
fnstsw ax
test ah, 1
je 0x40ec0e
dec esp
cmovl ecx, dword [eax]
inc edx
adc al, byte [edi + 0xf]
inc ebp
push es
dec edi
or dl, byte [eax + 4]
dec ecx
push es
dec edx
or dword [edi + 7], ecx
dec edi
add eax, 0x397b0549
push eax
js 0x40ec3d
and edx, dword cs:[ebx + 0x32]
outsb dx, byte [esi]
and cl, byte [edx + 0x62]
xor dword [edi + 0x4a], esp
jmp 0x40f206
mov dword [ebp - 0x10], 0x40ebe1
mov dword [ebp - 4], 0x40ebf9
xor eax, eax
mov byte [ebp + eax - 0x3f0], al
inc eax
cmp eax, 0x100
jb 0x40ec1e
fld qword [ebp - 0x70]
mov byte [ebp - 0xc], 0
mov esi, dword [ebp - 0xc]
xor edi, edi
mov dword [ebp - 0x34], 0xff
add byte [eax], al
add byte [ebx + 0x1bbcc45], cl
add byte [eax], al
add byte [ebx], bh
ret
mov eax, dword [ebp - 0x34]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x3c], 0
jbe 0x40ec5b
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40ec53
cmp edi, 3
ja case.default.0x40ec60
jmp dword [edi*4 + 0x42b21c]
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
jmp 0x40ecdc
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 8
jmp 0x40ecdc
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 0x10
jmp 0x40ecdc
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 0x18
jmp 0x40ecdc
mov edx, dword [ebp - 4]
and esi, 0xff
mov cl, byte [ebp + esi - 0x3f0]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x14
mov byte [ebp - 0xc], cl
jb 0x40ecef
xor edi, edi
add cl, 0x14
mov byte [ebp - 0xc], cl
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x3c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x3c], eax
jbe 0x40ed0f
mov eax, edx
xor edx, edx
div dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, edx
jb 0x40ec5b
je 0x40ed47
mov bl, byte [ebp + eax - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
lea ecx, [ebp + eax - 0x3f0]
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 - 0x34]
dec eax
mov dword [ebp - 0x34], eax
jne 0x40ec40
mov cl, byte [ebp - 0x3eb]
mov dl, byte [ebp - 0x3e9]
and esi, 0xff
mov byte [ebp - 8], cl
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 0x20], dl
mov al, byte [ebp + esi - 0x3f0]
mov bl, byte [ebp - 0x3ed]
mov byte [ebp - 0x2c], al
mov edx, dword [ebp - 0x2c]
mov al, byte [ecx]
mov cl, byte [ecx + 1]
and edx, 0xff
add al, 0xf
shl al, 4
sub cl, 3
lea edi, [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x3ef]
or al, cl
mov cl, byte [edi]
xor esi, esi
mov byte [ebp - 0xc], cl
mov ecx, edx
and ecx, 0xff
mov byte [ebp - 0x2c], al
fstp st(0)
mov cl, byte [ebp + ecx - 0x3f0]
add cl, bl
inc dl
mov byte [ebp - 0x18], cl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x3c], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x28], edx
mov dl, byte [ebp + edx - 0x3f0]
add bl, dl
mov byte [ebp - 8], bl
mov edx, dword [ebp - 8]
mov bl, byte [edi]
mov edi, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x28]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x3c]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3f0]
add edx, edi
mov edi, dword [ebp - 0x10]
and edx, 0xff
xor bl, byte [ebp + edx - 0x3f0]
xor bl, al
mov byte [ebp - 0x20], bl
mov dword [ebp - 0x14], 5
jmp 0x40ee95
mov edi, dword [ebp - 0x38]
mov dl, byte [edi + 2]
mov al, byte [edi + 3]
add edi, 2
add dl, 0xf
sub al, 3
mov dword [ebp - 0x38], edi
shl dl, 4
or al, dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
inc esi
mov byte [ebp - 0x24], al
mov byte [ebp - 0x2c], al
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add cl, bl
inc dl
mov byte [ebp - 0x18], cl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x3c], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x28], edx
mov dl, byte [ebp + edx - 0x3f0]
add bl, dl
mov byte [ebp - 8], bl
mov edx, dword [ebp - 8]
mov bl, byte [edi]
mov edi, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x3c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x28]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
xor dl, al
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x40efa8
mov byte [ebp + esi - 0xb9], dl
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
jne 0x40ee92
lea ebx, [esi + 1]
cmp ebx, 0xc
jge 0x40f100
mov eax, dword [ebp - 4]
and eax, 0xff
lea edx, [ebp + eax - 0x3f0]
mov eax, dword [ebp - 0x10]
lea edi, [eax + esi*2]
mov eax, 0xc
sub eax, ebx
mov dword [ebp - 0x14], eax
jmp 0x40efe8
mov edx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x38]
mov al, byte [edi + 3]
mov bl, byte [edi + 2]
add edi, 2
add bl, 0xf
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x2c]
and edi, 0xff
sub al, 3
shl bl, 4
lea edi, [ebp + edi - 0x3f0]
or al, bl
inc esi
mov byte [ebp - 0x24], al
mov bl, byte [edi]
mov byte [ebp - 0x2c], al
mov byte [ebp - 0xc], bl
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add cl, bl
inc dl
mov byte [ebp - 0x18], cl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x3c], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x28], edx
mov dl, byte [ebp + edx - 0x3f0]
add bl, dl
mov byte [ebp - 8], bl
mov edx, dword [ebp - 8]
mov bl, byte [edi]
mov edi, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x3c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x28]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
xor dl, al
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x40f0f3
mov byte [ebp + esi - 0xb9], dl
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
jne 0x40efe2
mov eax, dword [ebp - 0x24]
mov bl, byte [ebp - 4]
and eax, 0xff
inc esi
mov dl, byte [ebp + eax - 0x3f0]
lea edi, [ebp + eax - 0x3f0]
mov eax, dword [ebp - 4]
mov byte [ebp - 0xc], dl
and eax, 0xff
mov dl, byte [ebp + eax - 0x3f0]
add cl, dl
mov edx, dword [ebp - 0x20]
mov byte [ebp - 0x18], cl
and edx, 0xff
mov eax, dword [ebp - 0x18]
inc bl
and eax, 0xff
mov byte [ebp - 4], bl
mov cl, byte [ebp + eax - 0x3f0]
lea eax, [ebp + eax - 0x3f0]
mov byte [edi], cl
lea ecx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x1c], ecx
mov dl, byte [ecx]
mov byte [eax], dl
mov edx, dword [ebp - 4]
and edx, 0xff
test esi, esi
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [ecx], bl
mov cl, byte [ebp - 0xc]
mov byte [edx], cl
jbe 0x40f1ff
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
shl bl, 4
sub bl, 0x10
sub dl, 3
mov dword [ebp - 0x28], ecx
mov cl, byte [ebp + ecx - 0x3f0]
or bl, dl
mov dl, byte [ebp - 8]
add cl, dl
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x3f0]
mov cl, byte [edi]
add edx, ecx
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x28]
mov cl, byte [ecx]
add edx, ecx
xor ecx, ecx
and edx, 0xff
mov cl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp + ecx - 0x3f0]
xor bl, dl
mov dl, byte [eax]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3f0]
mov byte [ebp + esi - 0xb9], bl
mov byte [ebp - 0xad], 0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0xb8]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x882578]
fld qword [0x882578]
mov dword [0x8c68cc], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x890d70]
fsub st(1)
fxch st(1)
fmul qword [0x890d68]
fadd qword [0x890d60]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x890d58]
fnstsw ax
test ah, 0x41
jne 0x40f261
fld st(0)
fmul qword [0x890d50]
fsubp st(2)
fadd qword [0x882548]
fcom qword [0x890d48]
fnstsw ax
test ah, 1
jne 0x40f228
fxch st(1)
fst qword [ebp - 0x70]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
fnstsw ax
test ah, 1
je 0x40f2c8
mov eax, dword [0xb069aa61]
insb byte es:[edi], dx
cmpsb byte [esi], byte es:[edi]
arpl word [edx + ebp*2 + 0x5fac5da3], sp
mov byte [0xad65a85f], al
bound ebp, qword [ebp - 0x5e9a5ea3]
pushal
stosd dword es:[edi], eax
bound esp, qword [esp + ebp*2 + 0x5daa63a4]
scasd eax, dword es:[edi]
push 0x223e5fa5
dec edi
imul ebp, dword [edi + 0x26], 0x43
bound esp, qword [ecx]
je 0x40f336
daa
dec ebp
jge 0x40f2f3
push esi
daa
jmp 0x40fd24
mov dword [ebp - 0x3c], 0x40f28a
mov dword [ebp - 8], 0x40f2b0
xor eax, eax
mov byte [ebp + eax - 0x3f0], al
inc eax
cmp eax, 0x100
jb 0x40f2d8
fld qword [ebp - 0x70]
mov byte [ebp - 0xc], 0
mov esi, dword [ebp - 0xc]
xor edi, edi
mov dword [ebp - 0x34], 0xff
mov eax, dword [ebp - 0x34]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 4], 0
jbe 0x40f315
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40f30d
cmp edi, 3
ja case.default.0x40f31a
jmp dword [edi*4 + 0x42b22c]
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
jmp 0x40f396
pop edi
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 8
jmp 0x40f396
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 0x10
jmp 0x40f396
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 0x18
jmp 0x40f396
mov edx, dword [ebp - 8]
and esi, 0xff
mov cl, byte [ebp + esi - 0x3f0]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x17
mov byte [ebp - 0xc], cl
jb 0x40f3a9
xor edi, edi
add cl, 0x17
mov byte [ebp - 0xc], cl
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 4], eax
jbe 0x40f3c9
mov eax, edx
xor edx, edx
div dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, edx
jb 0x40f315
je 0x40f404
mov ecx, dword [ebp - 0x34]
lea eax, [ebp + edx - 0x3f0]
mov bl, byte [ebp + ecx - 0x3f0]
lea edx, [ebp + ecx - 0x3f0]
mov cl, byte [eax]
xor bl, cl
mov byte [edx], bl
mov cl, bl
mov bl, byte [eax]
xor bl, cl
mov byte [eax], bl
mov cl, byte [edx]
mov al, bl
xor cl, al
mov byte [edx], cl
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
jne 0x40f2fa
mov dl, byte [ebp - 0x3e9]
mov edi, dword [ebp - 0x3c]
and esi, 0xff
mov byte [ebp - 0x1c], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x3ed]
mov al, byte [ebp + esi - 0x3f0]
add dl, 0xf
mov byte [ebp - 0x28], al
mov al, byte [edi + 1]
sub al, 0x5d
mov cl, byte [ebp - 0x3eb]
shl dl, 4
or al, dl
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3f0]
lea esi, [ebp + eax - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3ef]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3f0]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [esi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x38], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 4]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x38]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3f0]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x20]
mov byte [ebp - 0x28], dl
xor bl, dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x1c], bl
sub dl, 0x5d
mov bl, byte [edi + 2]
add edi, 4
add bl, 0xf
shl bl, 4
or dl, bl
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea esi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [esi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x38], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x38]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + esi - 0x3f0]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x1c], dl
mov byte [ebp - 0x2c8], dl
mov dl, byte [edi]
mov bl, byte [edi + 1]
add dl, 0xf
sub ebx, 0x5d
shl dl, 4
or dl, bl
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dword [ebp - 0x34], 6
mov dl, byte [edi]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x38], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x38]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
mov byte [ebp - 0x1c], dl
mov byte [ebp - 0x2c7], dl
mov edx, dword [ebp - 0x3c]
lea edi, [edx + 4]
jmp 0x40f76a
mov edi, dword [ebp - 0xc]
mov dl, byte [edi + 2]
add edi, 2
xor ebx, ebx
add dl, 0xf
mov bl, byte [edi + 1]
mov dword [ebp - 0xc], edi
sub ebx, 0x5d
inc esi
shl dl, 4
or dl, bl
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x38], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x38]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x40f880
mov byte [ebp + esi - 0x2c9], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x40f767
mov edx, dword [ebp - 0x3c]
inc esi
lea edi, [edx + esi*2]
xor edx, edx
mov dl, byte [edi + 1]
mov dword [ebp - 0x34], edx
xor edx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 0x34]
sub edx, 0xa1
lea ebx, [edi - 0x5d]
shl dl, 4
or dl, bl
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x38], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x38]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x40f9b8
mov byte [ebp + esi - 0x2c9], dl
lea ebx, [esi + 1]
cmp ebx, 0x12
jge 0x40faff
mov edx, dword [ebp - 0x3c]
lea edi, [edx + esi*2]
mov edx, 0x12
sub edx, ebx
mov dword [ebp - 0x34], edx
jmp 0x40f9d9
mov edi, dword [ebp - 0xc]
add edi, 2
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0xc], edi
mov bl, byte [edi + 1]
mov dl, byte [edi]
mov edi, ebx
add dl, 0xf
shl dl, 4
lea ebx, [edi - 0x5d]
inc esi
or dl, bl
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x38], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x38]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x20]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x40faf2
mov byte [ebp + esi - 0x2c9], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x40f9d6
mov edi, dword [ebp - 0x3c]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0xa1
sub ebx, 0x5d
shl dl, 4
or dl, bl
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x38], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x38]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x20]
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x40fc20
mov byte [ebp + esi - 0x2c9], dl
mov edx, dword [ebp - 0x20]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x10]
mov byte [ebp - 8], al
mov eax, dword [ebp - 8]
and eax, 0xff
inc bl
mov byte [ebp - 0x10], bl
mov dl, byte [ebp + eax - 0x3f0]
lea eax, [ebp + eax - 0x3f0]
mov byte [edi], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [eax], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 0x24], edx
test esi, esi
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
jbe 0x40fd1d
mov edx, dword [ebp - 0x14]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x3c]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
shl dl, 4
sub bl, 0x5d
sub dl, 0x10
or bl, dl
mov edx, dword [ebp - 4]
mov dl, byte [ebp + edx - 0x3f0]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x3f0]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 4]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x3f0]
mov cl, byte [ebp + edx - 0x3f0]
xor bl, cl
mov cl, byte [ebp + eax - 0x3f0]
xor bl, cl
mov byte [ebp + esi - 0x2c9], bl
mov byte [ebp - 0x2b6], 0
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x2c8]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x882578]
fld qword [0x882578]
mov dword [0x8c690c], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x890d40]
fsub st(1)
fxch st(1)
fmul qword [0x890d38]
fadd qword [0x890d30]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x890d28]
fnstsw ax
test ah, 0x41
jne 0x40fd7f
fld st(0)
fmul qword [0x890d20]
fsubp st(2)
fadd qword [0x890d18]
fcom qword [0x890d10]
fnstsw ax
test ah, 1
jne 0x40fd46
fxch st(1)
fst qword [ebp - 0x70]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
fnstsw ax
test ah, 1
je 0x40fddb
dec edi
jp 0x40fe19
inc ecx
push ebp
jo 0x40fdec
push esi
inc edx
jnp 0x40fe30
cmp dword [ebp + 0x29], edi
and al, 0x36
inc eax
xor byte [esi - 0x51f44ff1], ch
or ch, byte [ebp + ecx + 0xfb60bb9]
mov ch, 0xc
mov ecx, 0xb910ae09
adc dh, byte [eax - 0x49f152f6]
add al, 0xe9
jle 0x40fde5
add byte [eax], al
mov dword [ebp - 0x10], 0x40fdbc
mov dword [ebp - 4], 0x40fda8
xor eax, eax
test al, 0xfd
inc eax
add byte [ebx], dh
ror byte [eax - 0x3effa7c], 0xff
inc dword [eax + 0x3d]
add byte [ecx], al
add byte [eax], al
mov byte [ebp + eax - 0x3f0], al
test byte [0xfffffc10], al
inc eax
cmp eax, 0x100
jb 0x40fdeb
fld qword [ebp - 0x70]
mov byte [ebp - 0xc], 0
mov esi, dword [ebp - 0xc]
xor edi, edi
mov dword [ebp - 0x3c], 0xff
mov eax, dword [ebp - 0x3c]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x34], 0
jbe 0x40fe28
int3
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40fe20
cmp edi, 3
ja case.default.0x40fe2d
jmp dword [edi*4 + 0x42b23c]
cmp al, 0xb2
inc edx
add cl, bl
fld st(0)
and esi, 0xff
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
add cl, al
jmp 0x40feb3
fld st(0)
call fcn.0082fed4
and esi, 0xff
mov ecx, eax
shr ecx, 8
add cl, byte [ebp + esi - 0x3f0]
jmp 0x40feb3
fld st(0)
call fcn.0082fed4
and esi, 0xff
mov ecx, eax
shr ecx, 0x10
add cl, byte [ebp + esi - 0x3f0]
jmp 0x40feb3
fld st(0)
call fcn.0082fed4
and esi, 0xff
mov ecx, eax
shr ecx, 0x18
add cl, byte [ebp + esi - 0x3f0]
jmp 0x40feb3
mov eax, dword [ebp - 4]
and esi, 0xff
mov cl, byte [ebp + esi - 0x3f0]
mov dl, byte [edi + eax - 4]
add cl, dl
inc edi
mov byte [ebp - 0xc], cl
cmp edi, 0x18
jb 0x40fec4
xor edi, edi
add cl, 0x18
mov byte [ebp - 0xc], cl
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x34], eax
jbe 0x40fee4
mov eax, edx
xor edx, edx
div dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp eax, edx
jb 0x40fe28
je 0x40ff1f
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp + edx - 0x3f0]
mov bl, byte [ebp + ecx - 0x3f0]
lea edx, [ebp + ecx - 0x3f0]
mov cl, byte [eax]
xor bl, cl
mov byte [edx], bl
mov cl, bl
mov bl, byte [eax]
xor bl, cl
mov byte [eax], bl
mov cl, byte [edx]
mov al, bl
xor cl, al
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
jne 0x40fe0d
mov edi, dword [ebp - 0x10]
mov dl, byte [ebp - 0x3e9]
and esi, 0xff
mov byte [ebp - 0x1c], dl
mov dl, byte [edi + 1]
mov bl, byte [ebp - 0x3ed]
mov al, byte [ebp + esi - 0x3f0]
sub dl, 4
mov byte [ebp - 4], al
mov al, byte [edi]
add al, 4
mov cl, byte [ebp - 0x3eb]
shl al, 4
or al, dl
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 4]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3f0]
lea esi, [ebp + eax - 0x3f0]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x3ef]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3f0]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [esi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x44], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x44]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x38]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x18]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x28]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x3f0]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x2c]
mov byte [ebp - 4], dl
xor bl, dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x1c], bl
sub dl, 4
mov bl, byte [edi + 2]
add edi, 4
add bl, 4
shl bl, 4
or dl, bl
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 4]
and edx, 0xff
lea esi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x44]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [esi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x44], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x44]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x38]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x28]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + esi - 0x3f0]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 4], bl
xor dl, bl
mov byte [ebp - 0x1c], dl
mov byte [ebp - 0xd4], dl
mov bl, byte [edi]
xor edx, edx
mov dl, byte [edi + 1]
add bl, 4
shl bl, 4
sub dl, 4
or bl, dl
mov edx, dword [ebp - 4]
mov byte [ebp - 0x2c], bl
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dword [ebp - 0x3c], esi
mov dl, byte [edi]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x44]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x44], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x44]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x38]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 4], bl
xor dl, bl
mov byte [ebp - 0x1c], dl
mov byte [ebp - 0xd3], dl
mov edx, dword [ebp - 0x10]
lea edi, [edx + 4]
jmp 0x410281
mov edi, dword [ebp - 0x34]
mov bl, byte [edi + 2]
add edi, 2
xor edx, edx
add bl, 4
mov dl, byte [edi + 1]
mov dword [ebp - 0x34], edi
shl bl, 4
sub dl, 4
inc esi
or bl, dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov byte [ebp - 0x2c], bl
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x44]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x44], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x44]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x38]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 4], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x410397
mov byte [ebp + esi - 0xd5], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x41027e
mov edi, dword [ebp - 0x10]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
mov edi, ebx
add edx, 0xffffff54
shl edx, 4
add edi, 0xfffffffc
or edx, edi
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 4]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x44], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x44]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x38]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x3c]
mov byte [ebp - 4], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x4104ca
mov byte [ebp + esi - 0xd5], dl
mov edx, dword [ebp - 0x10]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2]
lea edx, [edx + esi*2]
mov edi, ebx
xor ebx, ebx
mov bl, byte [edx + 1]
sub edi, 0xac
mov edx, ebx
shl edi, 4
sub edx, 4
or edx, edi
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 4]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x44]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x44], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x44]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x38]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x3c]
mov byte [ebp - 4], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x4105e9
mov byte [ebp + esi - 0xd5], dl
lea ebx, [esi + 1]
cmp ebx, 0xb
jge 0x41072b
mov edx, dword [ebp - 0x10]
lea edi, [edx + esi*2]
mov edx, 0xb
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x41060a
mov edi, dword [ebp - 0x34]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 4
sub dl, 4
mov dword [ebp - 0x34], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 4]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x44]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x44], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x44]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x38]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 4], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x41071e
mov byte [ebp + esi - 0xd5], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x410607
mov edi, dword [ebp - 0x10]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 4
sub bl, 4
shl dl, 4
or dl, bl
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 4]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x44], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x44]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x38]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2c]
mov byte [ebp - 4], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x410848
mov byte [ebp + esi - 0xd5], dl
mov edi, dword [ebp - 0x10]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 4
sub bl, 4
shl dl, 4
or dl, bl
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 4]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x44]
mov bl, byte [edx]
mov dl, byte [ebp - 0x14]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x38], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x44], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x44]
mov dl, byte [ebp - 0x24]
mov byte [ebx], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x38]
mov byte [ebp - 0x20], cl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2c]
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x410957
mov byte [ebp + esi - 0xd5], dl
mov edx, dword [ebp - 0x2c]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x44]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x14]
mov byte [ebp - 8], al
mov eax, dword [ebp - 8]
and eax, 0xff
inc bl
mov byte [ebp - 0x14], bl
lea edx, [ebp + eax - 0x3f0]
mov al, byte [ebp + eax - 0x3f0]
mov byte [edi], al
mov eax, dword [ebp - 0x1c]
and eax, 0xff
mov bl, byte [ebp + eax - 0x3f0]
lea eax, [ebp + eax - 0x3f0]
mov byte [edx], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x38], eax
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x44], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov ebx, dword [ebp - 0x44]
mov al, byte [ebp - 0x24]
mov byte [ebx], al
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x10]
and eax, 0xff
mov dword [ebp - 0x18], eax
mov dl, byte [edx]
mov al, byte [ebx + esi*2]
mov bl, byte [ebx + esi*2 + 1]
add al, 4
sub bl, 4
shl al, 4
or al, bl
mov ebx, dword [ebp - 0x18]
mov bl, byte [ebp + ebx - 0x3f0]
add bl, cl
and ebx, 0xff
mov cl, byte [ebp + ebx - 0x3f0]
mov bl, byte [edi]
mov edi, dword [ebp - 0x38]
add ecx, ebx
mov bl, byte [edi]
mov edi, dword [ebp - 0x18]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
add edx, edi
and edx, 0xff
mov bl, byte [ebp + ecx - 0x3f0]
mov cl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp + edx - 0x3f0]
xor al, cl
xor al, bl
test esi, esi
jbe 0x410a52
mov byte [ebp + esi - 0xd5], al
mov byte [ebp - 0xc8], 0
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x882578]
fld qword [0x882578]
mov dword [ebp - 0x44], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x890d08]
fsub st(1)
fxch st(1)
fmul qword [0x890d00]
fadd qword [0x890cf8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x890cf0]
fnstsw ax
test ah, 0x41
jne 0x410aae
fld st(0)
fmul qword [0x890ce8]
fsubp st(2)
fadd qword [0x889468]
fcom qword [0x890ce0]
fnstsw ax
test ah, 1
jne 0x410a75
fxch st(1)
fst qword [ebp - 0x70]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
fnstsw ax
test ah, 1
je 0x410b10
or dword [edi - 0x7d], 0x54
mov dword [ebp + 0x7a], ebx
pop edx
adc dword [eax - 0x7e], 0x5b
sbb dword [edx + 0x7c], 0x58
test byte [eax + 0x7d], bl
push edx
adc dword [esi + 0x7f], 0x55
mov dword [edx - 0x7e], ebx
pop ebp
test dword [edx + 0x3e], ebx
jnp case.0x410b62.0
outsb dx, byte [esi]
jo 0x410b6b
pop ebp
outsb dx, byte [esi]
pop edx
pop ebp
and al, 0x76
pop eax
popal
jp 0x410b76
das
cmp byte [edi], ah
jne 0x410b57
push ebp
jmp 0x411349
mov dword [ebp - 0x34], 0x410ad7
mov dword [ebp - 8], 0x410af5
xor eax, eax
mov byte [ebp + eax - 0x3f0], al
inc eax
cmp eax, 0x100
jb 0x410b20
fld qword [ebp - 0x70]
mov byte [ebp - 0xc], 0
mov esi, dword [ebp - 0xc]
xor edi, edi
mov dword [ebp - 0x3c], 0xff
mov eax, dword [ebp - 0x3c]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 4], 0
jbe 0x410b5d
lea ebx, [ebx + ebx + 1]
sbb eax, dword [ecx]
cmp ebx, eax
jb 0x410b55
cmp edi, 3
ja case.default.0x410b62
jmp dword [edi*4 + 0x42b24c]
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
jmp 0x410bde
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 8
jmp 0x410bde
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 0x10
jmp 0x410bde
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
shr eax, 0x18
jmp 0x410bde
mov ecx, dword [ebp - 8]
and esi, 0xff
mov cl, byte [ecx + edi - 4]
mov al, byte [ebp + esi - 0x3f0]
add cl, al
inc edi
cmp edi, 0x1a
mov byte [ebp - 0xc], cl
jb 0x410bf1
xor edi, edi
add cl, 0x1a
mov byte [ebp - 0xc], cl
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 4], eax
jbe 0x410c11
mov eax, edx
xor edx, edx
div dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp eax, edx
jb 0x410b5d
je 0x410c49
mov bl, byte [ebp + eax - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
lea ecx, [ebp + eax - 0x3f0]
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 - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
jne 0x410b42
mov dl, byte [ebp - 0x3e9]
and esi, 0xff
mov byte [ebp - 0x20], dl
mov bl, byte [ebp - 0x3ed]
mov al, byte [ebp + esi - 0x3f0]
mov esi, dword [ebp - 0x34]
mov byte [ebp - 0x28], al
mov cl, byte [ebp - 0x3eb]
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 6
sub dl, 0x4f
shl al, 4
or al, dl
mov byte [ebp - 0x2d], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3f0]
lea esi, [ebp + eax - 0x3f0]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x3ef]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3f0]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [esi], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x1c]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x3f0]
mov dl, byte [edi]
mov edi, dword [ebp - 0x10]
mov bl, byte [ebp + ebx - 0x3f0]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x2d]
mov byte [ebp - 0x28], dl
xor bl, dl
mov edx, dword [ebp - 0x34]
mov byte [ebp - 0x20], bl
xor ebx, ebx
mov bl, byte [edx + 3]
lea edi, [edx + 2]
mov dl, byte [edi]
sub ebx, 0x4f
add dl, 6
mov dword [ebp - 0x3c], 5
shl dl, 4
or dl, bl
mov byte [ebp - 0x2d], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x1c]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2d]
mov byte [ebp - 0x28], bl
xor dl, bl
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x1b4], dl
mov edx, dword [ebp - 0x34]
lea edi, [edx + 2]
jmp 0x410eab
mov edi, dword [ebp - 0x24]
add edi, 2
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x24], edi
mov dl, byte [edi]
mov bl, byte [edi + 1]
sub edx, 0x7a
sub ebx, 0x4f
shl dl, 4
or dl, bl
inc esi
mov byte [ebp - 0x2d], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x1c]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2d]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x410fc2
mov byte [ebp + esi - 0x1b5], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x410ea8
mov edi, dword [ebp - 0x34]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 6
sub dl, 0x4f
shl bl, 4
or dl, bl
mov byte [ebp - 0x2d], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x1c]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2d]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x4110ec
mov byte [ebp + esi - 0x1b5], dl
mov edx, dword [ebp - 0x34]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
add bl, 6
mov dword [ebp - 0x3c], edi
mov dl, byte [edi + 1]
sub dl, 0x4f
shl bl, 4
or dl, bl
mov byte [ebp - 0x2d], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x1c]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2d]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x411203
mov byte [ebp + esi - 0x1b5], dl
lea ebx, [esi + 1]
cmp ebx, 0x10
jge 0x411342
mov edi, dword [ebp - 0x3c]
mov edx, 0x10
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x411221
mov edi, dword [ebp - 0x34]
mov dl, byte [edi + 2]
mov bl, byte [edi + 3]
add edi, 2
add dl, 6
shl dl, 4
sub bl, 0x4f
mov dword [ebp - 0x34], edi
or dl, bl
inc esi
mov byte [ebp - 0x2d], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x18]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x20]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x18], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x18]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov ebx, dword [ebp - 0x1c]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0x14]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x2d]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x20], dl
jbe 0x411335
mov byte [ebp + esi - 0x1b5], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x41121e
mov byte [ebp - 0x1a6], 0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x1b4]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x882578]
fld qword [0x882578]
mov dword [0x8c6944], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x890cd8]
fsub st(1)
fxch st(1)
fmul qword [0x890cd0]
fadd qword [0x890cc8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x890cc0]
fnstsw ax
test ah, 0x41
jne 0x4113a4
fld st(0)
fmul qword [0x890cb8]
fsubp st(2)
fadd qword [0x890d18]
fcom qword [0x890cb0]
fnstsw ax
test ah, 1
jne 0x41136b
fxch st(1)
fst qword [ebp - 0x70]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
fnstsw ax
test ah, 1
je 0x41140e
fisttp qword [ecx + ebp*8 + 0x47]
call 0xe493fd28
dec ebx
fisttp qword [esi - 0x24]
push eax
fild dword [esi - 0x20]
push eax
call 0xdb89f135
dec ebx
in eax, 0x52
fimul word [edx + 0x29]
outsb dx, byte [esi]
jbe 0x41144e
inc eax
jne 0x41142e
dec edx
and dh, byte [edx]
jge 0x411457
jb 0x411457
inc edi
imul esi, dword [edi], 0x6d
dec ebp
imul eax, dword [ecx + 0x36], 0x4a35615c
das
jns 0x411430
jno 0x411483
jmp 0x411e78
mov dword [ebp - 0x38], 0x4113cd
mov dword [ebp - 4], 0x4113e9
xor eax, eax
mov byte [ebp + eax - 0x3f0], al
inc eax
cmp eax, 0x100
jb 0x41141e
fld qword [ebp - 0x70]
inc ebp
nop
mov byte [ebp - 0xc], 0
mov esi, dword [ebp - 0xc]
xor edi, edi
mov dword [ebp - 0x3c], 0xff
mov eax, dword [ebp - 0x3c]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x34], 0
jbe 0x41145b
add byte [eax], al
add byte [esi + 8], dh
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x411453
cmp edi, 3
ja case.default.0x411460
jmp dword [edi*4 + 0x42b25c]
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x3f0]
jmp 0x4114e2
fld st(0)
call fcn.0082fed4
mov ecx, eax
shr ecx, 8
add byte [ebx + 0x8e9c1c8], cl
and esi, 0xff
mov al, byte [ebp + esi - 0x3f0]
jmp 0x4114e2
fld st(0)
call fcn.0082fed4
mov ecx, eax
shr ecx, 0x10
and esi, 0xff
mov al, byte [ebp + esi - 0x3f0]
jmp 0x4114e2
fld st(0)
call fcn.0082fed4
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
mov al, byte [ebp + esi - 0x3f0]
jmp 0x4114e2
mov edx, dword [ebp - 4]
and esi, 0xff
mov cl, byte [ebp + esi - 0x3f0]
mov al, byte [edi + edx - 4]
add cl, al
inc edi
cmp edi, 0x24
mov byte [ebp - 0xc], cl
jb 0x4114f5
xor edi, edi
add cl, 0x24
mov byte [ebp - 0xc], cl
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x34], eax
jbe 0x411515
mov eax, edx
xor edx, edx
div dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp eax, edx
jb 0x41145b
je 0x41154d
mov bl, byte [ebp + eax - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
lea ecx, [ebp + eax - 0x3f0]
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 - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
jne 0x411440
mov dl, byte [ebp - 0x3e9]
and esi, 0xff
mov byte [ebp - 0x1c], dl
mov bl, byte [ebp - 0x3ed]
mov al, byte [ebp + esi - 0x3f0]
mov esi, dword [ebp - 0x38]
mov byte [ebp - 0x28], al
mov cl, byte [ebp - 0x3eb]
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 5
sub dl, 0x45
shl al, 4
or al, dl
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x3f0]
lea esi, [ebp + eax - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3ef]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x3f0]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [esi], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x3f0]
mov dl, byte [edi]
mov edi, dword [ebp - 4]
mov bl, byte [ebp + ebx - 0x3f0]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x18]
mov byte [ebp - 0x28], dl
xor bl, dl
mov edx, dword [ebp - 0x38]
mov byte [ebp - 0x1c], bl
lea edi, [edx + 2]
xor edx, edx
mov dl, byte [edi + 1]
lea ebx, [edx - 0x45]
mov dl, byte [edi]
add dl, 5
mov dword [ebp - 0x3c], 4
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x28], bl
xor dl, bl
mov byte [ebp - 0x1c], dl
mov byte [ebp - 0x164], dl
mov edx, dword [ebp - 0x38]
lea edi, [edx + 2]
jmp 0x4117af
mov edi, dword [ebp - 0x34]
add edi, 2
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x34], edi
mov bl, byte [edi + 1]
mov dl, byte [edi]
mov edi, ebx
add dl, 5
shl dl, 4
lea ebx, [edi - 0x45]
inc esi
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x4118c8
mov byte [ebp + esi - 0x165], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x4117ac
lea ebx, [esi + 1]
cmp ebx, 0xb
jge 0x411a36
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x38]
lea edi, [edx + esi*2]
mov edx, 0xb
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x411909
mov edi, dword [ebp - 0x34]
add edi, 2
xor edx, edx
mov dword [ebp - 0x34], edi
inc esi
mov dl, byte [edi + 1]
mov dword [ebp - 0xc], edx
xor edx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 0xc]
sub edx, 0xdb
lea ebx, [edi - 0x45]
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x411a29
mov byte [ebp + esi - 0x165], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x411906
mov edi, dword [ebp - 0x38]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
sub bl, 0x45
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x411b53
mov byte [ebp + esi - 0x165], dl
mov edi, dword [ebp - 0x38]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
sub bl, 0x45
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x411c65
mov byte [ebp + esi - 0x165], dl
mov edi, dword [ebp - 0x38]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
sub bl, 0x45
shl dl, 4
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 8], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0xc], edx
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x3f0]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x3f0]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x3f0]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
mov edx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x3f0]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x3f0]
mov bl, byte [ebp - 0x18]
xor dl, bl
test esi, esi
mov byte [ebp - 0x1c], dl
jbe 0x411d74
mov byte [ebp + esi - 0x165], dl
mov edx, dword [ebp - 0x18]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x3f0]
mov dl, byte [ebp + edx - 0x3f0]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x10]
mov byte [ebp - 8], al
mov eax, dword [ebp - 8]
and eax, 0xff
inc bl
mov byte [ebp - 0x10], bl
mov dl, byte [ebp + eax - 0x3f0]
lea eax, [ebp + eax - 0x3f0]
mov byte [edi], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x3f0]
lea edx, [ebp + edx - 0x3f0]
mov byte [eax], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 0x20], edx
test esi, esi
lea ebx, [ebp + ebx - 0x3f0]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
jbe 0x411e71
mov edx, dword [ebp - 0x14]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x38]
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
add bl, 5
sub dl, 0x45
shl bl, 4
or bl, dl
mov edx, dword [ebp - 4]
mov dl, byte [ebp + edx - 0x3f0]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x3f0]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 4]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x3f0]
mov cl, byte [ebp + edx - 0x3f0]
xor bl, cl
mov cl, byte [ebp + eax - 0x3f0]
xor bl, cl
mov byte [ebp + esi - 0x165], bl
mov byte [ebp - 0x157], 0
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x164]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x882578]
fld qword [0x882578]
mov dword [0x8c68c8], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x890ca8]
fsub st(1)
fxch st(1)
fmul qword [0x890ca0]
fadd qword [0x890c98]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x890c90]
fnstsw ax
test ah, 0x41
jne 0x411ed3
fld st(0)
fmul qword [0x890c88]
fsubp st(2)
fadd qword [0x890d18]
fcom qword [0x890c80]
fnstsw ax
test ah, 1
jne 0x411e9a
fxch st(1)
fst qword [ebp - 0x70]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
fnstsw ax
test ah, 1
je 0x411f51
jg 0x411f10
jge 0x411f0d
sbb byte [edx], 0x87
or edi, dword [eax + 0x15]
adc byte [edi], 0x85
sbb byte [edi - 0x7df07def], al
push cs
jb 0x82579721
js 0x411f28
adc byte [ebx], 0x7d
adc al, 0x7c
or edi, dword [esi + ecx - 0x80]
adc al, 0x78
sbb bh, byte [ebx + 0x14]
test dword [eax], ebx
test dword [edi], ecx
jge 0x411f38
adc edi, dword [ebp + 0x14]
jl 0x411f23
jl 0x411f28
invalid
adc byte [esi], 0x7c
adc byte [edi + 0x7a0f8617], al
imul edi, dword [edx], 0x37615471
jl 0x411f3a
xchg dword [edi], edx
xchg byte [edi], cl
jp 0x411f99
cmp dh, byte [ecx + 0x54]
popal
aaa
bound ebx, qword [ebx + 0x38]
sub esi, dword [edx]
dec ebp
inc ebp
cmp dh, byte [esi]
sub eax, 0x29546768
pop ebx
push 0x5c30277e
jge 0x411fb8
insd dword es:[edi], dx
jmp 0x412783
mov dword [ebp - 0x34], 0x411efc
mov dword [ebp - 8], 0x411f2e
xor eax, eax
mov byte [ebp + eax - 0x3f0], al
inc eax
cmp eax, 0x100
jb 0x411f61
fld qword [ebp - 0x70]
mov byte [ebp - 0xc], 0
mov esi, dword [ebp - 0xc]
xor edi, edi
mov dword [ebp - 0x3c], 0xff
mov eax, dword [ebp - 0x3c]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 4], 0
jbe 0x411f9e
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x411f96
add dword [ebx], edi
fdiv dword [edx - 8]
cmp edi, 3
ja case.default.0x411fa3
jmp dword [edi*4 + 0x42b26c]
invalid
mov eax, dword [ebp - 8]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x3f0]
add cl, al
inc edi
cmp edi, 0x22
mov byte [ebp - 0xc], cl
jb 0x412032
xor edi, edi
add cl, 0x22
mov byte [ebp - 0xc], cl
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 4], eax
jbe 0x412052