Function at 0x40e000
Capabilities:
Encrypt data using rc4 ksa
Encrypt data using speck
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x470
fld qword [0x88b578]
fld qword [0x88b578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x899df8]
fsub st(1)
fxch st(1)
fmul qword [0x899df0]
fadd qword [0x899de8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x899de0]
fnstsw ax
test ah, 0x41
jne 0x40e04e
fld st(0)
fmul qword [0x899dd8]
fsubp st(2)
fadd qword [0x8924f0]
fcom qword [0x899dd0]
fnstsw ax
test ah, 1
jne 0x40e015
fxch st(1)
fst qword [ebp - 0x4c]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
push ebx
push esi
push edi
fnstsw ax
test ah, 1
je 0x40e0a9
xchg esi, eax
test cl, al
add ebp, 0xca86c88a
mov es, ecx
mov bl, al
test byte [ebp - 0x437d3a7e], bh
mov al, dl
cmp eax, 0x3d614327
inc ebx
cmp esi, dword [ecx]
dec edx
sub al, 0x61
jp 0x40e0c2
push esi
outsb dx, byte fs:[esi]
sub dword [edx - 0x17], eax
sub dword [ecx], ecx
add byte [eax], al
mov dword [ebp - 0x2c], 0x40e07a
mov dword [ebp - 0x40], 0x40e090
xor eax, eax
mov byte [ebp + eax - 0x38c], al
inc eax
cmp eax, 0x100
add byte [ecx], al
add byte [eax], al
jb 0x40e0b9
fld qword [ebp - 0x4c]
mov eax, 0xff
mov byte [ebp - 4], 0
mov esi, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x38], eax
jmp 0x40e0e1
mov eax, dword [ebp - 0x38]
mov ebx, 1
mov dword [ebp - 0x30], 0
cmp eax, ebx
jbe 0x40e0f9
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40e0f1
cmp edi, 3
ja case.default.0x40e0fe
jmp dword [edi*4 + 0x42de28]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
jmp 0x40e17a
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 8
jmp 0x40e17a
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 0x10
jmp 0x40e17a
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 0x18
jmp 0x40e17a
mov eax, dword [ebp - 0x40]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x38c]
add cl, al
inc edi
cmp edi, 0x18
mov byte [ebp - 4], cl
jb 0x40e18d
xor edi, edi
add cl, 0x18
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x40e1ad
mov eax, edx
xor edx, edx
div dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp edx, eax
ja 0x40e0f9
mov ecx, eax
cmp ecx, edx
je 0x40e1f6
mov al, byte [ebp + edx - 0x38c]
mov bl, byte [ebp + ecx - 0x38c]
lea edx, [ebp + edx - 0x38c]
xor bl, al
mov byte [ebp + ecx - 0x38c], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x38c]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x38c], al
dec ecx
mov dword [ebp - 0x38], ecx
jne 0x40e0de
mov dl, byte [ebp - 0x385]
mov edi, dword [ebp - 0x2c]
and esi, 0xff
mov byte [ebp - 4], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x389]
mov al, byte [ebp + esi - 0x38c]
mov cl, byte [ebp - 0x387]
mov byte [ebp - 0x1c], al
mov al, byte [edi + 1]
add al, 0x44
shl dl, 4
or al, dl
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x1c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x38c]
lea esi, [ebp + eax - 0x38c]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x38b]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x38c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [esi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x38c]
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 - 0x38c]
mov dword [ebp - 0x30], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0xc], cl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x14]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 8]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x38c]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x1d]
mov byte [ebp - 0x1c], dl
xor bl, dl
mov dl, byte [edi + 3]
mov byte [ebp - 4], bl
mov bl, byte [edi + 2]
add dl, 0x44
shl bl, 4
or dl, bl
add edi, 4
mov byte [ebp - 0x1d], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea esi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [esi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x38c]
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 - 0x38c]
mov dword [ebp - 0x30], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0xc], cl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 8]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + esi - 0x38c]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x1d]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 4], dl
mov byte [ebp - 0x7c], dl
mov dl, byte [edi + 1]
mov bl, byte [edi]
add dl, 0x44
shl bl, 4
or dl, bl
mov byte [ebp - 0x1d], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x38], 3
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x38c]
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 - 0x38c]
mov dword [ebp - 0x30], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0xc], cl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x1d]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 4], dl
mov byte [ebp - 0x7b], dl
mov edx, dword [ebp - 0x2c]
lea edi, [edx + 4]
jmp 0x40e54d
mov edi, dword [ebp - 0x40]
mov dl, byte [edi + 3]
mov bl, byte [edi + 2]
add edi, 2
add dl, 0x44
shl bl, 4
or dl, bl
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x1d], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
inc esi
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x38c]
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 - 0x38c]
mov dword [ebp - 0x30], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0xc], cl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x1d]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 4], dl
jbe 0x40e65b
mov byte [ebp + esi - 0x7d], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x40e54a
mov edi, dword [ebp - 0x2c]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add bl, 0x44
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x1d], bl
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x38c]
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 - 0x38c]
mov dword [ebp - 0x30], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0xc], cl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x1d]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 4], dl
jbe 0x40e781
mov byte [ebp + esi - 0x7d], dl
mov edx, dword [ebp - 0x2c]
inc esi
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
xor edx, edx
add bl, 0x44
mov dl, byte [edi]
mov dword [ebp - 0x40], edi
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x1d], bl
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x38c]
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 - 0x38c]
mov dword [ebp - 0x30], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0xc], cl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x1d]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 4], dl
jbe 0x40e894
mov byte [ebp + esi - 0x7d], dl
lea ebx, [esi + 1]
cmp ebx, 0xc
jge 0x40e9ce
mov edi, dword [ebp - 0x40]
mov edx, 0xc
sub edx, ebx
mov dword [ebp - 0x38], edx
jmp 0x40e8b2
mov edi, dword [ebp - 0x40]
mov bl, byte [edi + 3]
add edi, 2
xor edx, edx
add bl, 0x44
mov dl, byte [edi]
mov dword [ebp - 0x40], edi
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x1d], bl
inc esi
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x30]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x38c]
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 - 0x38c]
mov dword [ebp - 0x30], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x18]
mov byte [ebx], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dword [ebp - 0x14], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 0xc], cl
mov edx, dword [ebp - 0xc]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 8]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x14]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x1d]
mov byte [ebp - 0x1c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 4], dl
jbe 0x40e9c1
mov byte [ebp + esi - 0x7d], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x40e8af
mov byte [ebp - 0x72], 0
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x88b578]
fld qword [0x88b578]
mov dword [ebp - 0x454], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x899dc8]
fsub st(1)
fxch st(1)
fmul qword [0x899dc0]
fadd qword [0x899db8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x899db0]
fnstsw ax
test ah, 0x41
jne 0x40ea27
fld st(0)
fmul qword [0x899da8]
fsubp st(2)
fadd qword [0x8924f0]
fcom qword [0x899da0]
fnstsw ax
test ah, 1
jne 0x40e9ee
fxch st(1)
fst qword [ebp - 0x4c]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x40ea84
mov dword [edi - 0x42734071], edi
mov edi, dword [ebp - 0x43753873]
mov es, ebp
xchg edx, eax
mov edi, 0xc08bbc8c
xchg ah, al
mov byte [ebp + 0x77642a4d], bh
bound ebp, qword [ebx]
push ebx
xor esi, dword [0x3c5c762f]
pop edx
sub ebp, dword [ebx + esi*2]
aaa
jle 0x40eab8
inc ebp
and al, 0x30
jmp 0x40f7bb
mov dword [ebp - 0x10], 0x40ea50
mov dword [ebp - 0x40], 0x40ea68
xor eax, eax
mov byte [ebp + eax - 0x38c], al
inc eax
cmp eax, 0x100
jb 0x40ea94
fld qword [ebp - 0x4c]
mov byte [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 4], 0xff
mov eax, dword [ebp - 4]
cld
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x38], 0
jbe 0x40ead1
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40eac9
cmp edi, 3
ja case.default.0x40ead6
jmp dword [edi*4 + 0x42de38]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
jmp 0x40eb52
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 8
jmp 0x40eb52
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 0x10
jmp 0x40eb52
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 0x18
jmp 0x40eb52
mov edx, dword [ebp - 0x40]
and esi, 0xff
mov cl, byte [ebp + esi - 0x38c]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x1b
mov byte [ebp - 0x30], cl
jb 0x40eb65
xor edi, edi
add cl, 0x1b
mov byte [ebp - 0x30], cl
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x38], eax
jbe 0x40eb85
mov eax, edx
xor edx, edx
div dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, edx
jb 0x40ead1
je 0x40ebbd
mov bl, byte [ebp + eax - 0x38c]
lea edx, [ebp + edx - 0x38c]
lea ecx, [ebp + eax - 0x38c]
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 - 4]
dec eax
mov dword [ebp - 4], eax
jne 0x40eab6
mov dl, byte [ebp - 0x385]
and esi, 0xff
mov byte [ebp - 0x24], dl
mov bl, byte [ebp - 0x389]
mov al, byte [ebp + esi - 0x38c]
mov esi, dword [ebp - 0x10]
mov byte [ebp - 0x1c], al
mov cl, byte [ebp - 0x387]
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 0xa
add dl, 0x47
shl al, 4
or al, dl
mov byte [ebp - 0x10], al
mov eax, dword [ebp - 0x1c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x38c]
lea edi, [ebp + eax - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x38b]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x38c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0xc]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x38c]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], dl
xor bl, dl
mov dl, byte [esi + 3]
mov byte [ebp - 0x24], bl
add dl, 0x47
mov bl, byte [esi + 2]
add bl, 0xa
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 0x24], dl
mov byte [ebp - 0xa0], dl
mov dl, byte [esi + 4]
mov bl, byte [esi + 5]
add dl, 0xa
add bl, 0x47
shl dl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x3c], dl
mov byte [ebp - 0x28], al
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x9f], dl
mov bl, byte [esi + 7]
xor edx, edx
mov dl, byte [esi + 6]
add bl, 0x47
add dl, 0xa
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x10], bl
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
lea edi, [ebp - 0xa0]
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
dec edi
mov byte [ebp - 0x24], dl
mov dword [ebp - 0x48], edi
mov byte [edi + 3], dl
mov bl, byte [esi + 8]
mov dl, byte [esi + 9]
add bl, 0xa
add dl, 0x47
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x9d], dl
mov dl, byte [esi + 0xa]
mov bl, byte [esi + 0xb]
add dl, 0xa
sub ebx, 0xb9
shl dl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov dword [ebp - 4], 6
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x9c], dl
mov bl, byte [esi + 0xd]
xor edx, edx
mov dl, byte [esi + 0xc]
sub ebx, 0xb9
sub edx, 0x86
shl edx, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
mov dword [ebp - 0x38], 3
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
lea edi, [esi + 0xc]
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x9b], dl
jmp 0x40f35e
mov edi, dword [ebp - 0x40]
mov dl, byte [edi + 2]
add edi, 2
inc ebx
add dl, 0xa
mov dword [ebp - 4], ebx
mov bl, byte [edi + 1]
shl dl, 4
add bl, 0x47
mov dword [ebp - 0x40], edi
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
mov ebx, dword [ebp - 4]
test ebx, ebx
mov byte [ebp - 0x24], dl
jbe 0x40f477
mov edi, dword [ebp - 0x48]
mov byte [edi + ebx], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x40f35b
mov dl, byte [esi + ebx*2 + 3]
inc ebx
add dl, 0x47
mov dword [ebp - 4], ebx
mov byte [ebp - 0x1d], dl
mov dl, byte [esi + ebx*2]
mov bl, byte [ebp - 0x1d]
add dl, 0xa
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov byte [ebp - 0x10], bl
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
mov edi, dword [ebp - 4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], bl
xor dl, bl
test edi, edi
mov byte [ebp - 0x24], dl
jbe 0x40f5aa
mov byte [ebp + edi - 0xa1], dl
mov bl, byte [esi + edi*2 + 2]
mov dl, byte [esi + edi*2 + 3]
inc edi
add bl, 0xa
add dl, 0x47
mov dword [ebp - 4], edi
shl bl, 4
or dl, bl
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x28], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x2c]
mov byte [ebx], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
mov edi, dword [ebp - 4]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x10]
xor dl, bl
test edi, edi
mov byte [ebp - 0x24], dl
jbe 0x40f6bd
mov byte [ebp + edi - 0xa1], dl
mov edx, dword [ebp - 0x10]
inc edi
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [ebp - 0x2c], bl
mov ebx, dword [ebp - 8]
add al, byte [ebx]
mov byte [ebp - 0x28], al
mov al, byte [ebp - 0x3c]
inc al
mov byte [ebp - 0x3c], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
mov bl, byte [ebp + eax - 0x38c]
lea eax, [ebp + eax - 0x38c]
mov byte [edx], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], eax
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
and eax, 0xff
test edi, edi
lea eax, [ebp + eax - 0x38c]
mov dword [ebp - 8], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 8]
mov al, byte [ebp - 0x2c]
mov byte [ebx], al
jbe 0x40f7b4
mov eax, dword [ebp - 0x2c]
mov bl, byte [esi + edi*2]
and eax, 0xff
sub bl, 6
mov dword [ebp - 0xc], eax
mov al, byte [esi + edi*2 + 1]
mov esi, dword [ebp - 0xc]
add al, 0x47
shl bl, 4
or al, bl
mov bl, byte [ebp + esi - 0x38c]
mov dl, byte [edx]
add bl, cl
and ebx, 0xff
mov cl, byte [ebp + ebx - 0x38c]
mov ebx, esi
add ecx, edx
mov edx, dword [ebp - 0x14]
mov dl, byte [edx]
add ecx, edx
xor edx, edx
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x38c]
mov cl, byte [ebp + edx - 0x38c]
xor al, cl
mov ecx, dword [ebp - 0x18]
mov dl, byte [ecx]
add edx, ebx
and edx, 0xff
xor al, byte [ebp + edx - 0x38c]
mov byte [ebp + edi - 0xa1], al
mov byte [ebp - 0x95], 0
mov ecx, dword [ebp - 0x454]
lea eax, [ebp - 0xa0]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x88b578]
fld qword [0x88b578]
mov dword [0x8cf8cc], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x899d98]
fsub st(1)
fxch st(1)
fmul qword [0x899d90]
fadd qword [0x899d88]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x899d80]
fnstsw ax
test ah, 0x41
jne 0x40f819
fld st(0)
fmul qword [0x899d78]
fsubp st(2)
fadd qword [0x8924f0]
fcom qword [0x899d70]
fnstsw ax
test ah, 1
jne 0x40f7e0
fxch st(1)
fst qword [ebp - 0x44]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x40f889
sahf
sbb ah, byte [edx - 0x68e964e1]
pop ss
pushfd
sbb eax, 0x1f9e1c99
xchg edi, eax
adc dword [edx - 0x68e662ee], ebx
sbb dword [esi - 0x65e067e9], edx
sbb esp, dword [ebx - 0x5ce96ae6]
adc ebx, dword [edx + 0x4317a018]
and al, 0x44
cmp ebp, dword [ecx]
push ecx
jbe 0x40f8d6
inc edx
and eax, 0x4f782763
inc esp
bound esi, qword [esi]
inc edx
pop esi
pop edx
sub eax, 0x64402e7c
and eax, 0x601e9
add bh, al
inc ebp
in al, dx
inc edx
clc
inc eax
add bh, al
inc ebp
mov eax, 0x40f868
mov dword [ebp - 0x14], 0x40f842
mov dword [ebp - 0x48], 0x40f868
xor eax, eax
mov byte [ebp + eax - 0x38c], al
inc eax
cmp eax, 0x100
jb 0x40f899
fld qword [ebp - 0x44]
mov byte [ebp - 4], 0
mov esi, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x38], 0xff
mov eax, dword [ebp - 0x38]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x40f8d6
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40f8ce
cmp edi, 3
ja case.default.0x40f8db
jmp dword [edi*4 + 0x42de48]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
jmp 0x40f957
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 8
jmp 0x40f957
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 0x10
jmp 0x40f957
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 0x18
jmp 0x40f957
mov edx, dword [ebp - 0x48]
and esi, 0xff
mov cl, byte [ebp + esi - 0x38c]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x20
mov byte [ebp - 4], cl
jb 0x40f96a
xor edi, edi
add cl, 0x20
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x40f98a
mov eax, edx
xor edx, edx
div dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, edx
jb 0x40f8d6
je 0x40f9c2
mov bl, byte [ebp + eax - 0x38c]
lea edx, [ebp + edx - 0x38c]
lea ecx, [ebp + eax - 0x38c]
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 - 0x38]
dec eax
mov dword [ebp - 0x38], eax
jne 0x40f8bb
mov cl, byte [ebp - 0x387]
mov dl, byte [ebp - 0x385]
and esi, 0xff
mov byte [ebp - 0x1c], cl
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 0x18], dl
mov al, byte [ebp + esi - 0x38c]
mov bl, byte [ebp - 0x389]
mov byte [ebp - 0x28], al
mov al, byte [ecx + 1]
mov cl, byte [ecx]
mov edx, dword [ebp - 0x28]
add cl, 0xb
sub al, 0x10
shl cl, 4
or al, cl
and edx, 0xff
mov byte [ebp - 8], al
xor esi, esi
mov cl, byte [ebp + edx - 0x38c]
lea eax, [ebp + edx - 0x38c]
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x38b]
mov edx, ecx
and edx, 0xff
fstp st(0)
mov dl, byte [ebp + edx - 0x38c]
add dl, bl
inc cl
mov byte [ebp - 0x38], dl
mov byte [ebp - 4], cl
mov ecx, dword [ebp - 0x38]
and ecx, 0xff
lea edi, [ebp + ecx - 0x38c]
mov dword [ebp - 0xc], edi
mov cl, byte [edi]
mov byte [eax], cl
mov ecx, dword [ebp - 0x18]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x38c]
lea ecx, [ebp + ecx - 0x38c]
mov byte [edi], bl
mov edi, dword [ebp - 4]
and edi, 0xff
mov dword [ebp - 0x10], ecx
mov bl, byte [ebp + edi - 0x38c]
lea edi, [ebp + edi - 0x38c]
mov byte [ecx], bl
mov cl, byte [ebp - 0x30]
mov bl, byte [ebp - 0x1c]
mov byte [edi], cl
mov ecx, dword [ebp - 0x30]
mov al, byte [eax]
and ecx, 0xff
mov dword [ebp - 0x24], ecx
mov cl, byte [ebp + ecx - 0x38c]
add bl, cl
mov byte [ebp - 0x1c], bl
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x38c]
add ecx, ebx
mov ebx, dword [ebp - 0x24]
add ecx, eax
xor eax, eax
and ecx, 0xff
mov al, byte [ebp + ecx - 0x38c]
mov ecx, dword [ebp - 0xc]
mov cl, byte [ecx]
add ecx, ebx
mov bl, byte [ebp + eax - 0x38c]
and ecx, 0xff
mov al, byte [ebp + ecx - 0x38c]
xor bl, al
mov al, byte [ebp - 8]
xor bl, al
mov byte [ebp - 0x28], al
mov byte [ebp - 0x18], bl
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], 8
jmp 0x40fb19
mov ebx, dword [ebp - 0x48]
add ebx, 2
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x48], ebx
mov al, byte [ebx]
mov cl, byte [ebx + 1]
add al, 0xb
sub cl, 0x10
shl al, 4
or al, cl
mov bl, byte [ebp - 4]
mov byte [ebp - 8], al
mov eax, dword [ebp - 0x28]
and eax, 0xff
inc esi
mov cl, byte [ebp + eax - 0x38c]
lea eax, [ebp + eax - 0x38c]
mov byte [ebp - 0x30], cl
mov cl, byte [edi]
add dl, cl
inc bl
mov byte [ebp - 0x38], dl
mov ecx, dword [ebp - 0x38]
and ecx, 0xff
mov byte [ebp - 4], bl
lea edi, [ebp + ecx - 0x38c]
mov dword [ebp - 0xc], edi
mov cl, byte [edi]
mov byte [eax], cl
mov ecx, dword [ebp - 0x18]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x38c]
lea ecx, [ebp + ecx - 0x38c]
mov byte [edi], bl
mov edi, dword [ebp - 4]
and edi, 0xff
mov dword [ebp - 0x10], ecx
mov bl, byte [ebp + edi - 0x38c]
lea edi, [ebp + edi - 0x38c]
mov byte [ecx], bl
mov cl, byte [ebp - 0x30]
mov bl, byte [ebp - 0x1c]
mov byte [edi], cl
mov ecx, dword [ebp - 0x30]
mov al, byte [eax]
and ecx, 0xff
mov dword [ebp - 0x24], ecx
mov cl, byte [ebp + ecx - 0x38c]
add bl, cl
mov byte [ebp - 0x1c], bl
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x38c]
add ecx, ebx
mov ebx, dword [ebp - 0x24]
add ecx, eax
xor eax, eax
and ecx, 0xff
mov al, byte [ebp + ecx - 0x38c]
mov ecx, dword [ebp - 0xc]
mov cl, byte [ecx]
mov al, byte [ebp + eax - 0x38c]
add ecx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x38c]
mov cl, byte [ebp - 8]
xor al, bl
mov byte [ebp - 0x28], cl
xor al, cl
test esi, esi
mov byte [ebp - 0x18], al
jbe 0x40fc2a
mov byte [ebp + esi - 0x3dd], al
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
jne 0x40fb16
mov eax, dword [ebp - 4]
lea ebx, [esi + 1]
cmp ebx, 0x13
jge 0x40fd85
and eax, 0xff
lea ecx, [ebp + eax - 0x38c]
mov eax, dword [ebp - 0x14]
lea edi, [eax + esi*2]
mov eax, 0x13
sub eax, ebx
mov dword [ebp - 0x3c], eax
jmp 0x40fc6a
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x2c]
mov al, byte [edi + 3]
mov bl, byte [edi + 2]
add edi, 2
add bl, 0xb
mov dword [ebp - 0x48], edi
mov edi, dword [ebp - 0x28]
and edi, 0xff
sub al, 0x10
shl bl, 4
lea edi, [ebp + edi - 0x38c]
or al, bl
inc esi
mov byte [ebp - 8], al
mov bl, byte [edi]
mov byte [ebp - 0x28], al
mov byte [ebp - 0x30], bl
mov bl, byte [ecx]
mov cl, byte [ebp - 4]
add dl, bl
inc cl
mov byte [ebp - 0x38], dl
mov byte [ebp - 4], cl
mov ecx, dword [ebp - 0x38]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x38c]
lea ecx, [ebp + ecx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0xc], ecx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [ecx], bl
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
and ecx, 0xff
lea ecx, [ebp + ecx - 0x38c]
mov dword [ebp - 0x2c], ecx
mov cl, byte [ecx]
mov byte [ebx], cl
mov ebx, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x30]
mov byte [ebx], cl
mov ecx, dword [ebp - 0x30]
mov bl, byte [ebp - 0x1c]
and ecx, 0xff
mov dword [ebp - 0x24], ecx
mov cl, byte [ebp + ecx - 0x38c]
add bl, cl
mov byte [ebp - 0x1c], bl
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x38c]
add ecx, ebx
mov bl, byte [edi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x38c]
mov ecx, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [ecx]
mov ecx, dword [ebp - 0x24]
add ebx, ecx
mov cl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor cl, byte [ebp + ebx - 0x38c]
xor cl, al
test esi, esi
mov byte [ebp - 0x18], cl
jbe 0x40fd75
mov byte [ebp + esi - 0x3dd], cl
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
jne 0x40fc64
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
and eax, 0xff
and ecx, 0xff
inc esi
lea edi, [ebp + ecx - 0x38c]
mov cl, byte [ebp + ecx - 0x38c]
mov byte [ebp - 0x30], cl
mov cl, byte [ebp + eax - 0x38c]
mov al, byte [ebp - 4]
add dl, cl
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x38]
inc al
and edx, 0xff
mov byte [ebp - 4], al
mov cl, byte [ebp + edx - 0x38c]
lea eax, [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x18]
mov byte [edi], cl
and edx, 0xff
lea ecx, [ebp + edx - 0x38c]
mov dword [ebp - 0x10], 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 - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [ecx], bl
mov cl, byte [ebp - 0x30]
mov byte [edx], cl
jbe 0x40fe83
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x30]
and ecx, 0xff
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 5
sub bl, 0x10
shl dl, 4
mov dword [ebp - 0x24], ecx
mov cl, byte [ebp + ecx - 0x38c]
or bl, dl
mov dl, byte [ebp - 0x1c]
add cl, dl
and ecx, 0xff
mov dl, byte [ebp + ecx - 0x38c]
mov cl, byte [edi]
add edx, ecx
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x24]
mov cl, byte [ecx]
add edx, ecx
xor ecx, ecx
and edx, 0xff
mov cl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp + ecx - 0x38c]
xor bl, dl
mov dl, byte [eax]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x38c]
mov byte [ebp + esi - 0x3dd], bl
mov byte [ebp - 0x3ca], 0
mov ecx, dword [ebp - 0x454]
lea eax, [ebp - 0x3dc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x88b578]
fld qword [0x88b578]
mov dword [0x8cf90c], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x899d68]
fsub st(1)
fxch st(1)
fmul qword [0x892610]
fadd qword [0x899d60]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x899d58]
fnstsw ax
test ah, 0x41
jne 0x40fee8
les eax, [ecx + 0x75]
or bl, cl
rcr ah, 0xd
push eax
popfd
mov dword [eax], eax
fld st(0)
fmul qword [0x899d50]
add dh, bl
ljmp 0x88
fsubp st(2)
fadd qword [0x88b548]
fcom qword [0x899d48]
fnstsw ax
test ah, 1
jne 0x40feaf
fxch st(1)
fst qword [ebp - 0x34]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x40ff4f
ja 0x40fecd
imul edi, dword [ebx - 0x42944096], 0xc76dc773
jne 0x40feda
je 0x40fee8
jb 0x40fee8
insb byte es:[edi], dx
mov ebx, 0xc66abe68
jbe 0x40fee5
jp 0x40ffa6
sub bl, byte [eax + 0x6b]
sub dword [eax], ebp
and dword [esi], ebp
jns 0x40ffab
push esi
push 0x61
bound edx, qword [ebp + 0x30]
jl 0x40ffb9
cmp eax, 0x4561696a
xor ebp, dword [esi]
push esi
inc ebx
jmp 0x410bca
mov dword [ebp - 0x40], 0x40ff11
mov dword [ebp - 0x48], 0x40ff2b
xor eax, eax
mov byte [ebp + eax - 0x38c], al
inc eax
cmp eax, 0x100
jb 0x40ff5f
fld qword [ebp - 0x34]
mov byte [ebp - 4], 0
mov esi, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x38], 0xff
mov eax, dword [ebp - 0x38]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x30], 0
jbe 0x40ff9c
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40ff94
cmp edi, 3
ja case.default.0x40ffa1
jmp dword [edi*4 + 0x42de58]
inc edx
add cl, bl
fld st(0)
and esi, 0xff
fld st(0)
and esi, 0xff
out 0xff, al
add byte [eax], al
add al, ch
aas
cwde
inc edx
add byte [edx - 0x38bca74], cl
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
jmp 0x41000e
cld
invalid
fld st(0)
call fcn.008397f4
mov ecx, eax
shr ecx, 8
and esi, 0xff
jmp 0x410007
fld st(0)
call fcn.008397f4
mov ecx, eax
shr ecx, 0x10
and esi, 0xff
jmp 0x410007
fld st(0)
call fcn.008397f4
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
jmp 0x410007
mov edx, dword [ebp - 0x48]
and esi, 0xff
mov cl, byte [edi + edx - 4]
mov al, byte [ebp + esi - 0x38c]
add cl, al
inc edi
cmp edi, 0x23
mov byte [ebp - 4], cl
jb 0x410021
xor edi, edi
add cl, 0x23
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x30], eax
jbe 0x410041
mov eax, edx
xor edx, edx
div dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, edx
jb 0x40ff9c
je 0x410079
mov bl, byte [ebp + eax - 0x38c]
lea edx, [ebp + edx - 0x38c]
lea ecx, [ebp + eax - 0x38c]
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 - 0x38]
dec eax
mov dword [ebp - 0x38], eax
jne 0x40ff81
mov cl, byte [ebp - 0x387]
mov dl, byte [ebp - 0x385]
and esi, 0xff
mov byte [ebp - 0xc], cl
mov byte [ebp - 0x1c], dl
mov bl, byte [ebp - 0x389]
mov al, byte [ebp + esi - 0x38c]
mov esi, dword [ebp - 0x40]
mov byte [ebp - 0x24], al
xor eax, eax
mov cl, byte [esi]
mov dl, byte [esi + 1]
add cl, 8
add dl, 0x46
shl cl, 4
or cl, dl
mov byte [ebp - 0x18], cl
mov ecx, dword [ebp - 0x24]
and ecx, 0xff
fstp st(0)
mov dl, byte [ebp + ecx - 0x38c]
lea edi, [ebp + ecx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x38b]
mov ecx, edx
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x38c]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x3c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov dl, byte [ebp + edx - 0x38c]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
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 - 0x38c]
mov edx, dword [ebp - 0x28]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x38c]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x18]
xor bl, dl
mov byte [ebp - 0x1c], bl
mov byte [ebp - 0x24], dl
mov edi, esi
mov dword [ebp - 0x38], 2
jmp 0x4101d2
mov edi, dword [ebp - 0x48]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 8
add dl, 0x46
mov dword [ebp - 0x48], edi
shl bl, 4
or dl, bl
inc eax
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x3c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov dl, byte [ebp + edx - 0x38c]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x1c], dl
jbe 0x4102e9
mov byte [ebp + eax - 0xe5], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x4101cf
mov dl, byte [esi + eax*2 + 2]
mov bl, byte [esi + eax*2 + 3]
inc eax
add dl, 8
shl dl, 4
add bl, 0x46
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 8]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x3c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov dl, byte [ebp + edx - 0x38c]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x1c], dl
jbe 0x410414
mov byte [ebp + eax - 0xe5], dl
mov bl, byte [esi + eax*2 + 3]
inc eax
xor edx, edx
add bl, 0x46
mov dl, byte [esi + eax*2]
add dl, 8
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp - 0x18], bl
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x3c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov dl, byte [ebp + edx - 0x38c]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x1c], dl
jbe 0x410528
mov byte [ebp + eax - 0xe5], dl
mov dl, byte [esi + eax*2 + 2]
mov bl, byte [esi + eax*2 + 3]
inc eax
add dl, 8
shl dl, 4
add bl, 0x46
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x3c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov dl, byte [ebp + edx - 0x38c]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x1c], dl
jbe 0x41063b
mov byte [ebp + eax - 0xe5], dl
lea ebx, [eax + 1]
cmp ebx, 0xa
jge 0x41077d
mov edx, 0xa
lea edi, [esi + eax*2]
sub edx, ebx
mov dword [ebp - 0x38], edx
jmp 0x410659
mov edi, dword [ebp - 0x48]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 8
add dl, 0x46
mov dword [ebp - 0x48], edi
shl bl, 4
or dl, bl
inc eax
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x3c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov dl, byte [ebp + edx - 0x38c]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x1c], dl
jbe 0x410770
mov byte [ebp + eax - 0xe5], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x410656
mov dl, byte [esi + eax*2 + 2]
mov bl, byte [esi + eax*2 + 3]
inc eax
add dl, 8
shl dl, 4
add bl, 0x46
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 8]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x3c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov dl, byte [ebp + edx - 0x38c]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x1c], dl
jbe 0x41089b
mov byte [ebp + eax - 0xe5], dl
mov dl, byte [esi + eax*2 + 2]
mov bl, byte [esi + eax*2 + 3]
inc eax
add dl, 8
shl dl, 4
add bl, 0x46
or dl, bl
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x3c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov dl, byte [ebp + edx - 0x38c]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], bl
xor dl, bl
test eax, eax
mov byte [ebp - 0x1c], dl
jbe 0x4109ae
mov byte [ebp + eax - 0xe5], dl
mov bl, byte [esi + eax*2 + 3]
inc eax
xor edx, edx
add bl, 0x46
mov dl, byte [esi + eax*2]
sub edx, 0x68
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov byte [ebp - 0x18], bl
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add cl, bl
inc dl
mov byte [ebp - 0x30], cl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x3c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x10], edx
mov dl, byte [ebp + edx - 0x38c]
add bl, dl
mov byte [ebp - 0xc], bl
mov bl, byte [edi]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x2c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x10]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x18]
xor dl, bl
test eax, eax
mov byte [ebp - 0x1c], dl
jbe 0x410abf
mov byte [ebp + eax - 0xe5], dl
inc eax
xor ebx, ebx
xor edx, edx
mov edi, dword [ebp - 0x3c]
mov bl, byte [esi + eax*2]
mov dl, byte [esi + eax*2 + 1]
mov esi, ebx
sub esi, 0x68
mov dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x18]
and esi, 0xff
mov bl, byte [ebp + esi - 0x38c]
lea esi, [ebp + esi - 0x38c]
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
add cl, bl
mov bl, byte [ebp - 8]
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x30]
and ecx, 0xff
inc bl
mov byte [ebp - 8], bl
lea edi, [ebp + ecx - 0x38c]
mov cl, byte [ebp + ecx - 0x38c]
mov byte [esi], cl
mov ecx, dword [ebp - 0x1c]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x38c]
lea ecx, [ebp + ecx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 0x2c], ecx
test eax, eax
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x3c], ebx
mov bl, byte [ebx]
mov byte [ecx], bl
mov ebx, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x14]
mov byte [ebx], cl
jbe 0x410bc3
mov ebx, dword [ebp - 0x14]
mov cl, byte [ebp - 0x48]
and ebx, 0xff
add dl, 0x46
shl cl, 4
or dl, cl
mov cl, byte [ebp + ebx - 0x38c]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebp - 0xc]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x2c]
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x38c]
add ecx, ebx
mov bl, byte [esi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x38c]
mov cl, byte [ebp + ebx - 0x38c]
xor dl, cl
mov cl, byte [edi]
add ecx, dword [ebp - 0x10]
and ecx, 0xff
xor dl, byte [ebp + ecx - 0x38c]
mov byte [ebp + eax - 0xe5], dl
mov byte [ebp - 0xd8], 0
lea edx, [ebp - 0xe4]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x88b578]
fld qword [0x88b578]
mov dword [ebp - 0x454], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x899d40]
fsub st(1)
fxch st(1)
fmul qword [0x899d38]
fadd qword [0x899d30]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x899d28]
fnstsw ax
test ah, 0x41
jne 0x410c22
fld st(0)
fmul qword [0x899d20]
fsubp st(2)
fadd qword [0x88b548]
fcom qword [0x899d18]
fnstsw ax
test ah, 1
jne 0x410be9
fxch st(1)
fst qword [ebp - 0x44]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x410c8c
xor eax, 0x2c543553
push esi
xor ecx, dword [edi + 0x2f]
dec esi
sub cl, byte [ebp + 0x2e]
dec ebx
sub cl, byte [edi + 0x2a]
dec esi
dec edx
xor byte [ebp + 0x30], cl
push edx
das
dec ebp
sub cl, byte [ecx + ebp + 0x54]
dec esi
sub dword [ebp + 0x37], ebp
inc ecx
dec edx
inc esi
and ebp, dword [esi]
dec esi
bound edx, qword [edi + 0x2c]
xor byte [edi + 0x3e], cl
bound edx, qword [eax + 0x7d]
jno 0x410ce8
cmp byte [ecx + esi*2], dh
insb byte es:[edi], dx
jnp case.0x410cde.1
inc edi
dec eax
pop esi
jmp 0x411a15
mov dword [ebp - 4], 0x410c4b
mov dword [ebp - 0x48], 0x410c69
xor eax, eax
mov byte [ebp + eax - 0x38c], al
inc eax
cmp eax, 0x100
jb 0x410c9c
fld qword [ebp - 0x44]
mov byte [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x38], 0xff
mov eax, dword [ebp - 0x38]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x1c], 0
jbe 0x410cd9
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x410cd1
cmp edi, 3
ja case.default.0x410cde
jmp dword [edi*4 + 0x42de68]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
out 0xff, al
add byte [eax], al
add al, ch
add cl, byte [ebx - 0x7375ffbe]
xor eax, 0xfffffc74
jmp 0x410d5a
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 8
jmp 0x410d5a
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 0x10
jmp 0x410d5a
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
shr eax, 0x18
jmp 0x410d5a
mov eax, dword [ebp - 0x48]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x38c]
add cl, al
inc edi
cmp edi, 0x22
mov byte [ebp - 0x30], cl
jb 0x410d6d
xor edi, edi
add cl, 0x22
mov byte [ebp - 0x30], cl
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x1c], eax
jbe 0x410d8d
mov eax, edx
xor edx, edx
div dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, edx
jb 0x410cd9
je 0x410dcc
mov ecx, eax
mov al, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov bl, byte [ebp + ecx - 0x38c]
lea ecx, [ebp + ecx - 0x38c]
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 - 0x38]
dec eax
mov dword [ebp - 0x38], eax
jne 0x410cbe
mov dl, byte [ebp - 0x385]
mov edi, dword [ebp - 4]
and esi, 0xff
mov byte [ebp - 0x24], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x389]
mov al, byte [ebp + esi - 0x38c]
add dl, 9
mov byte [ebp - 0x10], al
mov al, byte [edi + 1]
sub al, 0x48
mov cl, byte [ebp - 0x387]
shl dl, 4
or al, dl
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x10]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x38c]
lea esi, [ebp + eax - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x38b]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x38c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [esi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0xc]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x38c]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x28]
mov byte [ebp - 0x10], dl
xor bl, dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x24], bl
sub dl, 0x48
mov bl, byte [edi + 2]
add edi, 4
add bl, 9
shl bl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea esi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [esi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + esi - 0x38c]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x10], bl
xor dl, bl
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x1a4], dl
mov dl, byte [edi]
mov bl, byte [edi + 1]
add dl, 9
sub bl, 0x48
shl dl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [edi]
mov dword [ebp - 0x38], 3
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x10], bl
xor dl, bl
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x1a3], dl
mov edx, dword [ebp - 4]
lea edi, [edx + 4]
jmp 0x411130
mov edi, dword [ebp - 0x48]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 9
sub dl, 0x48
mov dword [ebp - 0x48], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x411244
mov byte [ebp + esi - 0x1a5], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x41112d
mov edx, dword [ebp - 4]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2]
mov edi, ebx
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
sub edi, 0x27
mov edx, ebx
sub edx, 0x48
shl edi, 4
or edx, edi
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x38]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x411376
mov byte [ebp + esi - 0x1a5], dl
mov edx, dword [ebp - 4]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
mov edi, ebx
xor ebx, ebx
mov bl, byte [edx + esi*2]
add edi, 0xffffffb8
mov edx, ebx
sub edx, 0x27
shl edx, 4
or edi, edx
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 0x38], edi
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x38]
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x41148d
mov byte [ebp + esi - 0x1a5], dl
mov edx, dword [ebp - 4]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
add bl, 9
mov dl, byte [edi + 1]
sub dl, 0x48
shl bl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x4115a1
mov byte [ebp + esi - 0x1a5], dl
lea ebx, [esi + 1]
cmp ebx, 0xd
jge 0x4116e3
mov edx, dword [ebp - 4]
lea edi, [edx + esi*2]
mov edx, 0xd
sub edx, ebx
mov dword [ebp - 0x38], edx
jmp 0x4115c2
mov edi, dword [ebp - 0x48]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 9
sub dl, 0x48
mov dword [ebp - 0x48], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x4116d6
mov byte [ebp + esi - 0x1a5], dl
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 0x38], edx
jne 0x4115bf
mov edi, dword [ebp - 4]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 9
sub dl, 0x48
shl bl, 4
or dl, bl
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 0x3c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x28]
mov byte [ebp - 0x10], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x411800
mov byte [ebp + esi - 0x1a5], dl
mov edi, dword [ebp - 4]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 9
sub bl, 0x48
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov byte [ebp - 0x28], bl
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
mov dl, byte [ebp - 0x3c]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 0x3c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x1c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x2c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 8], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x1c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0xc]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0x28]
xor dl, bl
test esi, esi
mov byte [ebp - 0x24], dl
jbe 0x411911
mov byte [ebp + esi - 0x1a5], dl
mov edx, dword [ebp - 0x28]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x14], dl
mov edx, dword [ebp - 8]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x3c]
mov byte [ebp - 0x18], al
inc bl
mov eax, dword [ebp - 0x18]
mov byte [ebp - 0x3c], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x38c]
lea eax, [ebp + eax - 0x38c]
mov byte [edi], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [eax], bl
mov ebx, dword [ebp - 0x3c]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
test esi, esi
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 8]
mov dl, byte [ebp - 0x14]
mov byte [ebx], dl
jbe 0x411a0e
mov edx, dword [ebp - 0x14]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 4]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 7
sub bl, 0x48
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0xc]
mov dl, byte [ebp + edx - 0x38c]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x38c]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0xc]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x38c]
mov cl, byte [ebp + edx - 0x38c]
xor bl, cl
mov cl, byte [ebp + eax - 0x38c]
xor bl, cl
mov byte [ebp + esi - 0x1a5], bl
mov byte [ebp - 0x196], 0
mov edx, dword [ebp - 0x454]
lea ecx, [ebp - 0x1a4]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x88b578]
fld qword [0x88b578]
mov dword [0x8cf944], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x899d10]
fsub st(1)
fxch st(1)
fmul qword [0x899d08]
fadd qword [0x899d00]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x899cf8]
fnstsw ax
test ah, 0x41
jne 0x411a73
fld st(0)
fmul qword [0x899cf0]
fsubp st(2)
fadd qword [0x88b548]
fcom qword [0x899ce8]
fnstsw ax
test ah, 1
jne 0x411a3a
fxch st(1)
fst qword [ebp - 0x44]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x411ace
inc edx
xor ecx, dword [ebx + 0x6d]
pop edx
aaa
dec edx
dec ecx
pop edx
push edi
dec edx
inc ebp
and dword [ebx + 0x3d], ebp
push ebx
pushal
invalid
mov dword [ebp - 0x38], 0x411aad
mov dword [ebp - 0x48], 0x411a9c
xor eax, eax
mov byte [ebp + eax - 0x38c], al
inc eax
cmp eax, 0x100
jb 0x411ade
fld qword [ebp - 0x44]
mov byte [ebp - 4], 0
mov esi, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x30], 0xff
mov eax, dword [ebp - 0x30]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x1c], 0
jbe 0x411b1b
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x411b13
cmp edi, 3
ja case.default.0x411b20
jmp dword [edi*4 + 0x42de78]
fld st(0)
and esi, 0xff
call fcn.008397f4
mov cl, byte [ebp + esi - 0x38c]
add cl, al
jmp 0x411ba6
fld st(0)
call fcn.008397f4
and esi, 0xff
mov ecx, eax
shr ecx, 8
add cl, byte [ebp + esi - 0x38c]
jmp 0x411ba6
fld st(0)
call fcn.008397f4
and esi, 0xff
mov ecx, eax
shr ecx, 0x10
add cl, byte [ebp + esi - 0x38c]
jmp 0x411ba6
fld st(0)
call fcn.008397f4
and esi, 0xff
mov ecx, eax
shr ecx, 0x18
add cl, byte [ebp + esi - 0x38c]
jmp 0x411ba6
mov eax, dword [ebp - 0x48]
and esi, 0xff
mov cl, byte [ebp + esi - 0x38c]
mov dl, byte [edi + eax - 4]
add cl, dl
inc edi
mov byte [ebp - 4], cl
cmp edi, 0x15
jb 0x411bb7
xor edi, edi
add cl, 0x15
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x1c], eax
jbe 0x411bd7
mov eax, edx
xor edx, edx
div dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, edx
jb 0x411b1b
je 0x411c16
mov ecx, eax
mov al, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov bl, byte [ebp + ecx - 0x38c]
lea ecx, [ebp + ecx - 0x38c]
xor bl, al
mov byte [ecx], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ecx]
mov dl, bl
xor al, dl
mov byte [ecx], al
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
jne 0x411b00
mov dl, byte [ebp - 0x385]
mov edi, dword [ebp - 0x38]
and esi, 0xff
mov byte [ebp - 0x28], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x389]
mov al, byte [ebp + esi - 0x38c]
add dl, 0xa
mov byte [ebp - 8], al
mov al, byte [edi + 1]
add al, 0x36
xor esi, esi
shl dl, 4
or al, dl
mov cl, byte [ebp - 0x387]
mov byte [ebp - 0xc], al
mov eax, dword [ebp - 8]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x38c]
lea edi, [ebp + eax - 0x38c]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x38b]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x38c]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x30], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x30]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x30]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 4]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x2c]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x38c]
add edx, edi
mov edi, dword [ebp - 0x38]
and edx, 0xff
xor bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0xc]
mov byte [ebp - 8], dl
xor bl, dl
mov byte [ebp - 0x28], bl
mov dword [ebp - 0x3c], 4
jmp 0x411d67
mov edi, dword [ebp - 0x48]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xa
add dl, 0x36
mov dword [ebp - 0x48], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x30], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x30]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x30]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0xc]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x411e7b
mov byte [ebp + esi - 0x175], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x411d64
mov edx, dword [ebp - 0x38]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
add bl, 0xa
mov dl, byte [edi + 1]
add dl, 0x36
shl bl, 4
or dl, bl
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x30], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x30]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x30]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0xc]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x411fa7
mov byte [ebp + esi - 0x175], dl
lea ebx, [esi + 1]
cmp ebx, 0xc
jge 0x4120e9
mov edx, dword [ebp - 0x38]
lea edi, [edx + esi*2]
mov edx, 0xc
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x411fc8
mov edi, dword [ebp - 0x48]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 0xa
add dl, 0x36
mov dword [ebp - 0x48], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x30], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x30]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x30]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0xc]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x4120dc
mov byte [ebp + esi - 0x175], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x411fc5
mov edi, dword [ebp - 0x38]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0x86
add bl, 0x36
shl edx, 4
or bl, dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov byte [ebp - 0xc], bl
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x30], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x30]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x30]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0xc]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x41220b
mov byte [ebp + esi - 0x175], dl
mov edi, dword [ebp - 0x38]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0x86
sub ebx, 0xca
shl edx, 4
or dl, bl
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
mov dl, byte [ebp - 0x18]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x2c], edx
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x30], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x30]
and edx, 0xff
lea edx, [ebp + edx - 0x38c]
mov dword [ebp - 0x1c], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dword [ebp - 4], edx
mov bl, byte [ebp + edx - 0x38c]
add cl, bl
mov ebx, dword [ebp - 0x30]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x38c]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x2c]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x38c]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x38c]
mov bl, byte [ebp - 0xc]
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x412324
mov byte [ebp + esi - 0x175], dl
mov edx, dword [ebp - 0xc]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x38c]
mov dl, byte [ebp + edx - 0x38c]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], al
inc bl
mov eax, dword [ebp - 0x24]
mov byte [ebp - 0x18], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x38c]
lea eax, [ebp + eax - 0x38c]
mov byte [edi], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x38c]
lea edx, [ebp + edx - 0x38c]
mov byte [eax], bl
mov ebx, dword [ebp - 0x18]
and ebx, 0xff
mov dword [ebp - 0x30], edx
test esi, esi
lea ebx, [ebp + ebx - 0x38c]
mov dword [ebp - 0x1c], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
jbe 0x412421
mov edx, dword [ebp - 0x10]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x38]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 6
add bl, 0x36
shl dl, 4
or bl, dl
mov edx, dword [ebp - 4]
mov dl, byte [ebp + edx - 0x38c]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x38c]
mov edx, dword [ebp - 0x30]
mov dl, byte [edx]
add ecx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 4]
add ecx, edx
and ecx, 0xff
xor edx, edx
add eax, edi
mov dl, byte [ebp + ecx - 0x38c]
and eax, 0xff
mov cl, byte [ebp + edx - 0x38c]
xor bl, cl
mov cl, byte [ebp + eax - 0x38c]
xor bl, cl
mov byte [ebp + esi - 0x175], bl
mov byte [ebp - 0x167], 0
mov edx, dword [ebp - 0x454]
lea ecx, [ebp - 0x174]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x88b578]
fld qword [0x88b578]
mov dword [0x8cf8c8], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x899ce0]
fsub st(1)
fxch st(1)
fmul qword [0x899cd8]
fadd qword [0x899cd0]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x899cc8]
fnstsw ax
test ah, 0x41
jne 0x412486
fld st(0)
fmul qword [0x899cc0]
fsubp st(2)
fadd qword [0x892488]
fcom qword [0x899cb8]
fnstsw ax
test ah, 1
jne 0x41244d
fxch st(1)
fst qword [ebp - 0x44]
fxch st(1)
fstp st(0)
fcomp qword [0x88b578]
fnstsw ax
test ah, 1
je 0x4124fa
imul edi, dword [esi + 0x30], 0x6c
pushaw
insd dword es:[edi], dx
imul esp, dword [esi], 0x3d756148
dec edi
and ch, byte [esp + 0x7b]
xor edx, dword [edi + 0x28]
movsb byte es:[edi], byte [esi]
sbb al, 0x9d
and al, 0xa4
sbb al, 0x98
daa
lcall 0x9928, 0xa41b9f19
popfd
push ds
popfd
sbb ah, byte [ecx - 0x62d967e4]
sbb dword [ecx - 0x5be06ae1], esp
pop ds
pushfd
sbb eax, 0x199625a1
popfd
sbb dword [edi - 0x65dd67e3], edx
push ds
mov al, byte [0x54e9a31f]
or byte [eax], al
add bh, al
inc ebp
aam 0xc3
and al, 0x41
add bh, al
inc ebp
mov eax, 0x4124af
mov dword [ebp - 0x2c], 0x4124c3
mov dword [ebp - 0x48], 0x4124af
xor eax, eax
mov byte [ebp + eax - 0x38c], al
inc eax
cmp eax, 0x100
jb 0x41250a