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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x46c
fld qword [0x893578]
fld qword [0x893578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a1d80]
fsub st(1)
fxch st(1)
fmul qword [0x8a1d78]
fadd qword [0x8a1d70]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a1d68]
fnstsw ax
test ah, 0x41
jne 0x40db2e
fld st(0)
fmul qword [0x8a1d60]
fsubp st(2)
fadd qword [0x89a450]
fcom qword [0x8a1d58]
fnstsw ax
test ah, 1
jne 0x40daf5
fxch st(1)
fst qword [ebp - 0x48]
fxch st(1)
fstp st(0)
fcomp qword [0x893578]
push ebx
push esi
push edi
fnstsw ax
test ah, 1
je 0x40db90
jne 0x40db94
push ecx
sub ebp, dword fs:[eax]
jnp 0x40dbcc
jbe 0x40dbb9
jl 0x40dbba
inc eax
popal
push ebp
pop ebp
pop esi
pushal
pushal
cmp esi, dword [esi]
inc ecx
jne 0x40db98
sbb esp, dword [ebx - 0x63da5ee4]
and bl, byte [esi - 0x63de63da]
sub bl, byte [ebx - 0x56d759e3]
sbb al, 0xa2
push ds
mov eax, dword [0x93ce9]
add bh, al
inc ebp
sal byte [ebp - 0x25], 1
inc eax
add bh, al
mov dword [ebp - 0x30], 0x40db75
fild dword [eax]
mov dword [ebp - 0x3c], 0x40db5a
xor eax, eax
inc ebp
les ebx, [edx - 0x25]
inc eax
add byte [ebx], dh
ror byte [eax - 0x387fa7c], 0xff
inc dword [eax + 0x3d]
add byte [ecx], al
add byte [eax], al
mov byte [ebp + eax - 0x388], al
inc eax
cmp eax, 0x100
jb 0x40dba0
fld qword [ebp - 0x48]
mov eax, 0xff
mov byte [ebp - 0x24], 0
fadd qword [eax]
add byte [ebx - 0xcc238b], cl
mov esi, dword [ebp - 0x24]
xor edi, edi
mov dword [ebp - 4], eax
jmp 0x40dbc8
mov eax, dword [ebp - 4]
mov ebx, 1
mov dword [ebp - 0xc], 0
cmp eax, ebx
jbe 0x40dbe0
add bh, al
inc ebp
hlt
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40dbd8
cmp edi, 3
ja case.default.0x40dbe5
jmp dword [edi*4 + 0x42ea78]
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
jmp 0x40dc61
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 8
jmp 0x40dc61
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x10
jmp 0x40dc61
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x18
jmp 0x40dc61
mov eax, dword [ebp - 0x3c]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x388]
add cl, al
inc edi
cmp edi, 0x1f
mov byte [ebp - 0x24], cl
jb 0x40dc74
xor edi, edi
add cl, 0x1f
mov byte [ebp - 0x24], cl
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0xc], eax
jbe 0x40dc94
mov eax, edx
xor edx, edx
div dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp edx, eax
ja 0x40dbe0
mov ecx, eax
cmp ecx, edx
je 0x40dcdd
mov al, byte [ebp + edx - 0x388]
mov bl, byte [ebp + ecx - 0x388]
lea edx, [ebp + edx - 0x388]
xor bl, al
mov byte [ebp + ecx - 0x388], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ebp + ecx - 0x388]
mov dl, bl
xor al, dl
mov byte [ebp + ecx - 0x388], al
dec ecx
mov dword [ebp - 4], ecx
jne 0x40dbc5
mov dl, byte [ebp - 0x381]
and esi, 0xff
mov byte [ebp - 0x28], dl
mov bl, byte [ebp - 0x385]
mov al, byte [ebp + esi - 0x388]
mov esi, dword [ebp - 0x30]
mov byte [ebp - 8], al
mov cl, byte [ebp - 0x383]
mov al, byte [esi]
mov dl, byte [esi + 1]
add al, 5
add dl, 0x66
shl al, 4
or al, dl
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 8]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x388]
lea esi, [ebp + eax - 0x388]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x387]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x388]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [esi], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x14], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 0x14]
mov byte [ebp - 0x10], cl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov esi, 1
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [edi]
mov edi, dword [ebp - 0x18]
mov bl, byte [ebp + ebx - 0x388]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 0x24]
mov byte [ebp - 8], dl
xor bl, dl
mov edx, dword [ebp - 0x30]
mov byte [ebp - 0x28], bl
lea edi, [edx + 2]
mov dl, byte [edx + 2]
add dl, 5
mov bl, byte [edi + 1]
mov dword [ebp - 0x34], 3
shl dl, 4
add bl, 0x66
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x10], cl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 8], bl
xor dl, bl
mov byte [ebp - 0x28], dl
mov byte [ebp - 0x78], dl
mov edx, dword [ebp - 0x30]
lea edi, [edx + 2]
jmp 0x40df38
mov edi, dword [ebp - 0x3c]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 5
add dl, 0x66
mov dword [ebp - 0x3c], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x10], cl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x40e049
mov byte [ebp + esi - 0x79], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x40df35
lea ebx, [esi + 1]
cmp ebx, 9
jge 0x40e1a8
mov edx, dword [ebp - 0x1c]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x30]
lea edi, [edx + esi*2]
mov edx, 9
sub edx, ebx
mov dword [ebp - 0x34], edx
jmp 0x40e08a
mov edi, dword [ebp - 0x3c]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 5
add dl, 0x66
mov dword [ebp - 0x3c], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x10], cl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x40e19b
mov byte [ebp + esi - 0x79], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x40e087
mov edi, dword [ebp - 0x30]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
add bl, 0x66
shl dl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x10], cl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 8], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x40e2c2
mov byte [ebp + esi - 0x79], dl
mov edi, dword [ebp - 0x30]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 5
add bl, 0x66
shl dl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 8]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x1c]
add al, bl
inc dl
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x28]
and ebx, 0xff
mov dword [ebp - 0x20], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x10], cl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x20]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
xor dl, bl
test esi, esi
mov byte [ebp - 0x28], dl
jbe 0x40e3ce
mov byte [ebp + esi - 0x79], dl
mov edx, dword [ebp - 0x24]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x2c], al
inc bl
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x1c], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x388]
lea eax, [ebp + eax - 0x388]
mov byte [edi], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [eax], bl
mov ebx, dword [ebp - 0x1c]
and ebx, 0xff
mov dword [ebp - 0x14], edx
test esi, esi
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 4]
mov byte [ebx], dl
jbe 0x40e4c8
mov edx, dword [ebp - 4]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x30]
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
add bl, 5
add dl, 0x66
shl bl, 4
or bl, dl
mov edx, dword [ebp - 0x18]
mov dl, byte [ebp + edx - 0x388]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x388]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x388]
mov cl, byte [ebp + edx - 0x388]
xor bl, cl
mov cl, byte [ebp + eax - 0x388]
xor bl, cl
mov byte [ebp + esi - 0x79], bl
mov byte [ebp - 0x6e], 0
lea ecx, [ebp - 0x78]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x893578]
fld qword [0x893578]
mov dword [ebp - 0x450], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a1d50]
fsub st(1)
fxch st(1)
fmul qword [0x89a4e0]
fadd qword [0x8a1d48]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a1d40]
fnstsw ax
test ah, 0x41
jne 0x40e521
fld st(0)
fmul qword [0x8a1d38]
fsubp st(2)
fadd qword [0x893548]
fcom qword [0x8a1d30]
fnstsw ax
test ah, 1
jne 0x40e4e8
fxch st(1)
fst qword [ebp - 0x48]
fxch st(1)
fstp st(0)
fcomp qword [0x893578]
fnstsw ax
test ah, 1
je 0x40e57f
xor byte [eax + 0x23], dl
push 0x79
push edx
imul esp, dword [0x696b5853], 0x25
cmp eax, 0x77664463
and dword [edi], esi
sub al, 0x5d
push esp
int3
mov dword [ebp - 0x30], 0x40e562
mov dword [ebp - 0x3c], 0x40e54a
xor eax, eax
mov byte [ebp + eax - 0x388], al
inc eax
cmp eax, 0x100
jb 0x40e58f
fld qword [ebp - 0x48]
mov byte [ebp - 0x24], 0
mov esi, dword [ebp - 0x24]
xor edi, edi
mov dword [ebp - 4], 0xff
mov eax, dword [ebp - 4]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0xc], 0
jbe 0x40e5cc
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40e5c4
cmp edi, 3
ja case.default.0x40e5d1
jmp dword [edi*4 + 0x42ea88]
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
jmp 0x40e64d
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 8
jmp 0x40e64d
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x10
jmp 0x40e64d
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x18
jmp 0x40e64d
mov edx, dword [ebp - 0x3c]
and esi, 0xff
mov cl, byte [edx + edi - 4]
mov al, byte [ebp + esi - 0x388]
add cl, al
inc edi
cmp edi, 0x1c
mov byte [ebp - 0x24], cl
jb 0x40e660
xor edi, edi
add cl, 0x1c
mov byte [ebp - 0x24], cl
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0xc], eax
jbe 0x40e680
mov eax, edx
xor edx, edx
div dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, edx
jb 0x40e5cc
je 0x40e6b8
mov bl, byte [ebp + eax - 0x388]
lea edx, [ebp + edx - 0x388]
lea ecx, [ebp + eax - 0x388]
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 0x40e5b1
mov edi, dword [ebp - 0x30]
mov dl, byte [ebp - 0x381]
and esi, 0xff
mov byte [ebp - 0x14], dl
mov dl, byte [edi + 1]
mov bl, byte [ebp - 0x385]
mov al, byte [ebp + esi - 0x388]
add dl, 0x50
mov byte [ebp - 0x18], al
mov al, byte [edi]
add al, 6
mov cl, byte [ebp - 0x383]
shl al, 4
or al, dl
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x18]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x388]
lea esi, [ebp + eax - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x387]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x388]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x28], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x28]
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 - 0x388]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 4]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x34]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x388]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 0x1c]
mov byte [ebp - 0x18], dl
xor bl, dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x14], bl
add dl, 0x50
mov bl, byte [edi + 2]
add edi, 4
add bl, 6
shl bl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea esi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x28], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x28]
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 - 0x388]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x34]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + esi - 0x388]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x18], bl
xor dl, bl
mov byte [ebp - 0x14], dl
mov byte [ebp - 0xa8], dl
mov bl, byte [edi + 1]
xor edx, edx
mov dl, byte [edi]
add bl, 0x50
sub edx, 0xca
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x18]
mov byte [ebp - 0x1c], bl
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dword [ebp - 0x24], esi
mov dl, byte [edi]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x28], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x28]
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 - 0x388]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x18], bl
xor dl, bl
mov byte [ebp - 0x14], dl
mov byte [ebp - 0xa7], dl
mov edx, dword [ebp - 0x30]
lea edi, [edx + 4]
jmp 0x40ea1d
mov edi, dword [ebp - 0x3c]
add edi, 2
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x3c], edi
mov bl, byte [edi]
mov dl, byte [edi + 1]
sub ebx, 0xca
add dl, 0x50
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x28], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x28]
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 - 0x388]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x18], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x40eb37
mov byte [ebp + esi - 0xa9], dl
mov edx, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x24], edx
jne 0x40ea1a
mov edi, dword [ebp - 0x30]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov dword [ebp - 0x3c], edx
mov bl, byte [ebp - 0x3c]
xor edx, edx
add bl, 6
mov dl, byte [edi + esi*2 + 1]
shl bl, 4
add dl, 0x50
or bl, dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov byte [ebp - 0x1c], bl
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x28], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x28]
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 - 0x388]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x18], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x40ec6b
mov byte [ebp + esi - 0xa9], dl
lea ebx, [esi + 1]
cmp ebx, 0xa
jge 0x40edae
mov edx, dword [ebp - 0x30]
lea edi, [edx + esi*2]
mov edx, 0xa
sub edx, ebx
mov dword [ebp - 0x24], edx
jmp 0x40ec8c
mov edi, dword [ebp - 0x3c]
mov bl, byte [edi + 3]
add edi, 2
xor edx, edx
add bl, 0x50
mov dl, byte [edi]
mov dword [ebp - 0x3c], edi
add dl, 6
inc esi
shl dl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x28], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x28]
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 - 0x388]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x18], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x40eda1
mov byte [ebp + esi - 0xa9], dl
mov edx, dword [ebp - 0x24]
dec edx
mov dword [ebp - 0x24], edx
jne 0x40ec89
mov edi, dword [ebp - 0x30]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 6
add bl, 0x50
shl dl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x28], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x28]
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 - 0x388]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x18], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x40eecb
mov byte [ebp + esi - 0xa9], dl
mov edi, dword [ebp - 0x30]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 6
add bl, 0x50
shl dl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x34], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x28], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x28]
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 - 0x388]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x34]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x1c]
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x40efda
mov byte [ebp + esi - 0xa9], dl
mov edx, dword [ebp - 0x1c]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x28]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 8]
mov byte [ebp - 0xc], al
inc bl
mov eax, dword [ebp - 0xc]
mov byte [ebp - 8], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x388]
lea eax, [ebp + eax - 0x388]
mov byte [edi], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [eax], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 0x20], edx
test esi, esi
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x28], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x28]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
jbe 0x40f0d7
mov edx, dword [ebp - 0x10]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x30]
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
add bl, 6
add dl, 0x50
shl bl, 4
or bl, dl
mov edx, dword [ebp - 4]
mov dl, byte [ebp + edx - 0x388]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x388]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 4]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x388]
mov cl, byte [ebp + edx - 0x388]
xor bl, cl
mov cl, byte [ebp + eax - 0x388]
xor bl, cl
mov byte [ebp + esi - 0xa9], bl
mov byte [ebp - 0x9d], 0
mov edx, dword [ebp - 0x450]
lea ecx, [ebp - 0xa8]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x893578]
fld qword [0x893578]
mov dword [0x8d78cc], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a1d28]
fsub st(1)
fxch st(1)
fmul qword [0x8a1d20]
fadd qword [0x8a1d18]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a1d10]
fnstsw ax
test ah, 0x41
jne 0x40f13c
fld st(0)
fmul qword [0x8a1d08]
fsubp st(2)
fadd qword [0x89a450]
fcom qword [0x8a1d00]
fnstsw ax
test ah, 1
jne 0x40f103
fxch st(1)
fst qword [ebp - 0x48]
fxch st(1)
fstp st(0)
fcomp qword [0x893578]
fnstsw ax
test ah, 1
je 0x40f1b0
push bx
inc ebx
jo 0x40f197
inc edi
daa
inc edi
dec ebx
sub dword [edx + 0x7d], esp
dec ebp
pop esp
cmp byte [edi + 0x5b], dh
xor eax, 0x2e5a3e7a
jne 0x40f1f3
pop ebx
inc ebp
jae 0x40f1f4
jp 0x40f1a8
inc ecx
mov ebx, 0xb72db42d
xor dh, byte [ebx - 0x4fcb4bd5]
sub eax, 0x29bd2abd
mov bl, 0x2d
mov ah, 0x33
mov dl, 0x28
mov dh, 0x31
mov ah, 0x27
mov esp, 0xb527bd2e
xor dword [ecx - 0x4bd243cf], esi
das
jmp 0x40f8cf
sub eax, 0x1fe92fb4
pop es
add byte [eax], al
mov dword [ebp - 0x20], 0x40f185
mov dword [ebp - 0x3c], 0x40f165
xor eax, eax
mov byte [ebp + eax - 0x388], al
inc eax
cmp eax, 0x100
jb 0x40f1c0
fld qword [ebp - 0x48]
mov byte [ebp - 0x24], 0
mov esi, dword [ebp - 0x24]
xor edi, edi
mov dword [ebp - 0x30], 0xff
mov eax, dword [ebp - 0x30]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 4], 0
jbe 0x40f1fd
or byte [ebp + 0x3b011b5c], cl
fdiv dword [edx - 8]
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40f1f5
cmp edi, 3
ja case.default.0x40f202
jmp dword [edi*4 + 0x42ea98]
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
add cl, al
jmp 0x40f288
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 8
add cl, al
jmp 0x40f288
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x10
add cl, al
jmp 0x40f288
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x18
add cl, al
jmp 0x40f288
mov eax, dword [ebp - 0x3c]
and esi, 0xff
mov cl, byte [ebp + esi - 0x388]
mov dl, byte [eax + edi - 4]
add cl, dl
inc edi
mov byte [ebp - 0x24], cl
cmp edi, 0x24
jb 0x40f299
xor edi, edi
add cl, 0x24
mov byte [ebp - 0x24], cl
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 4], eax
jbe 0x40f2b9
mov eax, edx
xor edx, edx
div dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, edx
jb 0x40f1fd
je 0x40f2f8
mov ecx, eax
mov al, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov bl, byte [ebp + ecx - 0x388]
lea ecx, [ebp + ecx - 0x388]
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 0x40f1e2
mov dl, byte [ebp - 0x381]
and esi, 0xff
mov byte [ebp - 0x2c], dl
mov edx, dword [ebp - 0x20]
mov al, byte [ebp + esi - 0x388]
mov bl, byte [ebp - 0x385]
mov byte [ebp - 0x28], al
xor eax, eax
mov al, byte [edx]
mov dl, byte [edx + 1]
sub dl, 0x25
xor esi, esi
shl al, 4
or dl, al
mov cl, byte [ebp - 0x383]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
fstp st(0)
mov al, byte [ebp + edx - 0x388]
lea edi, [ebp + edx - 0x388]
mov edx, dword [ebp - 0x387]
mov byte [ebp - 0xc], al
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x388]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x1c]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x10]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x388]
add edx, edi
mov edi, dword [ebp - 0x20]
and edx, 0xff
xor bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 8]
mov byte [ebp - 0x28], dl
xor bl, dl
mov byte [ebp - 0x2c], bl
mov dword [ebp - 0x34], 8
jmp 0x40f44a
mov edi, dword [ebp - 0x3c]
mov dl, byte [edi + 3]
mov bl, byte [edi + 2]
add edi, 2
sub dl, 0x25
shl bl, 4
or dl, bl
mov dword [ebp - 0x3c], edi
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
inc esi
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 8]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x40f55b
mov byte [ebp + esi - 0x3b1], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x40f447
mov edx, dword [ebp - 0x20]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
shl bl, 4
mov dl, byte [edi + 1]
sub dl, 0x25
or dl, bl
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 8]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x40f684
mov byte [ebp + esi - 0x3b1], dl
lea ebx, [esi + 1]
cmp ebx, 0x13
jge 0x40f7c3
mov edx, dword [ebp - 0x20]
lea edi, [edx + esi*2]
mov edx, 0x13
sub edx, ebx
mov dword [ebp - 0x34], edx
jmp 0x40f6a5
mov edi, dword [ebp - 0x3c]
mov dl, byte [edi + 3]
mov bl, byte [edi + 2]
add edi, 2
sub dl, 0x25
shl bl, 4
or dl, bl
mov dword [ebp - 0x3c], edi
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
inc esi
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x24]
mov bl, byte [edx]
mov dl, byte [ebp - 4]
add al, bl
inc dl
mov byte [ebp - 0x18], al
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x10], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x14], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 0x14]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x24], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x10]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x1c]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 8]
mov byte [ebp - 0x28], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x40f7b6
mov byte [ebp + esi - 0x3b1], dl
mov edx, dword [ebp - 0x34]
dec edx
mov dword [ebp - 0x34], edx
jne 0x40f6a2
mov edx, dword [ebp - 8]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 4]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
add al, bl
mov bl, byte [ebp - 4]
mov byte [ebp - 0x18], al
inc bl
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x388]
lea eax, [ebp + eax - 0x388]
mov byte [edi], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [eax], bl
mov ebx, dword [ebp - 4]
and ebx, 0xff
mov dword [ebp - 0x14], edx
test esi, esi
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x24], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x24]
mov dl, byte [ebp - 0xc]
mov byte [ebx], dl
jbe 0x40f8c8
mov edx, dword [ebp - 0xc]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x20]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub bl, 0x25
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x1c]
mov dl, byte [ebp + edx - 0x388]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x388]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x388]
mov cl, byte [ebp + edx - 0x388]
xor bl, cl
mov cl, byte [ebp + eax - 0x388]
xor bl, cl
mov byte [ebp + esi - 0x3b1], bl
mov byte [ebp - 0x39e], 0
mov edx, dword [ebp - 0x450]
lea ecx, [ebp - 0x3b0]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x893578]
fld qword [0x893578]
mov dword [0x8d790c], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a1cf8]
fsub st(1)
fxch st(1)
fmul qword [0x8a1cf0]
fadd qword [0x8a1ce8]
add ah, bl
add eax, 0x8a1ce8
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a1ce0]
fnstsw ax
test ah, 0x41
jne 0x40f92d
fld st(0)
fmul qword [0x8a1cd8]
fsubp st(2)
fadd qword [0x893548]
fcom qword [0x8a1cd0]
fnstsw ax
test ah, 1
jne 0x40f8f4
fxch st(1)
fst qword [ebp - 0x48]
fxch st(1)
fstp st(0)
fcomp qword [0x893578]
fnstsw ax
test ah, 1
je 0x40f98c
mov dl, 0x7a
mov dh, 0x7c
lodsd eax, dword [esi]
jp 0x40f909
xor dword [esp + edi*2 - 0x7d508654], 0xffffffab
xor byte [ebx - 0x58844e88], 0x87
mov al, 0x87
lodsd eax, dword [esi]
jg 0x40f9a6
xor dword [eax + 0x4f], ebx
push 0x52
inc eax
jne 0x40f9da
pop esi
inc esi
outsb dx, byte [esi]
pop edx
jp 0x40f9db
sub dword [ebx + 0x38], ebx
cmp ebp, dword [ecx + 0x6f]
cmp byte [edi - 0x17], al
jns 0x40f997
add byte [eax], al
mov dword [ebp - 0x24], 0x40f956
mov dword [ebp - 0x3c], 0x40f970
xor eax, eax
stc
inc eax
add byte [ebx], dh
ror byte [eax - 0x387fa7c], 0xff
inc dword [eax + 0x3d]
add byte [ecx], al
add byte [eax], al
mov byte [ebp + eax - 0x388], al
inc eax
cmp eax, 0x100
add dword [eax], eax
add byte [edx - 0xf], dh
jb 0x40f99c
fld qword [ebp - 0x48]
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 - 0xc], 0
jbe 0x40f9d9
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x40f9d1
cmp edi, 3
inc dword [ebx]
add esi, dword [edi + 0x59]
ja case.default.0x40f9de
jmp dword [edi*4 + 0x42eaa8]
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
jmp 0x40fa4b
fld st(0)
call fcn.008416e4
mov ecx, eax
shr ecx, 8
and esi, 0xff
jmp 0x40fa44
fld st(0)
call fcn.008416e4
mov ecx, eax
shr ecx, 0x10
and esi, 0xff
jmp 0x40fa44
fld st(0)
call fcn.008416e4
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
jmp 0x40fa44
mov eax, dword [ebp - 0x3c]
and esi, 0xff
mov cl, byte [edi + eax - 4]
mov al, byte [ebp + esi - 0x388]
add cl, al
inc edi
cmp edi, 0x1b
mov byte [ebp - 4], cl
jb 0x40fa5e
xor edi, edi
add cl, 0x1b
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0xc], eax
jbe 0x40fa7e
mov eax, edx
xor edx, edx
div dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, edx
jb 0x40f9d9
je 0x40fabd
mov ecx, eax
mov al, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov bl, byte [ebp + ecx - 0x388]
lea ecx, [ebp + ecx - 0x388]
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 0x40f9be
mov edi, dword [ebp - 0x24]
mov dl, byte [ebp - 0x381]
and esi, 0xff
mov byte [ebp - 0x2c], dl
mov dl, byte [edi + 1]
mov bl, byte [ebp - 0x385]
mov al, byte [ebp + esi - 0x388]
sub dl, 0x78
mov byte [ebp - 0xc], al
mov al, byte [edi]
add al, 9
mov cl, byte [ebp - 0x383]
shl al, 4
or al, dl
mov byte [ebp - 4], al
mov eax, dword [ebp - 0xc]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x388]
lea esi, [ebp + eax - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x387]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x388]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [esi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x18]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x388]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 4]
mov byte [ebp - 0xc], dl
xor bl, dl
mov dl, byte [edi + 2]
mov byte [ebp - 0x2c], bl
add dl, 9
mov bl, byte [edi + 3]
shl dl, 4
sub bl, 0x78
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea esi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [esi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + esi - 0x388]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
mov byte [ebp - 0x2c], dl
mov byte [ebp - 0xd0], dl
mov bl, byte [edi + 5]
xor edx, edx
mov dl, byte [edi + 4]
sub bl, 0x78
add dl, 9
shl dl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [edi]
mov dword [ebp - 0x30], esi
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
mov byte [ebp - 0x2c], dl
mov byte [ebp - 0xcf], dl
mov edx, dword [ebp - 0x24]
lea edi, [edx + 4]
jmp 0x40fe1d
mov edi, dword [ebp - 0x3c]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 9
sub dl, 0x78
mov dword [ebp - 0x3c], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x40ff31
mov byte [ebp + esi - 0xd1], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x40fe1a
mov edi, dword [ebp - 0x24]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0xa7
sub ebx, 0x78
shl dl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x410062
mov byte [ebp + esi - 0xd1], dl
mov edx, dword [ebp - 0x24]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
mov edi, ebx
xor ebx, ebx
mov bl, byte [edx + esi*2]
mov edx, ebx
lea ebx, [edi - 0x78]
sub edx, 0xa7
shl dl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x41017f
mov byte [ebp + esi - 0xd1], dl
mov edx, dword [ebp - 0x24]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
add bl, 9
mov dl, byte [edi + 1]
sub dl, 0x78
shl bl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x410293
mov byte [ebp + esi - 0xd1], dl
lea ebx, [esi + 1]
cmp ebx, 0xb
jge 0x4103d5
mov edx, dword [ebp - 0x24]
lea edi, [edx + esi*2]
mov edx, 0xb
sub edx, ebx
mov dword [ebp - 0x30], edx
jmp 0x4102b4
mov edi, dword [ebp - 0x3c]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 9
sub dl, 0x78
mov dword [ebp - 0x3c], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x4103c8
mov byte [ebp + esi - 0xd1], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x4102b1
mov edi, dword [ebp - 0x24]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 9
sub dl, 0x78
shl bl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x4104f2
mov byte [ebp + esi - 0xd1], dl
mov edi, dword [ebp - 0x24]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 9
sub dl, 0x78
shl bl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov ebx, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x410601
mov byte [ebp + esi - 0xd1], dl
mov edx, dword [ebp - 4]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x1c], al
inc bl
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0x10], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x388]
lea eax, [ebp + eax - 0x388]
mov byte [edi], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [eax], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 8], edx
test esi, esi
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x34], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
jbe 0x4106fe
mov edx, dword [ebp - 0x20]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x24]
mov bl, byte [edx + esi*2 + 1]
mov dl, byte [edx + esi*2]
sub dl, 7
sub bl, 0x78
shl dl, 4
or bl, dl
mov edx, dword [ebp - 0x18]
mov dl, byte [ebp + edx - 0x388]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 8]
mov dl, byte [edx]
add ecx, edx
mov dl, byte [edi]
mov edi, dword [ebp - 0x18]
add ecx, edx
and ecx, 0xff
xor edx, edx
add eax, edi
mov dl, byte [ebp + ecx - 0x388]
and eax, 0xff
mov cl, byte [ebp + edx - 0x388]
xor bl, cl
mov cl, byte [ebp + eax - 0x388]
xor bl, cl
mov byte [ebp + esi - 0xd1], bl
mov byte [ebp - 0xc4], 0
lea ecx, [ebp - 0xd0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
fld qword [0x893578]
fld qword [0x893578]
mov dword [ebp - 0x450], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a1cc8]
fsub st(1)
fxch st(1)
fmul qword [0x8a1cc0]
fadd qword [0x8a1cb8]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a1cb0]
fnstsw ax
test ah, 0x41
jne 0x41075d
fld st(0)
fmul qword [0x8a1ca8]
fsubp st(2)
fadd qword [0x89a528]
fcom qword [0x8a1ca0]
fnstsw ax
test ah, 1
jne 0x410724
fxch st(1)
fst qword [ebp - 0x48]
fxch st(1)
fstp st(0)
fcomp qword [0x893578]
fnstsw ax
test ah, 1
je 0x4107c2
imul ebx, dword [ebx + 0x68], 0x7a617c71
inc edi
xor byte cs:[esi + 0x59], ah
jae 0x4107bc
push esi
pop eax
xor eax, 0x28692859
pop ecx
inc esi
jge 0x4107d4
invalid
jmp 0x411468
mov dword [ebp - 0x28], 0x41079f
mov dword [ebp - 0x3c], 0x410786
xor eax, eax
mov byte [ebp + eax - 0x388], al
add eax, 0xfffffc78
inc eax
cmp eax, 0x100
jb 0x4107d2
fld qword [ebp - 0x48]
mov byte [ebp - 0x24], 0
mov esi, dword [ebp - 0x24]
xor edi, edi
mov dword [ebp - 0x30], 0xff
mov eax, dword [ebp - 0x30]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 4], 0
jbe 0x41080f
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x410807
cmp edi, 3
ja case.default.0x410814
jmp dword [edi*4 + 0x42eab8]
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
jmp 0x410890
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 8
jmp 0x410890
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x10
jmp 0x410890
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x18
jmp 0x410890
mov edx, dword [ebp - 0x3c]
and esi, 0xff
mov cl, byte [ebp + esi - 0x388]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x1d
mov byte [ebp - 0x24], cl
jb 0x4108a3
xor edi, edi
add cl, 0x1d
mov byte [ebp - 0x24], cl
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 4], eax
jbe 0x4108c3
mov eax, edx
xor edx, edx
div dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, edx
jb 0x41080f
je 0x4108fb
mov bl, byte [ebp + eax - 0x388]
lea edx, [ebp + edx - 0x388]
lea ecx, [ebp + eax - 0x388]
mov al, byte [edx]
xor bl, al
mov byte [ecx], bl
mov al, bl
mov bl, byte [edx]
xor bl, al
mov byte [edx], bl
mov al, byte [ecx]
mov dl, bl
xor al, dl
mov byte [ecx], al
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
jne 0x4107f4
mov dl, byte [ebp - 0x381]
mov edi, dword [ebp - 0x28]
and esi, 0xff
mov byte [ebp - 0x14], dl
xor edx, edx
mov bl, byte [ebp - 0x385]
mov al, byte [ebp + esi - 0x388]
mov dl, byte [edi]
mov byte [ebp - 0x2c], al
xor eax, eax
mov al, byte [edi + 1]
sub edx, 0xce
sub eax, 0xeb
xor esi, esi
shl edx, 4
or eax, edx
mov cl, byte [ebp - 0x383]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x388]
lea edi, [ebp + eax - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x387]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x388]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
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 - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
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 - 0x388]
mov edx, dword [ebp - 0x18]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x388]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 0x30]
xor bl, dl
mov byte [ebp - 0x14], bl
mov edi, dword [ebp - 0x28]
mov byte [ebp - 0x2c], dl
mov dword [ebp - 0x30], 3
jmp 0x410a56
mov edi, dword [ebp - 0x3c]
mov bl, byte [edi + 2]
mov dl, byte [edi + 3]
add edi, 2
add bl, 2
add dl, 0x15
mov dword [ebp - 0x3c], edi
shl bl, 4
or dl, bl
inc esi
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
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 - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x2c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x410b6a
mov byte [ebp + esi - 0x1b1], dl
mov edx, dword [ebp - 0x30]
dec edx
mov dword [ebp - 0x30], edx
jne 0x410a53
mov edi, dword [ebp - 0x28]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 2
add bl, 0x15
shl dl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
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 - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x2c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x410c94
mov byte [ebp + esi - 0x1b1], dl
mov edi, dword [ebp - 0x28]
inc esi
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
add dl, 2
add bl, 0x15
shl dl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
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 - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x410da3
mov byte [ebp + esi - 0x1b1], dl
mov edx, dword [ebp - 0x28]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
lea edi, [edx + esi*2]
xor edx, edx
sub ebx, 0xeb
mov dl, byte [edi]
sub edx, 0xce
shl edx, 4
or edx, ebx
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
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 - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x2c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x410ec1
mov byte [ebp + esi - 0x1b1], dl
lea ebx, [esi + 1]
cmp ebx, 0xc
jge 0x41100e
mov edx, dword [ebp - 0x28]
mov edi, 0xc
sub edi, ebx
lea edx, [edx + esi*2]
mov dword [ebp - 0x3c], edi
jmp 0x410ee2
mov edx, dword [ebp - 0x44]
add edx, 2
xor ebx, ebx
mov dword [ebp - 0x44], edx
inc esi
mov bl, byte [edx + 1]
mov edi, ebx
xor ebx, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x2c]
sub ebx, 0xce
sub edi, 0xeb
shl ebx, 4
or edi, ebx
and edx, 0xff
mov dword [ebp - 0x30], edi
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
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 - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x30]
mov byte [ebp - 0x2c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x411001
mov byte [ebp + esi - 0x1b1], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x410edf
mov edx, dword [ebp - 0x28]
inc esi
xor ebx, ebx
mov bl, byte [edx + esi*2]
mov edi, ebx
xor ebx, ebx
mov bl, byte [edx + esi*2 + 1]
mov edx, dword [ebp - 0x2c]
sub edi, 0xce
sub ebx, 0xeb
shl edi, 4
or edi, ebx
and edx, 0xff
mov dword [ebp - 0x30], edi
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
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 - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x30]
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x411134
mov byte [ebp + esi - 0x1b1], dl
mov edi, dword [ebp - 0x28]
inc esi
xor edx, edx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0xce
add bl, 0x15
shl edx, 4
or bl, dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov byte [ebp - 0x24], bl
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
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 - 0x388]
add cl, bl
mov ebx, dword [ebp - 0x20]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
mov bl, byte [ebx]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x2c], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x41124b
mov byte [ebp + esi - 0x1b1], dl
mov edi, dword [ebp - 0x28]
inc esi
xor edx, edx
xor ebx, ebx
mov dl, byte [edi + esi*2]
mov bl, byte [edi + esi*2 + 1]
sub edx, 0xce
sub ebx, 0xeb
shl edx, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 8]
add al, bl
inc dl
mov byte [ebp - 0xc], al
mov byte [ebp - 8], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x18], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x20]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
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 - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x20]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x18]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 4]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 0x24]
xor dl, bl
test esi, esi
mov byte [ebp - 0x14], dl
jbe 0x411364
mov byte [ebp + esi - 0x1b1], dl
mov edx, dword [ebp - 0x24]
inc esi
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 8]
mov byte [ebp - 0xc], al
inc bl
mov eax, dword [ebp - 0xc]
mov byte [ebp - 8], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x388]
lea eax, [ebp + eax - 0x388]
mov byte [edi], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [eax], bl
mov ebx, dword [ebp - 8]
and ebx, 0xff
mov dword [ebp - 0x20], edx
test esi, esi
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 0x34], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x10]
mov byte [ebx], dl
jbe 0x411461
mov edx, dword [ebp - 0x10]
mov al, byte [eax]
and edx, 0xff
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x28]
mov bl, byte [edx + esi*2]
mov dl, byte [edx + esi*2 + 1]
add bl, 2
add dl, 0x15
shl bl, 4
or bl, dl
mov edx, dword [ebp - 4]
mov dl, byte [ebp + edx - 0x388]
add dl, cl
and edx, 0xff
mov cl, byte [ebp + edx - 0x388]
mov dl, byte [edi]
add ecx, edx
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 4]
mov dl, byte [edx]
add eax, edi
add ecx, edx
xor edx, edx
and ecx, 0xff
and eax, 0xff
mov dl, byte [ebp + ecx - 0x388]
mov cl, byte [ebp + edx - 0x388]
xor bl, cl
mov cl, byte [ebp + eax - 0x388]
xor bl, cl
mov byte [ebp + esi - 0x1b1], bl
mov byte [ebp - 0x1a2], 0
mov edx, dword [ebp - 0x450]
lea ecx, [ebp - 0x1b0]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
fld qword [0x893578]
fld qword [0x893578]
mov dword [0x8d7944], eax
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a1c98]
fsub st(1)
fxch st(1)
fmul qword [0x8a1c90]
fadd qword [0x8a1c88]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a1c80]
fnstsw ax
test ah, 0x41
jne 0x4114c6
fld st(0)
fmul qword [0x8a1c78]
fsubp st(2)
fadd qword [0x89a528]
mov dword [eax], eax
add ah, bl
adc eax, 0x8a1c70
fcom qword [0x8a1c70]
sbb al, 0x8a
add bh, bl
loopne 0x4114cb
fnstsw ax
test ah, 1
les eax, [ecx]
jne 0x41148d
fxch st(1)
fst qword [ebp - 0x40]
fxch st(1)
fstp st(0)
fcomp qword [0x893578]
fnstsw ax
test ah, 1
je 0x411522
loope 0x4114ca
loop 0x4114cf
fcomp st(2)
fcmovnu st(0), st(0)
invalid
mov dword [ebp - 0x24], 0x4114ef
mov dword [ebp - 0x44], 0x41150b
xor eax, eax
mov byte [ebp + eax - 0x388], al
inc eax
cmp eax, 0x100
jb 0x411532
fld qword [ebp - 0x40]
mov byte [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 4], 0xff
mov eax, dword [ebp - 4]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x3c], 0
jbe 0x41156f
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x411567
cmp edi, 3
ja case.default.0x411574
jmp dword [edi*4 + 0x42eac8]
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
jmp 0x4115f0
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 8
jmp 0x4115f0
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x10
jmp 0x4115f0
fld st(0)
and esi, 0xff
call fcn.008416e4
mov cl, byte [ebp + esi - 0x388]
shr eax, 0x18
jmp 0x4115f0
mov eax, dword [ebp - 0x44]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x388]
add cl, al
inc edi
cmp edi, 0x16
mov byte [ebp - 0x30], cl
jb 0x411603
xor edi, edi
add cl, 0x16
mov byte [ebp - 0x30], cl
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x3c], eax
jbe 0x411623
mov eax, edx
xor edx, edx
div dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, edx
jb 0x41156f
je 0x411662
mov ecx, eax
mov al, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov bl, byte [ebp + ecx - 0x388]
lea ecx, [ebp + ecx - 0x388]
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 0x411554
mov dl, byte [ebp - 0x381]
mov edi, dword [ebp - 0x24]
and esi, 0xff
mov byte [ebp - 0x2c], dl
mov dl, byte [edi]
mov bl, byte [ebp - 0x385]
mov al, byte [ebp + esi - 0x388]
add dl, 9
mov byte [ebp - 0xc], al
mov al, byte [edi + 1]
add al, 0x2a
mov cl, byte [ebp - 0x383]
shl dl, 4
or al, dl
mov byte [ebp - 4], al
mov eax, dword [ebp - 0xc]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x388]
lea esi, [ebp + eax - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x387]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x388]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [esi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x18]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x388]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 4]
mov byte [ebp - 0xc], dl
xor bl, dl
xor edx, edx
mov dl, byte [edi + 2]
mov byte [ebp - 0x2c], bl
mov bl, byte [edi + 3]
add dl, 9
shl dl, 4
add bl, 0x2a
add edi, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea esi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [esi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + esi - 0x388]
and ebx, 0xff
mov esi, 2
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
xor ebx, ebx
mov byte [ebp - 0x130], dl
mov bl, byte [edi + 1]
mov byte [ebp - 0x2c], dl
mov dl, byte [edi]
add dl, 9
sub ebx, 0xd6
shl dl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
mov dword [ebp - 0x3c], esi
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
mov byte [ebp - 0x2c], dl
mov byte [ebp - 0x12f], dl
mov edx, dword [ebp - 0x24]
lea edi, [edx + 4]
jmp 0x4119ce
mov edi, dword [ebp - 0x44]
add edi, 2
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x44], edi
mov dl, byte [edi]
mov bl, byte [edi + 1]
add dl, 9
sub ebx, 0xd6
shl dl, 4
or dl, bl
inc esi
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x411ae8
mov byte [ebp + esi - 0x131], dl
mov edx, dword [ebp - 0x3c]
dec edx
mov dword [ebp - 0x3c], edx
jne 0x4119cb
mov edi, dword [ebp - 0x24]
inc esi
xor ebx, ebx
xor edx, edx
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
sub ebx, 0xd7
sub edx, 0xd6
shl ebx, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x411c1c
mov byte [ebp + esi - 0x131], dl
mov edi, dword [ebp - 0x24]
inc esi
mov bl, byte [edi + esi*2]
mov dl, byte [edi + esi*2 + 1]
add bl, 9
add dl, 0x2a
shl bl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x411d2e
mov byte [ebp + esi - 0x131], dl
mov edx, dword [ebp - 0x24]
inc esi
mov bl, byte [edx + esi*2]
lea edi, [edx + esi*2]
add bl, 9
mov dl, byte [edi + 1]
add dl, 0x2a
shl bl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x34]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x411e42
mov byte [ebp + esi - 0x131], dl
lea ebx, [esi + 1]
cmp ebx, 0xc
jge 0x411f84
mov edx, dword [ebp - 0x24]
lea edi, [edx + esi*2]
mov edx, 0xc
sub edx, ebx
mov dword [ebp - 0x3c], edx
jmp 0x411e63
mov ebx, dword [ebp - 0x24]
inc esi
xor edx, edx
mov dl, byte [ebx + esi*2]
mov edi, edx
xor edx, edx
mov dl, byte [ebx + esi*2 + 1]
lea ebx, [edi - 0xd7]
add dl, 0x2a
shl bl, 4
or dl, bl
mov byte [ebp - 4], dl
mov edx, dword [ebp - 0xc]
and edx, 0xff
lea edi, [ebp + edx - 0x388]
mov dl, byte [ebp + edx - 0x388]
mov byte [ebp - 0x20], dl
mov edx, dword [ebp - 0x10]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
lea edx, [ebp + edx - 0x388]
mov byte [edi], bl
mov ebx, dword [ebp - 0x2c]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x388]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x388]
mov dword [ebp - 0x34], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x20]
mov byte [ebx], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x388]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 8]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov dl, byte [ebp + edx - 0x388]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x388]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + edi - 0x388]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x388]
mov bl, byte [ebp - 4]
mov byte [ebp - 0xc], bl
xor dl, bl
test esi, esi
mov byte [ebp - 0x2c], dl
jbe 0x4120aa