Function at 0x10016b00
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 0x100f5c01
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x200
mov eax, dword [0x1010c040]
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, 0x102e19f0
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 0x10016b82
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101c5b0c
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x102f01f8
jl 0x10016b50
mov eax, 0x102f01f8
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 0x10016bc5
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101d4314
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x102fea00
jl 0x10016b93
mov eax, 0x102fea00
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 0x10016c12
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101e2b1c
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x1030d208
jl 0x10016be0
mov eax, 0x1030d208
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 0x10016c52
imul edi, ecx, 0xbc
mov esi, eax
mov ecx, 0x2f
add edi, 0x101c35cc
rep movsd dword es:[edi], dword [esi]
add eax, 0xbc
cmp eax, 0x1030f6c0
jl 0x10016c23
mov edx, 0x1030f6c0
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 0x10016c94
mov eax, ecx
mov esi, edx
shl eax, 4
sub eax, ecx
mov ecx, 0x1e
lea edi, [eax*8 + 0x10280894]
rep movsd dword es:[edi], dword [esi]
add edx, 0x78
cmp edx, 0x103125a0
jl 0x10016c63
mov edx, 0x103125a0
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 0x10016cfd
movups xmm0, xmmword [edx]
imul ecx, eax, 0x34
mov eax, dword [edx + 0x30]
add ecx, 0x101214c4
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, 0x1032bbe0
jl 0x10016cb0
movups xmm0, xmmword [0x103972a0]
mov edx, dword [0x103972d8]
movups xmm1, xmmword [0x103972b0]
movups xmm2, xmmword [0x103972c0]
movq xmm3, qword [0x103972d0]
movd ecx, xmm0
cmp ecx, 2
ja 0x10016d63
mov eax, ecx
shl eax, 4
sub eax, ecx
movups xmmword [eax*4 + 0x1011d728], xmm0
movups xmmword [eax*4 + 0x1011d738], xmm1
movups xmmword [eax*4 + 0x1011d748], xmm2
movq qword [eax*4 + 0x1011d758], xmm3
mov dword [eax*4 + 0x1011d760], edx
movups xmm0, xmmword [0x103972dc]
mov edx, dword [0x10397314]
movups xmm1, xmmword [0x103972ec]
movups xmm2, xmmword [0x103972fc]
movq xmm3, qword [0x1039730c]
movd ecx, xmm0
cmp ecx, 2
ja 0x10016dbe
mov eax, ecx
shl eax, 4
sub eax, ecx
movups xmmword [eax*4 + 0x1011d728], xmm0
movups xmmword [eax*4 + 0x1011d738], xmm1
movups xmmword [eax*4 + 0x1011d748], xmm2
movq qword [eax*4 + 0x1011d758], xmm3
mov dword [eax*4 + 0x1011d760], edx
movups xmm0, xmmword [0x10397318]
mov edx, dword [0x10397350]
movups xmm1, xmmword [0x10397328]
movups xmm2, xmmword [0x10397338]
movq xmm3, qword [0x10397348]
movd ecx, xmm0
cmp ecx, 2
ja 0x10016e19
mov eax, ecx
shl eax, 4
sub eax, ecx
movups xmmword [eax*4 + 0x1011d728], xmm0
movups xmmword [eax*4 + 0x1011d738], xmm1
movups xmmword [eax*4 + 0x1011d748], xmm2
movq qword [eax*4 + 0x1011d758], xmm3
mov dword [eax*4 + 0x1011d760], edx
mov ecx, 0x10397354
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 0x10016e94
movups xmm0, xmmword [ecx]
lea eax, [edx + 1]
mov dword [0x114dbde4], eax
imul eax, edx, 0x58
add eax, 0x114d9b80
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, 0x103995b4
jl 0x10016e20
mov eax, 0x103a6a34
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 0x10016ee2
imul edi, ecx, 0xb4
mov esi, eax
mov ecx, 0x2d
add edi, 0x1013ab44
rep movsd dword es:[edi], dword [esi]
add eax, 0xb4
cmp eax, 0x1042a794
jl 0x10016eb0
push 0
push 0x103995b4
call fcn.10024d10
push 1
push 0x1039cad4
call fcn.10024d10
mov edx, 0x1039fff4
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 0x10016f77
movups xmm0, xmmword [edx]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [edx + 0x40]
movups xmmword [ecx*4 + 0x114e2830], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx*4 + 0x114e2840], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ecx*4 + 0x114e2850], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ecx*4 + 0x114e2860], xmm0
mov dword [ecx*4 + 0x114e2870], eax
add edx, 0x44
cmp edx, 0x103a3514
jl 0x10016f10
mov edx, 0x103a3514
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 0x10016ff7
movups xmm0, xmmword [edx]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [edx + 0x40]
movups xmmword [ecx*4 + 0x114e5d50], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx*4 + 0x114e5d60], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ecx*4 + 0x114e5d70], xmm0
movups xmm0, xmmword [edx + 0x30]
movups xmmword [ecx*4 + 0x114e5d80], xmm0
mov dword [ecx*4 + 0x114e5d90], eax
add edx, 0x44
cmp edx, 0x103a6a34
jl 0x10016f90
mov edx, 0x1032bbe0
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 0x10017061
movups xmm0, xmmword [edx]
imul ecx, eax, 0x2c
mov eax, dword [edx + 0x28]
add ecx, 0x1051415c
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, 0x10361740
jl 0x10017010
mov edx, 0x10361740
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 0x100170c2
movups xmm0, xmmword [edx]
imul ecx, eax, 0x2c
mov eax, dword [edx + 0x28]
add ecx, 0x10283784
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, 0x103972a0
jl 0x10017071
push 0x10442e0c
push 1
call fcn.1004bc00
push 0x1044d9ec
push 2
call fcn.1004bc00
push 0x104585cc
push 1
call fcn.10044b90
push 0x1045dbbc
push 2
call fcn.10044b90
mov edx, 0x104631ac
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 0x10017168
movups xmm0, xmmword [edx]
imul ecx, eax, 0x4c
mov eax, dword [edx + 0x48]
add ecx, 0x1011d7e4
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, 0x10464f5c
jl 0x10017102
mov edx, 0x10464f5c
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 0x100171cb
movups xmm0, xmmword [edx]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0x18]
movups xmmword [ecx*4 + 0x1025a15c], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [ecx*4 + 0x1025a16c], xmm0
mov dword [ecx*4 + 0x1025a174], eax
add edx, 0x1c
cmp edx, 0x1046860c
jl 0x10017180
mov edx, 0x1046860c
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 0x1001722b
movups xmm0, xmmword [edx]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0x18]
movups xmmword [ecx*4 + 0x102159f4], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [ecx*4 + 0x10215a04], xmm0
mov dword [ecx*4 + 0x10215a0c], eax
add edx, 0x1c
cmp edx, 0x1046b1cc
jl 0x100171e0
mov edx, 0x1042cea4
nop dword [eax + eax]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
cmp eax, 0x95
ja 0x1001726a
movups xmm0, xmmword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
movups xmmword [ecx*4 + 0x1011f59c], xmm0
mov dword [ecx*4 + 0x1011f5ac], eax
add edx, 0x14
cmp edx, 0x1042da5c
jl 0x10017240
mov edx, 0x1042a794
nop word [eax + eax]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
cmp eax, 0x1f3
ja 0x100172aa
movups xmm0, xmmword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
movups xmmword [ecx*4 + 0x102de2a4], xmm0
mov dword [ecx*4 + 0x102de2b4], eax
add edx, 0x14
cmp edx, 0x1042cea4
jl 0x10017280
mov eax, 0x1042da5c
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 0x100172f8
imul edi, ecx, 0xbc
mov esi, eax
mov ecx, 0x2f
add edi, 0x101fc39c
rep movsd dword es:[edi], dword [esi]
inc dword [0x101fae7c]
add eax, 0xbc
cmp eax, 0x10436d3c
jl 0x100172c0
mov ecx, 0x10436d3c
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 0x10017350
movups xmm0, xmmword [ecx]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 0x1023b1ec
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, 0x104392bc
jl 0x10017310
mov eax, 0x104392bc
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 0x1001738c
imul edi, ecx, 0x7c
mov esi, eax
mov ecx, 0x1f
add edi, 0x1012015c
rep movsd dword es:[edi], dword [esi]
add eax, 0x7c
cmp eax, 0x1043a61c
jl 0x10017360
mov ecx, dword [0x114edc40]
mov esi, 0x1043a61c
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 0x1001753e
lea eax, [ebp - 0x78]
mov ecx, 0x114edc40
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.10011a30
mov eax, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x78]
cmp byte [eax + 0xd], 0
jne 0x1001740f
cmp edi, dword [eax + 0x10]
jl 0x1001740f
mov ecx, dword [ebp - 0x1b4]
jmp 0x10017417
mov ecx, dword [ebp - 0x1b4]
mov eax, ecx
test edi, edi
jle 0x1001753e
cmp eax, ecx
jne 0x1001753e
movups xmm0, xmmword [esi]
lea eax, [ebp - 0x80]
mov dword [ebp - 0x80], edi
push eax
movups xmmword [ebp - 0x7c], xmm0
lea eax, [ebp - 0x1ec]
mov ecx, 0x114edc40
movups xmmword [ebp - 0x200], xmm0
push eax
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ebp - 0x6c], xmm0
movups xmmword [ebp - 0x1d0], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [ebp - 0x5c], xmm0
movups xmmword [ebp - 0x210], xmm0
movups xmm0, xmmword [esi + 0x30]
movups xmmword [ebp - 0x30], xmm0
movups xmmword [ebp - 0x4c], xmm0
call fcn.10011a30
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x170], xmm0
cmp byte [eax + 0xd], 0
jne 0x10017495
cmp edi, dword [eax + 0x10]
jge 0x1001753e
cmp dword [0x114edc44], 0x30c30c3
je 0x10018297
mov dword [ebp - 0x1c0], 0x114edc40
mov dword [ebp - 4], 0
push 0x54
mov dword [ebp - 0x1bc], 0
call fcn.100d2bf6
mov dword [ebp - 4], 0xffffffff
add esp, 4
movups xmm0, xmmword [ebp - 0x200]
mov ecx, dword [ebp - 0x1b4]
mov dword [eax + 0x10], edi
movups xmmword [eax + 0x14], xmm0
push eax
movups xmm0, xmmword [ebp - 0x1d0]
mov dword [ebp - 0x1bc], 0
push dword [ebp - 0x16c]
movups xmmword [eax + 0x24], xmm0
movups xmm0, xmmword [ebp - 0x210]
push dword [ebp - 0x170]
movups xmmword [eax + 0x34], xmm0
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [eax + 0x44], xmm0
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x114edc40
mov word [eax + 0xc], 0
call fcn.10011a80
mov ecx, dword [0x114edc40]
mov dword [ebp - 0x1b4], ecx
add esi, 0x40
cmp esi, 0x1043d81c
jl 0x100173b0
mov edx, 0x1043d81c
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 0x100175c7
movups xmm0, xmmword [edx]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [edx + 0x38]
movups xmmword [ecx*4 + 0x1011bfb4], xmm0
movups xmm0, xmmword [edx + 0x10]
movups xmmword [ecx*4 + 0x1011bfc4], xmm0
movups xmm0, xmmword [edx + 0x20]
movups xmmword [ecx*4 + 0x1011bfd4], xmm0
movq xmm0, qword [edx + 0x30]
movq qword [ecx*4 + 0x1011bfe4], xmm0
mov dword [ecx*4 + 0x1011bfec], eax
add edx, 0x3c
cmp edx, 0x1043ef8c
jl 0x10017552
mov ecx, 0x1043ef8c
nop word [eax + eax]
movups xmm0, xmmword [ecx + 0x10]
mov eax, dword [ecx]
movups xmmword [ebp - 0x184], xmm0
cmp eax, 0x1f3
ja 0x1001760a
movups xmm0, xmmword [ecx]
shl eax, 5
add eax, 0x101bf744
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm0
add ecx, 0x20
cmp ecx, 0x10442e0c
jl 0x100175e0
mov eax, 0x1046b1cc
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 0x10017652
lea edi, [ecx + ecx*8]
mov esi, eax
shl edi, 4
mov ecx, 0x24
add edi, 0x1025f07c
rep movsd dword es:[edi], dword [esi]
add eax, 0x90
cmp eax, 0x10475a8c
jl 0x10017620
mov eax, 0x10475a8c
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 0x10017695
lea edi, [ecx + ecx*8]
mov esi, eax
shl edi, 4
mov ecx, 0x24
add edi, 0x1026993c
rep movsd dword es:[edi], dword [esi]
add eax, 0x90
cmp eax, 0x1048034c
jl 0x10017663
mov eax, 0x1048034c
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 0x100176e2
lea edi, [ecx + ecx*8]
mov esi, eax
shl edi, 4
mov ecx, 0x24
add edi, 0x102741fc
rep movsd dword es:[edi], dword [esi]
add eax, 0x90
cmp eax, 0x1048ac0c
jl 0x100176b0
mov eax, 0x1048ac0c
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 0x10017722
imul edi, ecx, 0x11c
mov esi, eax
mov ecx, 0x47
add edi, 0x1027eff4
rep movsd dword es:[edi], dword [esi]
add eax, 0x11c
cmp eax, 0x1048c23c
jl 0x100176f3
mov eax, dword [0x114ed170]
mov ecx, 0x32
mov esi, 0x1048c23c
mov edi, 0x1028062c
rep movsd dword es:[edi], dword [esi]
mov edx, 0x1048c304
nop dword [eax]
cmp eax, 0x3e7
ja 0x1001778e
movq xmm0, qword [edx]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 8]
movq qword [ecx*2 + 0x114e9ac0], xmm0
mov dword [ecx*2 + 0x114e9ac8], eax
mov ax, word [edx + 0xc]
mov word [ecx*2 + 0x114e9acc], ax
mov eax, dword [0x114ed170]
inc eax
mov dword [0x114ed170], eax
add edx, 0xe
cmp edx, 0x1048f9b4
jl 0x10017750
mov ecx, dword [0x114ed948]
mov edx, 0x1048f9b4
mov eax, dword [edx]
cmp ecx, 0x1f3
ja 0x100177c2
mov dword [ecx*4 + 0x114ed178], eax
mov ecx, dword [0x114ed948]
inc ecx
mov dword [0x114ed948], ecx
add edx, 4
cmp edx, 0x10490184
jl 0x100177a4
mov edx, 0x10490184
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
cmp eax, 0x1f3
ja 0x100177fc
movups xmm0, xmmword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
movups xmmword [ecx*4 + 0x102185bc], xmm0
mov dword [ecx*4 + 0x102185cc], eax
add edx, 0x14
cmp edx, 0x10492894
jl 0x100177d2
push 0x10492894
push 1
call fcn.10047440
push 0x10495c24
push 2
call fcn.10047440
mov edx, 0x10498fb4
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 0x10017879
movups xmm0, xmmword [edx]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0x18]
movups xmmword [ecx*4 + 0x10243e9c], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [ecx*4 + 0x10243eac], xmm0
mov dword [ecx*4 + 0x10243eb4], eax
add edx, 0x1c
cmp edx, 0x10499aa4
jl 0x10017830
mov eax, 0x10499aa4
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 0x100178bf
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101f13c4
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x1049ce34
jl 0x10017890
mov eax, 0x1049ce34
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 0x100178ff
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101f4754
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x104a01c4
jl 0x100178d0
mov eax, 0x104a01c4
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 0x1001793f
imul edi, ecx, 0x84
mov esi, eax
mov ecx, 0x21
add edi, 0x101f7ae4
rep movsd dword es:[edi], dword [esi]
add eax, 0x84
cmp eax, 0x104a3554
jl 0x10017910
mov eax, 0x1021acd4
mov dword [eax], 0xffffffff
add eax, 0x108
cmp eax, 0x1023b074
jl 0x10017950
mov ecx, dword [0x1023b074]
mov eax, 0x104a3554
mov dword [ebp - 0x1b4], 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 0x10017a2a
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, 0x1021acd4
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x1023b074]
inc ecx
mov dword [0x1023b074], ecx
mov eax, dword [ebp - 0x1b4]
add eax, 0x3c
mov dword [ebp - 0x1b4], eax
cmp eax, 0x104aaa84
jl 0x10017980
mov edx, 0x104aaa84
nop dword [eax]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx]
cmp eax, 0xc7
ja 0x10017a7a
movups xmm0, xmmword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
movups xmmword [ecx*4 + 0x114f1418], xmm0
mov dword [ecx*4 + 0x114f1428], eax
add edx, 0x14
cmp edx, 0x104aba24
jl 0x10017a50
mov ecx, 0x104aba24
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 0x10017af7
movups xmm0, xmmword [ecx]
lea eax, [edx*8]
sub eax, edx
movups xmmword [eax*8 + 0x10205684], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax*8 + 0x10205694], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax*8 + 0x102056a4], xmm0
movq xmm0, qword [ecx + 0x30]
movq qword [eax*8 + 0x102056b4], xmm0
add ecx, 0x38
cmp ecx, 0x104b11a4
jl 0x10017a90
mov edx, dword [0x102e0a40]
mov edi, 0x104b11a4
mov dword [ebp - 0x1b8], edi
mov dword [ebp - 0x1b4], edx
nop dword [eax]
mov ecx, dword [edi]
mov dword [ebp - 0x1bc], ecx
cmp ecx, 0x3e7
ja 0x10017c6f
movups xmm0, xmmword [edi]
mov eax, dword [edx + 4]
xor esi, esi
mov dword [ebp - 0x1d4], eax
movups xmmword [ebp - 0x30], xmm0
cmp byte [eax + 0xd], 0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [ebp - 0x210], xmm0
movups xmm0, xmmword [edi + 0x20]
movups xmmword [ebp - 0x200], xmm0
movq xmm0, qword [edi + 0x30]
movq qword [ebp - 0x170], xmm0
jne 0x10017b97
nop
mov dword [ebp - 0x1d4], eax
cmp dword [eax + 0x10], ecx
jge 0x10017b82
mov eax, dword [eax + 8]
xor esi, esi
jmp 0x10017b8b
mov edx, eax
mov esi, 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x10017b70
mov edi, dword [ebp - 0x1b8]
cmp byte [edx + 0xd], 0
jne 0x10017ba6
cmp ecx, dword [edx + 0x10]
jge 0x10017c54
cmp dword [0x102e0a44], 0x35e50d7
je 0x10018297
mov dword [ebp - 0x1c8], 0x102e0a40
mov dword [ebp - 4], 1
push 0x4c
mov dword [ebp - 0x1c4], 0
call fcn.100d2bf6
mov dword [ebp - 4], 0xffffffff
add esp, 4
movups xmm0, xmmword [ebp - 0x30]
mov ecx, dword [ebp - 0x1bc]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x1b4]
movups xmmword [eax + 0x14], xmm0
push eax
movups xmm0, xmmword [ebp - 0x210]
push esi
push dword [ebp - 0x1d4]
movups xmmword [eax + 0x24], xmm0
mov dword [ebp - 0x1c4], 0
movups xmm0, xmmword [ebp - 0x200]
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, 0x102e0a40
mov word [eax + 0xc], 0
call fcn.10011a80
mov edx, dword [0x102e0a40]
mov dword [ebp - 0x1b4], edx
jmp 0x10017c5a
mov edx, dword [ebp - 0x1b4]
add edi, 0x38
mov dword [ebp - 0x1b8], edi
cmp edi, 0x104bec64
jl 0x10017b20
mov edx, 0x104bec64
mov dword [ebp - 0x1b8], edx
nop word [eax + eax]
cmp dword [edx], 0x100
ja 0x10017cd2
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, 0x114d99e0
push eax
call fcn.10011910
mov edx, dword [ebp - 0x1b8]
add edx, 0x120
mov dword [ebp - 0x1b8], edx
cmp edx, 0x104d0c64
jl 0x10017c80
mov edx, 0x104d0c64
mov dword [ebp - 0x1b8], edx
nop dword [eax]
cmp dword [edx], 0x100
ja 0x10017d32
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, 0x114d99e8
push eax
call fcn.10011910
mov edx, dword [ebp - 0x1b8]
add edx, 0x120
mov dword [ebp - 0x1b8], edx
cmp edx, 0x104e2c64
jl 0x10017ce0
mov edx, 0x104e2c64
mov dword [ebp - 0x1b8], edx
nop dword [eax]
cmp dword [edx], 0x100
ja 0x10017d92
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, 0x114d99f0
push eax
call fcn.10011910
mov edx, dword [ebp - 0x1b8]
add edx, 0x120
mov dword [ebp - 0x1b8], edx
cmp edx, 0x104f4c64
jl 0x10017d40
mov ecx, 0x104f4c64
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 0x10017e09
movups xmm0, xmmword [ecx]
lea eax, [eax + eax*8]
movups xmmword [eax*8 + 0x101be8ac], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax*8 + 0x101be8bc], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax*8 + 0x101be8cc], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [eax*8 + 0x101be8dc], xmm0
movq xmm0, qword [ecx + 0x40]
movq qword [eax*8 + 0x101be8ec], xmm0
add ecx, 0x48
cmp ecx, 0x104f5a74
jl 0x10017da0
push 0x10062c70
push 0x520d60
push 0xe9
call fcn.100d0e40
mov ecx, dword [0x10280884]
add esp, 0xc
mov eax, dword [0x10280888]
cmp ecx, eax
je 0x10017e41
mov eax, ecx
mov dword [0x10280888], eax
mov esi, 0x104f5a74
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1c4], edx
test ecx, ecx
js 0x10017e9a
cmp ecx, 0x32
jge 0x10017e9a
cmp eax, dword [0x1028088c]
je 0x10017e83
mov dword [eax], edx
mov eax, dword [0x10280888]
add eax, 4
mov dword [0x10280888], eax
jmp 0x10017e9a
lea ecx, [ebp - 0x1c4]
push ecx
push eax
mov ecx, 0x10280884
call fcn.1004c3d0
mov eax, dword [0x10280888]
add esi, 8
cmp esi, 0x104f5c04
jl 0x10017e50
push 0x104f5c04
call fcn.10045100
mov edx, 0x104f5d6c
movq xmm0, qword [edx]
movq qword [ebp - 0x170], xmm0
mov eax, dword [ebp - 0x170]
cmp eax, 0x31
ja 0x10017ee5
lea ecx, [eax + eax*2]
movq xmm0, xmm0
mov eax, dword [edx + 8]
movq qword [ecx*4 + 0x1011bd54], xmm0
mov dword [ecx*4 + 0x1011bd5c], eax
add edx, 0xc
cmp edx, 0x104f5fc4
jl 0x10017eb4
mov ecx, dword [0x102e1474]
mov esi, 0x104f5fc4
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 0x100180c4
lea eax, [ebp - 0x1ac]
mov ecx, 0x102e1474
push eax
lea eax, [ebp - 0x1ec]
push eax
call fcn.10011a30
mov eax, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1ac]
cmp byte [eax + 0xd], 0
jne 0x10017f7b
cmp edi, dword [eax + 0x10]
jl 0x10017f7b
mov ecx, dword [ebp - 0x1b4]
jmp 0x10017f83
mov ecx, dword [ebp - 0x1b4]
mov eax, ecx
test edi, edi
jle 0x100180c4
cmp eax, ecx
jne 0x100180c4
movups xmm0, xmmword [esi]
mov eax, dword [esi + 0x38]
mov ecx, 0x102e1474
mov dword [ebp - 0x1bc], eax
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x80]
movups xmmword [ebp - 0x30], xmm0
push eax
movups xmm0, xmmword [esi + 0x10]
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x80], edi
push eax
movups xmmword [ebp - 0x6c], xmm0
movups xmmword [ebp - 0x210], 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.10011a30
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x1e0], xmm0
cmp byte [eax + 0xd], 0
jne 0x10018010
cmp edi, dword [eax + 0x10]
jge 0x100180c4
cmp dword [0x102e1478], 0x3333333
je 0x10018297
mov dword [ebp - 0x1c8], 0x102e1474
mov dword [ebp - 4], 2
push 0x50
mov dword [ebp - 0x1c4], 0
call fcn.100d2bf6
mov dword [ebp - 4], 0xffffffff
add esp, 4
movups xmm0, xmmword [ebp - 0x30]
mov ecx, dword [ebp - 0x1bc]
mov dword [eax + 0x10], edi
movups xmmword [eax + 0x14], xmm0
push eax
movups xmm0, xmmword [ebp - 0x210]
mov dword [ebp - 0x1c4], 0
push dword [ebp - 0x1dc]
movups xmmword [eax + 0x24], xmm0
movups xmm0, xmmword [ebp - 0x188]
push dword [ebp - 0x1e0]
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, 0x102e1474
mov word [eax + 0xc], 0
call fcn.10011a80
mov ecx, dword [0x102e1474]
mov dword [ebp - 0x1b4], ecx
add esi, 0x3c
cmp esi, 0x104f6b7c
jl 0x10017f01
mov esi, 0x104f6b7c
nop dword [eax + eax]
movups xmm1, xmmword [esi]
movq xmm0, qword [esi + 0x10]
movd eax, xmm1
movups xmmword [ebp - 0x18c], xmm1
movq qword [ebp - 0x17c], xmm0
cmp eax, 0x1387
ja 0x1001824b
mov eax, dword [ebp - 0x184]
cmp eax, 0xe
ja 0x10018121
cmp byte [eax + 0x114edf78], 0
jne 0x10018121
mov byte [eax + 0x114edf78], 1
lea eax, [ebp - 0x188]
mov ecx, 0x114edf70
push eax
lea eax, [ebp - 0x1ec]
push eax
call fcn.10011a30
mov eax, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x188]
cmp byte [eax + 0xd], 0
jne 0x10018150
cmp edi, dword [eax + 0x10]
jge 0x10018155
mov eax, dword [0x114edf70]
mov ecx, dword [0x114edf70]
mov dword [ebp - 0x1bc], ecx
cmp eax, ecx
jne 0x1001824b
movups xmm0, xmmword [esi]
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], edi
push eax
movups xmmword [ebp - 0x34], xmm0
lea eax, [ebp - 0x1fc]
mov ecx, 0x114edf70
movups xmmword [ebp - 0x188], xmm0
push eax
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x170], xmm0
movq qword [ebp - 0x24], xmm0
call fcn.10011a30
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x1e0], xmm0
cmp byte [eax + 0xd], 0
jne 0x100181bf
cmp edi, dword [eax + 0x10]
jge 0x1001824b
cmp dword [0x114edf74], 0x5d1745d
je 0x10018297
mov dword [ebp - 0x1c8], 0x114edf70
mov dword [ebp - 4], 3
push 0x2c
mov dword [ebp - 0x1c4], 0
call fcn.100d2bf6
mov dword [ebp - 4], 0xffffffff
add esp, 4
movups xmm0, xmmword [ebp - 0x188]
mov ecx, dword [ebp - 0x1bc]
mov dword [eax + 0x10], edi
movups xmmword [eax + 0x14], xmm0
push eax
movq xmm0, qword [ebp - 0x170]
push dword [ebp - 0x1dc]
movq qword [eax + 0x24], xmm0
push dword [ebp - 0x1e0]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, 0x114edf70
mov word [eax + 0xc], 0
mov dword [ebp - 0x1c4], 0
call fcn.10011a80
add esi, 0x18
cmp esi, 0x1051403c
jl 0x100180e0
push 0
push ecx
push str.DataEnc1.dat
call fcn.100b5fc0
push 1
push ecx
push str.DataDec2.dat
call fcn.100b5fc0
call fcn.100695b0
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.100d2be8
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10011c90
int3