Function at 0x10016440
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f3821
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x210
mov eax, dword [0x1010a040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, 0x102dfa18
nop word [eax + eax]
mov ecx, 0x21
lea edi, [ebp - 0xc0]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc0]
cmp ecx, 0x1c1
ja 0x100164c2
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101c3b6c
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x102ee220
jl 0x10016490
mov eax, 0x102ee220
mov ecx, 0x21
lea edi, [ebp - 0xc0]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc0]
cmp ecx, 0x1c1
ja 0x10016505
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101d2374
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x102fca28
jl 0x100164d3
mov eax, 0x102fca28
nop word [eax + eax]
mov ecx, 0x21
lea edi, [ebp - 0xc0]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc0]
cmp ecx, 0x1c1
ja 0x10016552
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101e0b7c
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x1030b230
jl 0x10016520
mov eax, 0x1030b230
mov ecx, 0x2f
lea edi, [ebp - 0xf8]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xf8]
cmp ecx, 0x31
ja 0x10016592
imul edi, ecx, 0xbc
mov esi, eax
mov ecx, 0x2f
add edi, 0x101c162c
rep movsd dword es:[edi], dword [esi]
add eax, 0xbc
cmp eax, 0x1030d6e8
jl 0x10016563
mov edx, 0x1030d6e8
mov ecx, 0x1e
lea edi, [ebp - 0xb4]
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0x63
ja 0x100165d4
mov eax, ecx
mov esi, edx
shl eax, 4
sub eax, ecx
mov ecx, 0x1e
lea edi, [eax*8 + 0x1027e8f4]
rep movsd dword es:[edi], dword [esi]
add edx, 0x78
cmp edx, 0x103105c8
jl 0x100165a3
mov edx, 0x103105c8
nop dword [eax]
nop dword [eax + eax]
movups xmm0, xmmword [edx + 0x10]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
movups xmmword [ebp - 0x198], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ebp - 0x188], xmm0
cmp eax, 0x7cf
ja 0x1001663d
movups xmm0, xmmword [edx]
imul ecx, eax, 0x34
mov eax, dword [edx + 0x30]
add ecx, 0x1011f524
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ecx + 0x20], xmm0
mov dword [ecx + 0x30], eax
add edx, 0x34
cmp edx, 0x10329c08
jl 0x100165f0
movups xmm0, xmmword [0x103952c8]
mov edx, dword [0x10395300]
movups xmm1, xmmword [0x103952d8]
movups xmm2, xmmword [0x103952e8]
movq xmm3, qword [0x103952f8]
movd ecx, xmm0
cmp ecx, 2
ja 0x100166a3
mov eax, ecx
shl eax, 4
sub eax, ecx
movups xmmword [eax*4 + 0x1011b788], xmm0
movups xmmword [eax*4 + 0x1011b798], xmm1
movups xmmword [eax*4 + 0x1011b7a8], xmm2
movq qword [eax*4 + 0x1011b7b8], xmm3
mov dword [eax*4 + 0x1011b7c0], edx
movups xmm0, xmmword [0x10395304]
mov edx, dword [0x1039533c]
movups xmm1, xmmword [0x10395314]
movups xmm2, xmmword [0x10395324]
movq xmm3, qword [0x10395334]
movd ecx, xmm0
cmp ecx, 2
ja 0x100166fe
mov eax, ecx
shl eax, 4
sub eax, ecx
movups xmmword [eax*4 + 0x1011b788], xmm0
movups xmmword [eax*4 + 0x1011b798], xmm1
movups xmmword [eax*4 + 0x1011b7a8], xmm2
movq qword [eax*4 + 0x1011b7b8], xmm3
mov dword [eax*4 + 0x1011b7c0], edx
movups xmm0, xmmword [0x10395340]
mov edx, dword [0x10395378]
movups xmm1, xmmword [0x10395350]
movups xmm2, xmmword [0x10395360]
movq xmm3, qword [0x10395370]
movd ecx, xmm0
cmp ecx, 2
ja 0x10016759
mov eax, ecx
shl eax, 4
sub eax, ecx
movups xmmword [eax*4 + 0x1011b788], xmm0
movups xmmword [eax*4 + 0x1011b798], xmm1
movups xmmword [eax*4 + 0x1011b7a8], xmm2
movq qword [eax*4 + 0x1011b7b8], xmm3
mov dword [eax*4 + 0x1011b7c0], edx
mov ecx, 0x1039537c
nop
movups xmm0, xmmword [ecx + 0x10]
mov edx, dword [ecx]
movups xmmword [ebp - 0x84], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [ebp - 0x74], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [ebp - 0x64], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [ecx + 0x50]
movq qword [ebp - 0x44], xmm0
cmp edx, 0x63
ja 0x100167d4
movups xmm0, xmmword [ecx]
lea eax, [edx + 1]
mov dword [0x1088795c], eax
imul eax, edx, 0x58
add eax, 0x108856f8
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [eax + 0x40], xmm0
movq xmm0, qword [ecx + 0x50]
movq qword [eax + 0x50], xmm0
add ecx, 0x58
cmp ecx, 0x103975dc
jl 0x10016760
mov eax, 0x103a4a5c
nop dword [eax]
nop dword [eax + eax]
mov ecx, 0x2d
lea edi, [ebp - 0xf0]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0xbb7
ja 0x10016822
imul edi, ecx, 0xb4
mov esi, eax
mov ecx, 0x2d
add edi, 0x10138ba4
rep movsd dword es:[edi], dword [esi]
add eax, 0xb4
cmp eax, 0x104287bc
jl 0x100167f0
push 0
push 0x103975dc
call fcn.10023aa0
push 1
push 0x1039aafc
call fcn.10023aa0
mov edx, 0x1039e01c
nop dword [eax + eax]
movups xmm0, xmmword [edx + 0x10]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [edx]
movups xmmword [ebp - 0x70], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ebp - 0x60], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ebp - 0x50], xmm0
cmp eax, 0xc7
ja 0x100168b7
movups xmm0, xmmword [edx]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [edx + 0x40]
movups xmmword [ecx*4 + 0x1088e3a0], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx*4 + 0x1088e3b0], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ecx*4 + 0x1088e3c0], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ecx*4 + 0x1088e3d0], xmm0
mov dword [ecx*4 + 0x1088e3e0], eax
add edx, 0x44
cmp edx, 0x103a153c
jl 0x10016850
mov edx, 0x103a153c
nop word [eax + eax]
movups xmm0, xmmword [edx + 0x10]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [edx]
movups xmmword [ebp - 0x70], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ebp - 0x60], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ebp - 0x50], xmm0
cmp eax, 0xc7
ja 0x10016937
movups xmm0, xmmword [edx]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [edx + 0x40]
movups xmmword [ecx*4 + 0x108918c0], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx*4 + 0x108918d0], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ecx*4 + 0x108918e0], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ecx*4 + 0x108918f0], xmm0
mov dword [ecx*4 + 0x10891900], eax
add edx, 0x44
cmp edx, 0x103a4a5c
jl 0x100168d0
mov edx, 0x10329c08
nop word [eax + eax]
movups xmm0, xmmword [edx + 0x10]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
movups xmmword [ebp - 0x190], xmm0
movq xmm0, qword [edx + 0x20]
movq qword [ebp - 0x180], xmm0
cmp eax, 0x1387
ja 0x100169a1
movups xmm0, xmmword [edx]
imul ecx, eax, 0x2c
mov eax, dword [edx + 0x28]
add ecx, 0x10512184
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [edx + 0x20]
movq qword [ecx + 0x20], xmm0
mov dword [ecx + 0x28], eax
add edx, 0x2c
cmp edx, 0x1035f768
jl 0x10016950
mov edx, 0x1035f768
movups xmm0, xmmword [edx + 0x10]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
movups xmmword [ebp - 0x190], xmm0
movq xmm0, qword [edx + 0x20]
movq qword [ebp - 0x180], xmm0
cmp eax, 0x1387
ja 0x10016a02
movups xmm0, xmmword [edx]
imul ecx, eax, 0x2c
mov eax, dword [edx + 0x28]
add ecx, 0x102817e4
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [edx + 0x20]
movq qword [ecx + 0x20], xmm0
mov dword [ecx + 0x28], eax
add edx, 0x2c
cmp edx, 0x103952c8
jl 0x100169b1
push 0x10440e34
push 1
call fcn.1004b020
push 0x1044ba14
push 2
call fcn.1004b020
push 0x104565f4
push 1
call fcn.10044040
push 0x1045bbe4
push 2
call fcn.10044040
mov edx, 0x104611d4
movups xmm0, xmmword [edx + 0x10]
mov eax, dword [edx + 0x48]
mov dword [ebp - 0x40], eax
mov eax, dword [edx]
movups xmmword [ebp - 0x78], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ebp - 0x68], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [edx + 0x40]
movq qword [ebp - 0x48], xmm0
cmp eax, 0x63
ja 0x10016aa8
movups xmm0, xmmword [edx]
imul ecx, eax, 0x4c
mov eax, dword [edx + 0x48]
add ecx, 0x1011b844
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ecx + 0x30], xmm0
movq xmm0, qword [edx + 0x40]
movq qword [ecx + 0x40], xmm0
mov dword [ecx + 0x48], eax
add edx, 0x4c
cmp edx, 0x10462f84
jl 0x10016a42
mov edx, 0x10462f84
nop dword [eax + eax]
mov eax, dword [edx + 0x18]
movq xmm0, qword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
movq qword [ebp - 0x180], xmm0
cmp eax, 0x1f3
ja 0x10016b0b
movups xmm0, xmmword [edx]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0x18]
movups xmmword [ecx*4 + 0x102581bc], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [ecx*4 + 0x102581cc], xmm0
mov dword [ecx*4 + 0x102581d4], eax
add edx, 0x1c
cmp edx, 0x10466634
jl 0x10016ac0
mov edx, 0x10466634
nop dword [eax + eax]
mov eax, dword [edx + 0x18]
movq xmm0, qword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
movq qword [ebp - 0x180], xmm0
cmp eax, 0x18f
ja 0x10016b6b
movups xmm0, xmmword [edx]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0x18]
movups xmmword [ecx*4 + 0x10213a54], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [ecx*4 + 0x10213a64], xmm0
mov dword [ecx*4 + 0x10213a6c], eax
add edx, 0x1c
cmp edx, 0x104691f4
jl 0x10016b20
mov edx, 0x1042aecc
nop dword [eax + eax]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
cmp eax, 0x95
ja 0x10016baa
movups xmm0, xmmword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
movups xmmword [ecx*4 + 0x1011d5fc], xmm0
mov dword [ecx*4 + 0x1011d60c], eax
add edx, 0x14
cmp edx, 0x1042ba84
jl 0x10016b80
mov edx, 0x104287bc
nop word [eax + eax]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
cmp eax, 0x1f3
ja 0x10016bea
movups xmm0, xmmword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
movups xmmword [ecx*4 + 0x102dc304], xmm0
mov dword [ecx*4 + 0x102dc314], eax
add edx, 0x14
cmp edx, 0x1042aecc
jl 0x10016bc0
mov eax, 0x1042ba84
nop word [eax + eax]
mov ecx, 0x2f
lea edi, [ebp - 0xf8]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xf8]
cmp ecx, 0xc7
ja 0x10016c38
imul edi, ecx, 0xbc
mov esi, eax
mov ecx, 0x2f
add edi, 0x101fa3fc
rep movsd dword es:[edi], dword [esi]
inc dword [0x101f8edc]
add eax, 0xbc
cmp eax, 0x10434d64
jl 0x10016c00
mov ecx, 0x10434d64
nop dword [eax]
movups xmm0, xmmword [ecx + 0x10]
mov eax, dword [ecx]
movups xmmword [ebp - 0x194], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [ebp - 0x184], xmm0
cmp eax, 0xc7
ja 0x10016c90
movups xmm0, xmmword [ecx]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 0x1023924c
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax + 0x20], xmm0
add ecx, 0x30
cmp ecx, 0x104372e4
jl 0x10016c50
mov eax, 0x104372e4
mov ecx, 0x1f
lea edi, [ebp - 0xb8]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0x27
ja 0x10016ccc
imul edi, ecx, 0x7c
mov esi, eax
mov ecx, 0x1f
add edi, 0x1011e1bc
rep movsd dword es:[edi], dword [esi]
add eax, 0x7c
cmp eax, 0x10438644
jl 0x10016ca0
mov ecx, dword [0x108997b0]
mov esi, 0x10438644
mov dword [ebp - 0x1b4], ecx
nop word [eax + eax]
movups xmm0, xmmword [esi + 0x10]
movups xmm1, xmmword [esi]
movups xmmword [ebp - 0x6c], xmm0
movups xmm0, xmmword [esi + 0x20]
movd eax, xmm1
movups xmmword [ebp - 0x5c], xmm0
movups xmm0, xmmword [esi + 0x30]
movups xmmword [ebp - 0x7c], xmm1
movups xmmword [ebp - 0x4c], xmm0
cmp eax, 0xc7
ja 0x10016e7e
lea eax, [ebp - 0x78]
mov ecx, 0x108997b0
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.10011a10
mov eax, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x78]
cmp byte [eax + 0xd], 0
jne 0x10016d4f
cmp edi, dword [eax + 0x10]
jl 0x10016d4f
mov ecx, dword [ebp - 0x1b4]
jmp 0x10016d57
mov ecx, dword [ebp - 0x1b4]
mov eax, ecx
test edi, edi
jle 0x10016e7e
cmp eax, ecx
jne 0x10016e7e
movups xmm0, xmmword [esi]
lea eax, [ebp - 0x80]
mov dword [ebp - 0x80], edi
push eax
movups xmmword [ebp - 0x7c], xmm0
lea eax, [ebp - 0x20c]
mov ecx, 0x108997b0
movups xmmword [ebp - 0x220], xmm0
push eax
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ebp - 0x6c], xmm0
movups xmmword [ebp - 0x1d8], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [ebp - 0x5c], xmm0
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [esi + 0x30]
movups xmmword [ebp - 0x1f8], xmm0
movups xmmword [ebp - 0x4c], xmm0
call fcn.10011a10
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x170], xmm0
cmp byte [eax + 0xd], 0
jne 0x10016dd5
cmp edi, dword [eax + 0x10]
jge 0x10016e7e
cmp dword [0x108997b4], 0x30c30c3
je 0x10017bf0
mov dword [ebp - 0x1c4], 0x108997b0
mov dword [ebp - 4], 0
push 0x54
mov dword [ebp - 0x1c0], 0
call fcn.100d097e
mov dword [ebp - 4], 0xffffffff
add esp, 4
movups xmm0, xmmword [ebp - 0x220]
mov ecx, dword [ebp - 0x1b4]
mov dword [eax + 0x10], edi
movups xmmword [eax + 0x14], xmm0
push eax
movups xmm0, xmmword [ebp - 0x1d8]
mov dword [ebp - 0x1c0], 0
push dword [ebp - 0x16c]
movups xmmword [eax + 0x24], xmm0
movups xmm0, xmmword [ebp - 0x30]
push dword [ebp - 0x170]
movups xmmword [eax + 0x34], xmm0
movups xmm0, xmmword [ebp - 0x1f8]
movups xmmword [eax + 0x44], xmm0
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x108997b0
mov word [eax + 0xc], 0
call fcn.10011a60
mov ecx, dword [0x108997b0]
mov dword [ebp - 0x1b4], ecx
add esi, 0x40
cmp esi, 0x1043b844
jl 0x10016cf0
mov edx, 0x1043b844
movups xmm0, xmmword [edx + 0x10]
mov eax, dword [edx + 0x38]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
movups xmmword [ebp - 0x1a0], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ebp - 0x190], xmm0
movq xmm0, qword [edx + 0x30]
movq qword [ebp - 0x180], xmm0
cmp eax, 0x63
ja 0x10016f07
movups xmm0, xmmword [edx]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [edx + 0x38]
movups xmmword [ecx*4 + 0x1011a014], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx*4 + 0x1011a024], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ecx*4 + 0x1011a034], xmm0
movq xmm0, qword [edx + 0x30]
movq qword [ecx*4 + 0x1011a044], xmm0
mov dword [ecx*4 + 0x1011a04c], eax
add edx, 0x3c
cmp edx, 0x1043cfb4
jl 0x10016e92
mov ecx, 0x1043cfb4
nop word [eax + eax]
movups xmm0, xmmword [ecx + 0x10]
mov eax, dword [ecx]
movups xmmword [ebp - 0x184], xmm0
cmp eax, 0x1f3
ja 0x10016f4a
movups xmm0, xmmword [ecx]
shl eax, 5
add eax, 0x101bd7a4
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm0
add ecx, 0x20
cmp ecx, 0x10440e34
jl 0x10016f20
mov eax, 0x104691f4
nop word [eax + eax]
mov ecx, 0x24
lea edi, [ebp - 0xcc]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0x12b
ja 0x10016f92
lea edi, [ecx + ecx*8]
mov esi, eax
shl edi, 4
mov ecx, 0x24
add edi, 0x1025d0dc
rep movsd dword es:[edi], dword [esi]
add eax, 0x90
cmp eax, 0x10473ab4
jl 0x10016f60
mov eax, 0x10473ab4
mov ecx, 0x24
lea edi, [ebp - 0xcc]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0x12b
ja 0x10016fd5
lea edi, [ecx + ecx*8]
mov esi, eax
shl edi, 4
mov ecx, 0x24
add edi, 0x1026799c
rep movsd dword es:[edi], dword [esi]
add eax, 0x90
cmp eax, 0x1047e374
jl 0x10016fa3
mov eax, 0x1047e374
nop word [eax + eax]
mov ecx, 0x24
lea edi, [ebp - 0xcc]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0x12b
ja 0x10017022
lea edi, [ecx + ecx*8]
mov esi, eax
shl edi, 4
mov ecx, 0x24
add edi, 0x1027225c
rep movsd dword es:[edi], dword [esi]
add eax, 0x90
cmp eax, 0x10488c34
jl 0x10016ff0
mov eax, 0x10488c34
mov ecx, 0x47
lea edi, [ebp - 0x158]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x158]
cmp ecx, 0x13
ja 0x10017062
imul edi, ecx, 0x11c
mov esi, eax
mov ecx, 0x47
add edi, 0x1027d054
rep movsd dword es:[edi], dword [esi]
add eax, 0x11c
cmp eax, 0x1048a264
jl 0x10017033
mov eax, dword [0x10898ce0]
mov ecx, 0x32
mov esi, 0x1048a264
mov edi, 0x1027e68c
rep movsd dword es:[edi], dword [esi]
mov edx, 0x1048a32c
nop dword [eax]
cmp eax, 0x3e7
ja 0x100170ce
movq xmm0, qword [edx]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 8]
movq qword [ecx*2 + 0x10895630], xmm0
mov dword [ecx*2 + 0x10895638], eax
mov ax, word [edx + 0xc]
mov word [ecx*2 + 0x1089563c], ax
mov eax, dword [0x10898ce0]
inc eax
mov dword [0x10898ce0], eax
add edx, 0xe
cmp edx, 0x1048d9dc
jl 0x10017090
mov ecx, dword [0x108994b8]
mov edx, 0x1048d9dc
mov eax, dword [edx]
cmp ecx, 0x1f3
ja 0x10017102
mov dword [ecx*4 + 0x10898ce8], eax
mov ecx, dword [0x108994b8]
inc ecx
mov dword [0x108994b8], ecx
add edx, 4
cmp edx, 0x1048e1ac
jl 0x100170e4
mov edx, 0x1048e1ac
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
cmp eax, 0x1f3
ja 0x1001713c
movups xmm0, xmmword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
movups xmmword [ecx*4 + 0x1021661c], xmm0
mov dword [ecx*4 + 0x1021662c], eax
add edx, 0x14
cmp edx, 0x104908bc
jl 0x10017112
push 0x104908bc
push 1
call fcn.10046900
push 0x10493c4c
push 2
call fcn.10046900
mov edx, 0x10496fdc
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edx + 0x18]
movq xmm0, qword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
movq qword [ebp - 0x180], xmm0
cmp eax, 0x63
ja 0x100171b9
movups xmm0, xmmword [edx]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0x18]
movups xmmword [ecx*4 + 0x10241efc], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [ecx*4 + 0x10241f0c], xmm0
mov dword [ecx*4 + 0x10241f14], eax
add edx, 0x1c
cmp edx, 0x10497acc
jl 0x10017170
mov eax, 0x10497acc
nop dword [eax]
mov ecx, 0x21
lea edi, [ebp - 0xc0]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc0]
cmp ecx, 0x63
ja 0x100171ff
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101ef424
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x1049ae5c
jl 0x100171d0
mov eax, 0x1049ae5c
mov ecx, 0x21
lea edi, [ebp - 0xc0]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc0]
cmp ecx, 0x63
ja 0x1001723f
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101f27b4
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x1049e1ec
jl 0x10017210
mov eax, 0x1049e1ec
mov ecx, 0x21
lea edi, [ebp - 0xc0]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc0]
cmp ecx, 0x63
ja 0x1001727f
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101f5b44
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x104a157c
jl 0x10017250
mov eax, 0x10218d34
mov dword [eax], 0xffffffff
add eax, 0x108
cmp eax, 0x102390d4
jl 0x10017290
mov ecx, dword [0x102390d4]
mov eax, 0x104a157c
mov dword [ebp - 0x1bc], eax
nop dword [eax]
nop word [eax + eax]
movups xmm0, xmmword [eax + 0x10]
movups xmm1, xmmword [eax]
movups xmmword [ebp - 0x1a0], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0x1b0], xmm1
movups xmmword [ebp - 0x190], xmm0
movq xmm0, qword [eax + 0x30]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x178], eax
movd eax, xmm1
movq qword [ebp - 0x180], xmm0
cmp eax, 0x1f3
ja 0x1001736a
mov ax, word [ebp - 0x1ac]
mov word [ebp - 0x144], ax
mov eax, dword [ebp - 0x1ac]
shr eax, 0x10
mov byte [ebp - 0x142], al
lea eax, [ebp - 0x1a9]
push eax
lea eax, [ebp - 0x141]
mov dword [ebp - 0x148], ecx
push str.DataSound_s.wav
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
imul edi, dword [ebp - 0x1b0], 0x108
lea esi, [ebp - 0x148]
mov ecx, 0x42
add esp, 0xc
add edi, 0x10218d34
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x102390d4]
inc ecx
mov dword [0x102390d4], ecx
mov eax, dword [ebp - 0x1bc]
add eax, 0x3c
mov dword [ebp - 0x1bc], eax
cmp eax, 0x104a8aac
jl 0x100172c0
mov edx, 0x104a8aac
nop dword [eax]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
cmp eax, 0xc7
ja 0x100173ba
movups xmm0, xmmword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
movups xmmword [ecx*4 + 0x1089cf88], xmm0
mov dword [ecx*4 + 0x1089cf98], eax
add edx, 0x14
cmp edx, 0x104a9a4c
jl 0x10017390
mov ecx, 0x104a9a4c
nop word [eax + eax]
movups xmm0, xmmword [ecx + 0x10]
mov edx, dword [ecx]
movups xmmword [ebp - 0x19c], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [ebp - 0x18c], xmm0
movq xmm0, qword [ecx + 0x30]
movq qword [ebp - 0x17c], xmm0
cmp edx, 0x18f
ja 0x10017437
movups xmm0, xmmword [ecx]
lea eax, [edx*8]
sub eax, edx
movups xmmword [eax*8 + 0x102036e4], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax*8 + 0x102036f4], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax*8 + 0x10203704], xmm0
movq xmm0, qword [ecx + 0x30]
movq qword [eax*8 + 0x10203714], xmm0
add ecx, 0x38
cmp ecx, 0x104af1cc
jl 0x100173d0
mov ecx, dword [0x102deaa0]
mov eax, 0x104af1cc
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b4], ecx
nop dword [eax]
mov esi, dword [eax]
test esi, esi
js 0x100175d2
cmp esi, 0x3e8
jge 0x100175d2
movups xmm0, xmmword [eax]
mov edx, dword [ecx + 4]
xor edi, edi
mov dword [ebp - 0x1b8], edx
movups xmmword [ebp - 0x1f8], xmm0
mov dword [ebp - 0x1dc], ecx
cmp byte [edx + 0xd], 0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0x220], xmm0
movq xmm0, qword [eax + 0x30]
movq qword [ebp - 0x170], xmm0
jne 0x100174fb
mov eax, edx
nop dword [eax]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x1b8], eax
cmp edx, esi
jge 0x100174d2
mov eax, dword [eax + 8]
jmp 0x100174da
mov dword [ebp - 0x1dc], eax
mov eax, dword [eax]
xor ecx, ecx
cmp edx, esi
setge cl
cmp byte [eax + 0xd], 0
mov dword [ebp - 0x1c0], ecx
je 0x100174c0
mov eax, dword [ebp - 0x1bc]
mov edi, ecx
mov ecx, dword [ebp - 0x1dc]
cmp byte [ecx + 0xd], 0
jne 0x1001750a
cmp esi, dword [ecx + 0x10]
jge 0x100175b8
cmp dword [0x102deaa4], 0x35e50d7
je 0x10017bf0
mov dword [ebp - 0x1d0], 0x102deaa0
mov dword [ebp - 4], 1
push 0x4c
mov dword [ebp - 0x1cc], 0
call fcn.100d097e
mov ecx, dword [ebp - 0x1b4]
add esp, 4
mov dword [ebp - 4], 0xffffffff
movups xmm0, xmmword [ebp - 0x1f8]
mov dword [eax + 0x10], esi
push eax
movups xmmword [eax + 0x14], xmm0
push edi
movups xmm0, xmmword [ebp - 0x30]
mov dword [ebp - 0x1cc], 0
push dword [ebp - 0x1b8]
movups xmmword [eax + 0x24], xmm0
movups xmm0, xmmword [ebp - 0x220]
movups xmmword [eax + 0x34], xmm0
movq xmm0, qword [ebp - 0x170]
movq qword [eax + 0x44], xmm0
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x102deaa0
mov word [eax + 0xc], 0
call fcn.10011a60
mov ecx, dword [0x102deaa0]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1b4], ecx
jmp 0x100175be
mov ecx, dword [ebp - 0x1b4]
add eax, 0x38
mov dword [ebp - 0x1bc], eax
cmp eax, 0x104bcc8c
jl 0x10017460
mov edx, 0x104bcc8c
mov dword [ebp - 0x1b8], edx
nop dword [eax]
cmp dword [edx], 0x100
ja 0x10017632
mov eax, dword [edx + 4]
lea edi, [ebp - 0x15c]
mov dword [ebp - 0x160], eax
mov esi, edx
lea eax, [ebp - 0x160]
mov ecx, 0x48
push eax
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x16c]
mov ecx, 0x10885558
push eax
call fcn.100118f0
mov edx, dword [ebp - 0x1b8]
add edx, 0x120
mov dword [ebp - 0x1b8], edx
cmp edx, 0x104cec8c
jl 0x100175e0
mov edx, 0x104cec8c
mov dword [ebp - 0x1b8], edx
nop dword [eax]
cmp dword [edx], 0x100
ja 0x10017692
mov eax, dword [edx + 4]
lea edi, [ebp - 0x15c]
mov dword [ebp - 0x160], eax
mov esi, edx
lea eax, [ebp - 0x160]
mov ecx, 0x48
push eax
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x16c]
mov ecx, 0x10885560
push eax
call fcn.100118f0
mov edx, dword [ebp - 0x1b8]
add edx, 0x120
mov dword [ebp - 0x1b8], edx
cmp edx, 0x104e0c8c
jl 0x10017640
mov edx, 0x104e0c8c
mov dword [ebp - 0x1b8], edx
nop dword [eax]
cmp dword [edx], 0x100
ja 0x100176f2
mov eax, dword [edx + 4]
lea edi, [ebp - 0x15c]
mov dword [ebp - 0x160], eax
mov esi, edx
lea eax, [ebp - 0x160]
mov ecx, 0x48
push eax
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x16c]
mov ecx, 0x10885568
push eax
call fcn.100118f0
mov edx, dword [ebp - 0x1b8]
add edx, 0x120
mov dword [ebp - 0x1b8], edx
cmp edx, 0x104f2c8c
jl 0x100176a0
mov ecx, 0x104f2c8c
nop word [eax + eax]
movups xmm0, xmmword [ecx + 0x10]
mov eax, dword [ecx]
movups xmmword [ebp - 0x74], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [ebp - 0x64], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [ecx + 0x40]
movq qword [ebp - 0x44], xmm0
cmp eax, 0x31
ja 0x10017769
movups xmm0, xmmword [ecx]
lea eax, [eax + eax*8]
movups xmmword [eax*8 + 0x101bc90c], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax*8 + 0x101bc91c], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax*8 + 0x101bc92c], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [eax*8 + 0x101bc93c], xmm0
movq xmm0, qword [ecx + 0x40]
movq qword [eax*8 + 0x101bc94c], xmm0
add ecx, 0x48
cmp ecx, 0x104f3a9c
jl 0x10017700
push 0x10061440
push 0x520d60
push 0xe9
call fcn.100ceb10
mov ecx, dword [0x1027e8e0]
add esp, 0xc
mov eax, dword [0x1027e8e4]
cmp ecx, eax
je 0x100177a1
mov eax, ecx
mov dword [0x1027e8e4], eax
mov esi, 0x104f3a9c
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [ebp - 0x1d0], ecx
mov dword [ebp - 0x1cc], edx
test ecx, ecx
js 0x100177fa
cmp ecx, 0x32
jge 0x100177fa
cmp eax, dword [0x1027e8e8]
je 0x100177e3
mov dword [eax], edx
mov eax, dword [0x1027e8e4]
add eax, 4
mov dword [0x1027e8e4], eax
jmp 0x100177fa
lea ecx, [ebp - 0x1cc]
push ecx
push eax
mov ecx, 0x1027e8e0
call fcn.1004b7f0
mov eax, dword [0x1027e8e4]
add esi, 8
cmp esi, 0x104f3c2c
jl 0x100177b0
push 0x104f3c2c
call fcn.100445b0
mov edx, 0x104f3d94
movq xmm0, qword [edx]
movq qword [ebp - 0x170], xmm0
mov eax, dword [ebp - 0x170]
cmp eax, 0x31
ja 0x10017845
lea ecx, [eax + eax*2]
movq xmm0, xmm0
mov eax, dword [edx + 8]
movq qword [ecx*4 + 0x10119db4], xmm0
mov dword [ecx*4 + 0x10119dbc], eax
add edx, 0xc
cmp edx, 0x104f3fec
jl 0x10017814
mov ecx, dword [0x102df4d4]
mov esi, 0x104f3fec
mov dword [ebp - 0x1b4], ecx
movups xmm0, xmmword [esi + 0x10]
mov eax, dword [esi + 0x38]
movups xmm1, xmmword [esi]
mov dword [ebp - 0x178], eax
movups xmmword [ebp - 0x1a0], xmm0
movups xmm0, xmmword [esi + 0x20]
movd eax, xmm1
movups xmmword [ebp - 0x190], xmm0
movq xmm0, qword [esi + 0x30]
movq qword [ebp - 0x180], xmm0
movups xmmword [ebp - 0x1b0], xmm1
cmp eax, 0x31
ja 0x10017a24
lea eax, [ebp - 0x1ac]
mov ecx, 0x102df4d4
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.10011a10
mov eax, dword [ebp - 0x204]
mov edi, dword [ebp - 0x1ac]
cmp byte [eax + 0xd], 0
jne 0x100178db
cmp edi, dword [eax + 0x10]
jl 0x100178db
mov ecx, dword [ebp - 0x1b4]
jmp 0x100178e3
mov ecx, dword [ebp - 0x1b4]
mov eax, ecx
test edi, edi
jle 0x10017a24
cmp eax, ecx
jne 0x10017a24
movups xmm0, xmmword [esi]
mov eax, dword [esi + 0x38]
mov ecx, 0x102df4d4
mov dword [ebp - 0x1c0], eax
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x80]
movups xmmword [ebp - 0x1f8], xmm0
push eax
movups xmm0, xmmword [esi + 0x10]
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x80], edi
push eax
movups xmmword [ebp - 0x6c], xmm0
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [ebp - 0x5c], xmm0
movups xmmword [ebp - 0x188], xmm0
movq xmm0, qword [esi + 0x30]
movq qword [ebp - 0x170], xmm0
movq qword [ebp - 0x4c], xmm0
call fcn.10011a10
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x1e8], xmm0
cmp byte [eax + 0xd], 0
jne 0x10017970
cmp edi, dword [eax + 0x10]
jge 0x10017a24
cmp dword [0x102df4d8], 0x3333333
je 0x10017bf0
mov dword [ebp - 0x1d0], 0x102df4d4
mov dword [ebp - 4], 2
push 0x50
mov dword [ebp - 0x1cc], 0
call fcn.100d097e
mov dword [ebp - 4], 0xffffffff
add esp, 4
movups xmm0, xmmword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1c0]
mov dword [eax + 0x10], edi
movups xmmword [eax + 0x14], xmm0
push eax
movups xmm0, xmmword [ebp - 0x30]
mov dword [ebp - 0x1cc], 0
push dword [ebp - 0x1e4]
movups xmmword [eax + 0x24], xmm0
movups xmm0, xmmword [ebp - 0x188]
push dword [ebp - 0x1e8]
movups xmmword [eax + 0x34], xmm0
movq xmm0, qword [ebp - 0x170]
movq qword [eax + 0x44], xmm0
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0x1b4]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x102df4d4
mov word [eax + 0xc], 0
call fcn.10011a60
mov ecx, dword [0x102df4d4]
mov dword [ebp - 0x1b4], ecx
add esi, 0x3c
cmp esi, 0x104f4ba4
jl 0x10017861
mov edi, 0x104f4ba4
nop dword [eax + eax]
movups xmm1, xmmword [edi]
movq xmm0, qword [edi + 0x10]
movd eax, xmm1
movups xmmword [ebp - 0x200], xmm1
movq qword [ebp - 0x1f0], xmm0
cmp eax, 0x1387
ja 0x10017ba4
mov eax, dword [ebp - 0x1f8]
cmp eax, 0xe
ja 0x10017a81
cmp byte [eax + 0x10899ae8], 0
jne 0x10017a81
mov byte [eax + 0x10899ae8], 1
lea eax, [ebp - 0x1fc]
mov ecx, 0x10899ae0
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.10011a10
mov eax, dword [ebp - 0x204]
mov esi, dword [ebp - 0x1fc]
cmp byte [eax + 0xd], 0
jne 0x10017abc
cmp esi, dword [eax + 0x10]
jl 0x10017abc
cmp eax, dword [0x10899ae0]
jne 0x10017ba4
movups xmm0, xmmword [edi]
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], esi
push eax
movups xmmword [ebp - 0x34], xmm0
lea eax, [ebp - 0x21c]
mov ecx, 0x10899ae0
movups xmmword [ebp - 0x188], xmm0
push eax
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x170], xmm0
movq qword [ebp - 0x24], xmm0
call fcn.10011a10
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x1e8], xmm0
cmp byte [eax + 0xd], 0
jne 0x10017b12
cmp esi, dword [eax + 0x10]
jge 0x10017ba4
cmp dword [0x10899ae4], 0x5d1745d
je 0x10017bf0
mov esi, dword [0x10899ae0]
mov dword [ebp - 0x1d0], 0x10899ae0
mov dword [ebp - 4], 3
push 0x2c
mov dword [ebp - 0x1cc], 0
call fcn.100d097e
mov dword [ebp - 4], 0xffffffff
add esp, 4
movups xmm0, xmmword [ebp - 0x188]
mov ecx, dword [ebp - 0x1fc]
mov dword [eax + 0x10], ecx
mov ecx, 0x10899ae0
movups xmmword [eax + 0x14], xmm0
push eax
movq xmm0, qword [ebp - 0x170]
push dword [ebp - 0x1e4]
movq qword [eax + 0x24], xmm0
push dword [ebp - 0x1e8]
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov word [eax + 0xc], 0
mov dword [ebp - 0x1cc], 0
call fcn.10011a60
add edi, 0x18
cmp edi, 0x10512064
jl 0x10017a40
push 0
push ecx
push str.DataEnc1.dat
call fcn.100b3cc0
push 1
push ecx
push str.DataDec2.dat
call fcn.100b3cc0
call fcn.10067840
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100d0970
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10011c70
int3