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

Disassembly:
sub esp, 0x84
mov eax, dword [ecx + 0x16cc]
movzx edx, byte [ecx + 0x41]
mov dword [esp + 0x28], eax
mov eax, edx
xor eax, 1
mov dword [esp + 0x14], ecx
imul eax, eax, 0xb44
push ebx
push ebp
push esi
lea esi, [ecx + 0x44]
add eax, 0x44
lea ebx, [ecx + 0x16d0]
add eax, ecx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x30], eax
imul eax, edx, 0xb44
push edi
add esi, eax
cmp byte [ecx + 0x40], 2
mov dword [esp + 0x54], esi
jb 0x10128b46
mov edi, dword [esp + 0xa0]
lea ecx, [esp + 0x64]
sub edi, dword [esp + 0x9c]
lea edx, [esp + 0x68]
sar edi, 0xc
mov eax, 4
cmp edi, eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
cmova edi, eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], edi
lea ebp, [ebx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x18], ebp
cmp eax, dword [edx]
je 0x1012877a
cmp al, byte [edx]
jne 0x1012877e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1012877e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1012877e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1012877e
xor ecx, ecx
jmp 0x10128783
sbb ecx, ecx
or ecx, 1
mov eax, ebp
mov dword [esp + 0x28], ecx
sub eax, ebx
mov dword [esp + 0x30], 0
mov edi, eax
mov dword [esp + 0x14], eax
and edi, 0xfffffffc
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], edi
mov edx, 0x1021cb90
add edi, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x2c], 4
nop
test ecx, ecx
jne 0x101287d8
push dword [esp + 0x50]
push ecx
push ebx
call fcn.10086ae0
mov edx, dword [esp + 0x28]
add esp, 0xc
jmp 0x101287fb
lea ecx, [eax + 3]
mov dword [esp + 0x20], 0
shr ecx, 2
cmp ebx, ebp
cmova ecx, dword [esp + 0x20]
test ecx, ecx
je 0x101287ff
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
test edi, edi
je 0x10128942
add eax, 3
mov dword [esp + 0x40], edx
shr eax, 2
xor ecx, ecx
cmp ebx, ebp
mov dword [esp + 0x44], ecx
mov dword [esp + 0x20], edi
cmova eax, ecx
mov dword [esp + 0x3c], eax
mov eax, edx
nop word [eax + eax]
movss xmm3, dword [eax]
xor edi, edi
add ecx, dword [esp + 0x9c]
movaps xmm2, xmm3
mov eax, dword [esp + 0x3c]
mov edx, ebx
shufps xmm2, xmm2, 0
mov esi, ebx
test eax, eax
je 0x101288f1
cmp eax, 0x10
jb 0x101288f1
mov eax, dword [esp + 0x14]
mov ebp, edi
add eax, 3
and eax, 0xfffffffc
cmp ebx, dword [esp + 0x18]
cmova eax, ebp
sub eax, 4
lea ebp, [eax + ebx]
cmp ebx, ebp
jbe 0x101288f1
add eax, ecx
cmp ebx, eax
ja 0x10128884
cmp ebp, ecx
jae 0x101288f1
mov eax, dword [esp + 0x3c]
and eax, 0xfffffff0
nop dword [eax + eax]
movups xmm0, xmmword [ecx]
add edi, 0x10
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmmword [esi], xmm1
movups xmm0, xmmword [ecx + 0x10]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x10]
addps xmm1, xmm0
movups xmmword [esi + 0x10], xmm1
movups xmm0, xmmword [ecx + 0x20]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x20]
addps xmm1, xmm0
movups xmmword [esi + 0x20], xmm1
movups xmm0, xmmword [ecx + 0x30]
add ecx, 0x40
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x30]
add edx, 0x40
addps xmm1, xmm0
movups xmmword [esi + 0x30], xmm1
add esi, 0x40
cmp edi, eax
jne 0x10128890
mov eax, dword [esp + 0x18]
cmp edx, eax
je 0x1012891a
sub esi, ecx
nop dword [eax + eax]
movaps xmm0, xmm3
mulss xmm0, dword [ecx]
addss xmm0, dword [edx]
add edx, 4
movss dword [ecx + esi], xmm0
add ecx, 4
cmp edx, eax
jne 0x10128900
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
add eax, 4
add ecx, 0x1000
mov dword [esp + 0x40], eax
sub dword [esp + 0x20], 1
mov dword [esp + 0x44], ecx
jne 0x10128830
mov esi, dword [esp + 0x48]
push ebx
push dword [esp + 0x50]
lea eax, [esi + 0x1c]
mov ecx, esi
push ebx
push eax
call fcn.1012f970
mov eax, dword [esp + 0x98]
xor edi, edi
mov ebp, dword [esp + 0x38]
test eax, eax
je 0x101289b3
mov ecx, dword [esp + 0x54]
sub eax, edi
mov edx, dword [ecx + 0xe0]
and ebp, edx
sub edx, ebp
mov esi, ebp
inc edx
cmp edx, eax
cmova edx, eax
shl esi, 4
nop
mov ecx, dword [ecx + 0xe4]
inc ebp
mov eax, dword [ebx + edi*4]
add ecx, esi
mov ebx, dword [esp + 0x30]
add esi, 0x10
inc edi
mov dword [ebx + ecx], eax
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
sub edx, 1
jne 0x10128980
mov eax, dword [esp + 0x98]
cmp edi, eax
jb 0x10128964
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x1c]
add esi, 0x38
add dword [esp + 0x30], 4
add edx, 0x10
sub dword [esp + 0x2c], 1
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x48], esi
jne 0x101287c0
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x40], 2
jne 0x1012916d
lea ecx, [esp + 0x6c]
mov dword [esp + 0x6c], 0
mov eax, dword [ecx]
lea edx, [esp + 0x70]
mov dword [esp + 0x70], 0
cmp eax, dword [edx]
je 0x10128a2d
cmp al, byte [edx]
jne 0x10128a31
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10128a31
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10128a31
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x10128a31
xor ecx, ecx
jmp 0x10128a36
sbb ecx, ecx
or ecx, 1
mov eax, ebp
mov dword [esp + 0x2c], ecx
mov ebp, dword [esp + 0x34]
mov esi, eax
sub esi, ebx
mov dword [esp + 0x10], 0
mov edx, esi
mov dword [esp + 0x50], esi
sar edx, 2
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], ebp
lea edi, [ebx + edx*4]
mov dword [esp + 0x4c], edi
test ecx, ecx
jne 0x10128a7c
lea eax, [edx*4]
push eax
push ecx
push ebx
call fcn.10086ae0
add esp, 0xc
jmp 0x10128a97
lea ecx, [esi + 3]
xor edx, edx
shr ecx, 2
cmp ebx, eax
cmova ecx, edx
test ecx, ecx
je 0x10128a97
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x4c]
push ebx
push edi
lea eax, [ebp + 0x1c]
mov ecx, ebp
push ebx
push eax
call fcn.1012f970
mov eax, dword [esp + 0x98]
xor edi, edi
mov ebp, dword [esp + 0x38]
test eax, eax
je 0x10128b13
nop word [eax + eax]
mov ecx, dword [esp + 0x34]
sub eax, edi
mov edx, dword [ecx + 0xe0]
and ebp, edx
sub edx, ebp
mov esi, ebp
inc edx
cmp edx, eax
cmova edx, eax
shl esi, 4
nop dword [eax + eax]
mov ecx, dword [ecx + 0xe4]
inc ebp
mov eax, dword [ebx + edi*4]
add ecx, esi
mov ebx, dword [esp + 0x10]
add esi, 0x10
inc edi
mov dword [ebx + ecx], eax
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x34]
sub edx, 1
jne 0x10128ae0
mov eax, dword [esp + 0x98]
cmp edi, eax
jb 0x10128ac0
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
add eax, 4
mov edx, dword [esp + 0x20]
add ebp, 0x38
mov ecx, dword [esp + 0x2c]
cmp eax, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
lea edi, [ebx + edx*4]
jb 0x10128a64
jmp 0x1012916d
mov eax, dword [esp + 0xa0]
lea edx, [esp + 0x78]
sub eax, dword [esp + 0x9c]
mov ecx, 4
sar eax, 0xc
cmp eax, ecx
movss xmm4, dword [0x1028a2d8]
movaps xmm5, xmm4
mov dword [esp + 0x74], 0
cmova eax, ecx
mov dword [esp + 0x78], 0
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x74]
mov eax, dword [esp + 0x98]
movd xmm0, eax
lea ebp, [ebx + eax*4]
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [esp + 0x18], ebp
addsd xmm0, qword [eax*8 + 0x1016a520]
mov eax, dword [ecx]
cvtpd2ps xmm0, xmm0
divss xmm5, xmm0
movss dword [esp + 0x48], xmm5
cmp eax, dword [edx]
je 0x10128bda
cmp al, byte [edx]
jne 0x10128bde
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10128bde
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10128bde
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x10128bde
xor ecx, ecx
jmp 0x10128be3
sbb ecx, ecx
or ecx, 1
mov eax, ebp
mov dword [esp + 0x14], esi
sub eax, ebx
mov dword [esp + 0x3c], ecx
mov edi, eax
mov dword [esp + 0x1c], eax
sar edi, 2
mov edx, 0x1021cb90
mov dword [esp + 0x60], edi
mov dword [esp + 0x30], 0
mov dword [esp + 0x10], edx
lea esi, [ebx + edi*4]
mov dword [esp + 0x40], 4
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x14]
test ecx, ecx
jne 0x10128c4a
lea eax, [edi*4]
push eax
push ecx
push ebx
call fcn.10086ae0
movss xmm4, dword [0x1028a2d8]
add esp, 0xc
movss xmm5, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
jmp 0x10128c61
lea ecx, [eax + 3]
xor edi, edi
shr ecx, 2
cmp ebx, ebp
cmova ecx, edi
test ecx, ecx
je 0x10128c65
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x50]
test edi, edi
je 0x10128da2
add eax, 3
mov dword [esp + 0x2c], edx
shr eax, 2
xor ecx, ecx
cmp ebx, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x44], edi
cmova eax, ecx
mov dword [esp + 0x28], eax
mov eax, edx
movss xmm3, dword [eax]
xor edi, edi
add ecx, dword [esp + 0x9c]
mov edx, ebx
mov eax, dword [esp + 0x28]
mov esi, ebx
test eax, eax
je 0x10128d56
cmp eax, 0x10
jb 0x10128d56
mov eax, dword [esp + 0x1c]
mov ebp, edi
add eax, 3
and eax, 0xfffffffc
cmp ebx, dword [esp + 0x18]
cmova eax, ebp
sub eax, 4
lea ebp, [eax + ebx]
mov dword [esp + 0x4c], ebp
cmp ebx, ebp
mov ebp, dword [esp + 0x18]
jbe 0x10128d56
add eax, ecx
cmp ebx, eax
ja 0x10128ce7
cmp dword [esp + 0x4c], ecx
jae 0x10128d56
mov eax, dword [esp + 0x28]
movaps xmm2, xmm3
and eax, 0xfffffff0
shufps xmm2, xmm2, 0
movups xmm0, xmmword [ecx]
add edi, 0x10
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmmword [esi], xmm1
movups xmm0, xmmword [ecx + 0x10]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x10]
addps xmm1, xmm0
movups xmmword [esi + 0x10], xmm1
movups xmm0, xmmword [ecx + 0x20]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x20]
addps xmm1, xmm0
movups xmmword [esi + 0x20], xmm1
movups xmm0, xmmword [ecx + 0x30]
add ecx, 0x40
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmm0, xmmword [edx + 0x30]
add edx, 0x40
addps xmm1, xmm0
movups xmmword [esi + 0x30], xmm1
add esi, 0x40
cmp edi, eax
jne 0x10128cf5
cmp edx, ebp
je 0x10128d7a
sub esi, ecx
nop dword [eax]
movaps xmm0, xmm3
mulss xmm0, dword [ecx]
addss xmm0, dword [edx]
add edx, 4
movss dword [ecx + esi], xmm0
add ecx, 4
cmp edx, ebp
jne 0x10128d60
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
add eax, 4
add ecx, 0x1000
mov dword [esp + 0x2c], eax
sub dword [esp + 0x44], 1
mov dword [esp + 0x20], ecx
jne 0x10128c90
mov esi, dword [esp + 0x14]
xorps xmm1, xmm1
mov eax, ebx
cmp ebx, ebp
je 0x10128dca
nop dword [eax + eax]
addss xmm1, xmm4
movaps xmm0, xmm1
mulss xmm0, xmm5
mulss xmm0, dword [eax]
movss dword [eax], xmm0
add eax, 4
cmp eax, ebp
jne 0x10128db0
push ebx
push dword [esp + 0x60]
lea eax, [esi + 0x1c]
mov ecx, esi
push ebx
push eax
call fcn.1012f970
mov eax, dword [esp + 0x98]
xor edi, edi
mov ebp, dword [esp + 0x38]
test eax, eax
je 0x10128e43
nop dword [eax]
mov ecx, dword [esp + 0x54]
sub eax, edi
mov edx, dword [ecx + 0xe0]
and ebp, edx
sub edx, ebp
mov esi, ebp
inc edx
cmp edx, eax
cmova edx, eax
shl esi, 4
nop dword [eax + eax]
mov ecx, dword [ecx + 0xe4]
inc ebp
mov eax, dword [ebx + edi*4]
add ecx, esi
mov ebx, dword [esp + 0x30]
add esi, 0x10
inc edi
mov dword [ebx + ecx], eax
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
sub edx, 1
jne 0x10128e10
mov eax, dword [esp + 0x98]
cmp edi, eax
jb 0x10128df0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add esi, 0x38
add dword [esp + 0x30], 4
add edx, 0x10
sub dword [esp + 0x40], 1
movss xmm4, dword [0x1028a2d8]
movss xmm5, dword [esp + 0x48]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
jne 0x10128c20
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], 0
mov eax, dword [ecx]
lea edx, [esp + 0x80]
mov dword [esp + 0x80], 0
cmp eax, dword [edx]
je 0x10128ec3
cmp al, byte [edx]
jne 0x10128ec7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10128ec7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10128ec7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x10128ec7
xor ecx, ecx
jmp 0x10128ecc
sbb ecx, ecx
or ecx, 1
mov esi, dword [esp + 0x34]
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x1c], esi
mov edi, eax
mov dword [esp + 0x3c], ecx
sar edi, 2
mov edx, 0x1021cb90
mov dword [esp + 0x14], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x30], 0
lea esi, [ebx + edi*4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x40], 4
nop dword [eax]
test ecx, ecx
jne 0x10128f2c
lea eax, [edi*4]
push eax
push ecx
push ebx
call fcn.10086ae0
mov edx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x10128f43
lea ecx, [eax + 3]
xor edi, edi
shr ecx, 2
cmp ebx, ebp
cmova ecx, edi
test ecx, ecx
je 0x10128f47
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x50]
test edi, edi
je 0x10129074
add eax, 3
mov dword [esp + 0x2c], edx
shr eax, 2
xor ecx, ecx
cmp ebx, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x44], edi
cmova eax, ecx
mov dword [esp + 0x28], eax
mov eax, edx
movss xmm3, dword [eax]
xor edi, edi
add ecx, dword [esp + 0x9c]
movaps xmm2, xmm3
mov eax, dword [esp + 0x28]
mov edx, ebx
shufps xmm2, xmm2, 0
mov esi, ebx
test eax, eax
je 0x1012902c
cmp eax, 0x10
jb 0x1012902c
mov eax, dword [esp + 0x14]
mov ebp, edi
add eax, 3
and eax, 0xfffffffc
cmp ebx, dword [esp + 0x18]
cmova eax, ebp
sub eax, 4
lea ebp, [eax + ebx]
mov dword [esp + 0x60], ebp
cmp ebx, ebp
mov ebp, dword [esp + 0x18]
jbe 0x1012902c
add eax, ecx
cmp ebx, eax
ja 0x10128fd0
cmp dword [esp + 0x60], ecx
jae 0x1012902c
mov eax, dword [esp + 0x28]
and eax, 0xfffffff0
movups xmm1, xmmword [ecx]
add edi, 0x10
movups xmm0, xmmword [edx]
mulps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [esi], xmm1
movups xmm1, xmmword [ecx + 0x10]
movups xmm0, xmmword [edx + 0x10]
mulps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [esi + 0x10], xmm1
movups xmm1, xmmword [ecx + 0x20]
movups xmm0, xmmword [edx + 0x20]
mulps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [esi + 0x20], xmm1
movups xmm1, xmmword [ecx + 0x30]
add ecx, 0x40
movups xmm0, xmmword [edx + 0x30]
add edx, 0x40
mulps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [esi + 0x30], xmm1
add esi, 0x40
cmp edi, eax
jne 0x10128fd7
cmp edx, ebp
je 0x1012904c
sub esi, ecx
movaps xmm0, xmm3
mulss xmm0, dword [ecx]
addss xmm0, dword [edx]
add edx, 4
movss dword [ecx + esi], xmm0
add ecx, 4
cmp edx, ebp
jne 0x10129032
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
add eax, 4
add ecx, 0x1000
mov dword [esp + 0x2c], eax
sub dword [esp + 0x44], 1
mov dword [esp + 0x20], ecx
jne 0x10128f72
mov esi, dword [esp + 0x1c]
xorps xmm2, xmm2
mov eax, ebx
cmp ebx, ebp
je 0x101290b6
movss xmm3, dword [esp + 0x48]
nop dword [eax]
nop word [eax + eax]
movss xmm1, dword [0x1028a2d8]
addss xmm2, xmm1
movaps xmm0, xmm2
mulss xmm0, xmm3
subss xmm1, xmm0
mulss xmm1, dword [eax]
movss dword [eax], xmm1
add eax, 4
cmp eax, ebp
jne 0x10129090
push ebx
push dword [esp + 0x60]
lea eax, [esi + 0x1c]
mov ecx, esi
push ebx
push eax
call fcn.1012f970
mov eax, dword [esp + 0x98]
xor edi, edi
mov ebp, dword [esp + 0x38]
test eax, eax
je 0x10129133
nop dword [eax + eax]
mov ecx, dword [esp + 0x34]
sub eax, edi
mov edx, dword [ecx + 0xe0]
and ebp, edx
sub edx, ebp
mov esi, ebp
inc edx
cmp edx, eax
cmova edx, eax
shl esi, 4
nop dword [eax + eax]
mov ecx, dword [ecx + 0xe4]
inc ebp
mov eax, dword [ebx + edi*4]
add ecx, esi
mov ebx, dword [esp + 0x30]
add esi, 0x10
inc edi
mov dword [ecx + ebx], eax
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x34]
sub edx, 1
jne 0x10129100
mov eax, dword [esp + 0x98]
cmp edi, eax
jb 0x101290e0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add esi, 0x38
add dword [esp + 0x30], 4
add edx, 0x10
sub dword [esp + 0x40], 1
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], esi
jne 0x10128f10
mov eax, dword [esp + 0x24]
mov byte [eax + 0x40], 2
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x98]
add edi, 0x26d0
mov ebp, dword [esp + 0x54]
push ecx
mov eax, esp
push ecx
mov ecx, esp
push esi
push dword [esp + 0x44]
mov dword [eax], edi
mov eax, dword [esp + 0x34]
add eax, 0x16d0
mov dword [ecx], eax
mov ecx, ebp
call fcn.10129840
mov edx, dword [esp + 0x24]
push ecx
mov eax, esp
push ecx
mov ecx, esp
lea ebx, [edx + 0x66d0]
push esi
push dword [esp + 0x44]
mov dword [eax], ebx
lea eax, [edx + 0x16d0]
mov dword [ecx], eax
mov ecx, ebp
call fcn.10129c50
mov ecx, dword [esp + 0x24]
push esi
push dword [esp + 0xac]
push dword [esp + 0xac]
push ebp
call fcn.101285d0
mov edx, dword [esp + 0x24]
mov al, byte [edx + 0x40]
cmp al, 4
je 0x1012951a
cmp al, 3
jne 0x1012931f
mov ecx, dword [edx + 0x14]
xorps xmm0, xmm0
mov eax, dword [edx + 0x10]
sub ecx, eax
sar ecx, 4
shr ecx, 1
je 0x1012922b
movzx edi, byte [edx + 0x41]
xor edi, 1
imul edi, ecx
shl ecx, 4
sub ecx, 0xd
shr ecx, 2
shl edi, 4
add edi, eax
mov esi, edi
movups xmmword [edi], xmm0
add edi, 0x10
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x34]
lea edx, [ebx + 0xe0]
cmp ebx, edx
je 0x10129265
lea ecx, [ebx + 4]
nop dword [eax]
mov dword [ecx], 0
lea ecx, [ecx + 0x38]
mov dword [ecx - 0x3c], 0
lea eax, [ecx - 4]
mov dword [ecx - 0x1c], 0
mov dword [ecx - 0x20], 0
cmp eax, edx
jne 0x10129240
lea ecx, [ebx + 0x3a8]
lea edx, [ecx + 0xf0]
cmp ecx, edx
je 0x101292a6
add ecx, 0x24
nop dword [eax + eax]
mov dword [ecx - 0x1c], 0
lea ecx, [ecx + 0x3c]
mov dword [ecx - 0x5c], 0
lea eax, [ecx - 0x24]
mov dword [ecx - 0x3c], 0
mov dword [ecx - 0x40], 0
cmp eax, edx
jne 0x10129280
lea edx, [ebx + 0xac0]
lea esi, [edx + 0x80]
cmp edx, esi
je 0x101292f9
add edx, 0x40
nop dword [eax]
lea eax, [edx - 0x40]
cmp eax, edx
je 0x101292ef
lea ecx, [edx - 0x38]
nop word [eax + eax]
mov dword [ecx + 4], 0
lea ecx, [ecx + 0x10]
mov dword [ecx - 0x10], 0
lea eax, [ecx - 8]
mov dword [ecx - 0x14], 0
cmp eax, edx
jne 0x101292d0
add edx, 0x40
lea eax, [edx - 0x40]
cmp eax, esi
jne 0x101292c0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x98]
add eax, dword [esp + 0x38]
mov byte [ecx + 0x40], 4
mov dword [ecx + 0x16cc], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x14
mov ebp, dword [esp + 0x34]
mov eax, dword [ebp + 0xb40]
cmp esi, eax
jb 0x101294ab
lea esi, [ebp + 0x28c]
lea ebp, [esi + 0x100]
cmp esi, ebp
je 0x101293e0
lea ecx, [esp + 0x84]
mov dword [esp + 0x84], 0
mov eax, dword [ecx]
lea edx, [esp + 0x88]
mov dword [esp + 0x88], 0
cmp eax, dword [edx]
jne 0x10129376
add ecx, 4
xor ebx, ebx
jmp 0x101293a0
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10129398
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10129398
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10129398
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x10129398
xor ebx, ebx
jmp 0x101293a0
sbb ebx, ebx
or ebx, 1
nop dword [eax]
lea eax, [esi + 0x40]
test ebx, ebx
jne 0x101293b5
push 0x40
push ebx
push esi
call fcn.10086ae0
add esp, 0xc
jmp 0x101293c9
cmp eax, esi
sbb ecx, ecx
and ecx, 0xfffffff0
add ecx, 0x10
cmp esi, eax
ja 0x101293c9
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
add esi, 0x40
cmp esi, ebp
jne 0x101293a0
mov edx, dword [esp + 0x24]
lea edi, [edx + 0x26d0]
lea ebx, [edx + 0x66d0]
mov esi, dword [esp + 0x34]
add esi, 0x9c0
lea ebp, [esi + 0x100]
cmp esi, ebp
je 0x10129490
lea ecx, [esp + 0x8c]
mov dword [esp + 0x8c], 0
mov eax, dword [ecx]
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 0
cmp eax, dword [edx]
jne 0x10129429
add ecx, 4
xor ebx, ebx
jmp 0x10129450
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1012944b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1012944b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1012944b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1012944b
xor ebx, ebx
jmp 0x10129450
sbb ebx, ebx
or ebx, 1
lea eax, [esi + 0x40]
test ebx, ebx
jne 0x10129465
push 0x40
push ebx
push esi
call fcn.10086ae0
add esp, 0xc
jmp 0x10129479
cmp eax, esi
sbb ecx, ecx
and ecx, 0xfffffff0
add ecx, 0x10
cmp esi, eax
ja 0x10129479
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
add esi, 0x40
cmp esi, ebp
jne 0x10129450
mov edx, dword [esp + 0x24]
lea edi, [edx + 0x26d0]
lea ebx, [edx + 0x66d0]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x98]
mov dword [ebp + 0xb40], 0
mov byte [edx + 0x40], 3
jmp 0x101294b3
sub eax, esi
mov dword [ebp + 0xb40], eax
push ecx
mov eax, esp
push ecx
mov ecx, esp
push esi
mov dword [eax], edi
lea eax, [edx + 0x16d0]
mov edi, dword [esp + 0x44]
mov dword [ecx], eax
mov ecx, ebp
push edi
call fcn.10129840
push ecx
mov eax, esp
push ecx
mov ecx, esp
push esi
mov dword [eax], ebx
mov ebx, dword [esp + 0x30]
push edi
lea eax, [ebx + 0x16d0]
mov dword [ecx], eax
mov ecx, ebp
call fcn.10129c50
push esi
push dword [esp + 0xac]
mov ecx, ebx
push dword [esp + 0xac]
push ebp
call fcn.101285d0
lea eax, [edi + esi]
mov dword [ebx + 0x16cc], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x14
mov eax, dword [esp + 0x38]
pop edi
add eax, esi
pop esi
pop ebp
mov dword [edx + 0x16cc], eax
pop ebx
add esp, 0x84
ret 0x14