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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100949c6
mov eax, dword fs:[0]
push eax
sub esp, 0x1d0
mov eax, dword [0x100b200c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4c], 0
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100bcbd8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10427d0c]
cmp eax, dword [ecx + 4]
jle 0x1002cdf6
push 0x10427d0c
call fcn.100922d9
add esp, 4
cmp dword [0x10427d0c], 0xffffffff
jne 0x1002cdf6
mov dword [ebp - 4], 0
call fcn.1002df90
push 0x10427d0c
mov dword [ebp - 4], 0xffffffff
call fcn.1009228f
add esp, 4
mov eax, dword [0x100bcc00]
mov ecx, dword [0x100bcc48]
push 0xc
mov eax, dword [eax + 0x16c]
add eax, dword [0x100c84ec]
movd xmm0, eax
mov eax, dword [0x100bcbfc]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0x48], eax
subss xmm0, dword [ebp - 0x48]
cvttss2si eax, xmm0
mov dword [ebp - 0x64], eax
call fcn.100923af
add esp, 4
mov dword [ebp - 0x60], eax
xorps xmm0, xmm0
lea ecx, [ebp - 0x2c]
movups xmmword [ebp - 0x34], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [ebp - 0x34], 0x100c84d8
call fcn.1002c010
mov esi, 1
mov dword [ebp - 4], 1
mov dword [ebp - 0x48], esi
nop dword [eax + eax]
mov ecx, dword [0x100bcc0c]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
lea eax, [esi - 1]
mov dword [ebp - 0x44], edi
cmp eax, 0x40
jae 0x1002df83
imul esi, eax, 0xd760
add esi, 0x100c9740
mov dword [ebp - 0x58], esi
test edi, edi
je 0x1002dd2d
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x278]
call eax
test al, al
je 0x1002dd2d
cmp edi, dword [0x100bf648]
je 0x1002dd2d
mov eax, dword [esi]
cmp eax, edi
je 0x1002cfb0
test eax, eax
je 0x1002cf76
mov byte [esi + 0xa6e0], 0
mov edx, dword [esi + 0xa6f4]
push ecx
mov ecx, dword [esi + 0xa6f0]
call fcn.10011c70
mov eax, dword [esi + 0xa6f0]
add esp, 4
mov dword [esi + 0xa6f4], eax
mov eax, dword [esi + 0xa6fc]
mov dword [esi + 0xa700], eax
mov eax, dword [0x100bcbf8]
mov dword [esi + 0xd758], 0
mov byte [esi + 0xd73c], 0
mov dword [esi + 0xd710], 0
mov dword [esi + 0xd714], 0
mov dword [esi + 0xd718], 0
mov dword [esi + 0xd74c], 0
mov dword [esi + 0xd750], 0
mov ecx, dword [eax + 0xe0]
mov eax, dword [esi]
mov eax, dword [ecx + eax - 4]
mov dword [esi + 0xd734], eax
push dword [edi + 0x64]
lea eax, [ebp - 0x1dc]
push eax
call fcn.1002c0d0
cmp byte [ebp - 0x84], 0
je 0x1002cf9a
mov al, byte [ebp - 0xa0]
mov byte [esi + 0xd73d], al
mov dword [esi], edi
mov dword [esi + 0xd734], 0
mov dword [esi + 0xd750], 0
mov ecx, dword [0x100bcbf8]
mov eax, dword [ecx + 0x44]
cmp dword [edi + eax], 0
jle 0x1002dd5a
mov eax, dword [ecx + 0x40]
cmp byte [edi + eax], 0
jne 0x1002dd5a
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x1002d044
mov byte [esi + 0xa6e0], 0
mov edx, dword [esi + 0xa6f4]
push ecx
mov ecx, dword [esi + 0xa6f0]
call fcn.10011c70
mov eax, dword [esi + 0xa6f0]
mov dword [esi + 0xa6f4], eax
mov eax, dword [esi + 0xa6fc]
mov dword [esi + 0xa700], eax
mov dword [esi + 0xd758], 0
mov byte [esi + 0xd73c], 0
mov dword [esi + 0xd710], 0
mov dword [esi + 0xd714], 0
mov dword [esi + 0xd718], 0
jmp 0x1002dd57
mov edx, dword [0x100bcbf8]
mov eax, dword [edx + 0x7c]
mov eax, dword [eax + edi - 0x14]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1002dd5a
mov ecx, dword [esi + 0xa6f4]
mov edi, dword [esi + 0xa6f0]
mov dword [ebp - 0x3c], ecx
cmp edi, ecx
je 0x1002d1ac
movd xmm0, dword [ebp - 0x64]
cvtdq2ps xmm0, xmm0
nop dword [eax + eax]
mov eax, dword [edi]
comiss xmm0, dword [eax + 0xa3b4]
ja 0x1002d092
add edi, 8
cmp edi, ecx
jne 0x1002d080
cmp edi, ecx
je 0x1002d1ac
lea eax, [edi + 8]
mov dword [ebp - 0x38], eax
cmp eax, ecx
je 0x1002d11a
movd xmm0, dword [ebp - 0x64]
mov esi, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x50], xmm0
mov edx, dword [esi]
comiss xmm0, dword [edx + 0xa3b4]
ja 0x1002d10a
mov eax, dword [esi + 4]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [edi], edx
mov edx, dword [edi + 4]
mov dword [ebp - 0x38], edx
mov dword [edi + 4], eax
test edx, edx
je 0x1002d107
or eax, 0xffffffff
lock xadd dword [edx + 4], eax
jne 0x1002d107
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x38]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1002d0ff
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x50]
add edi, 8
add esi, 8
cmp esi, ecx
jne 0x1002d0b3
mov esi, dword [ebp - 0x58]
mov edx, dword [0x100bcbf8]
cmp edi, ecx
je 0x1002d1ac
mov eax, dword [esi + 0xa6f4]
mov dword [ebp - 0x50], eax
cmp ecx, eax
je 0x1002d18f
mov esi, ecx
sub esi, edi
mov edx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov ecx, dword [edi + esi + 4]
mov dword [edi + esi + 4], 0
mov dword [edx], 0
mov edx, dword [edi + 4]
mov dword [edi], eax
mov dword [ebp - 0x38], edx
mov dword [edi + 4], ecx
test edx, edx
je 0x1002d17b
or eax, 0xffffffff
lock xadd dword [edx + 4], eax
jne 0x1002d17b
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x38]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1002d17b
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x3c]
add edi, 8
add ecx, 8
mov dword [ebp - 0x3c], ecx
cmp ecx, dword [ebp - 0x50]
jne 0x1002d133
mov esi, dword [ebp - 0x58]
mov edx, dword [esi + 0xa6f4]
push ecx
mov ecx, edi
call fcn.10011c70
mov edx, dword [0x100bcbf8]
add esp, 4
mov dword [esi + 0xa6f4], edi
cmp byte [esi + 0xa6e0], 0
mov edi, dword [ebp - 0x44]
je 0x1002d20e
mov ecx, dword [edi + 0x2990]
movss xmm0, dword [esi + 0xa690]
ucomiss xmm0, dword [ecx + 0x290]
lahf
test ah, 0x44
jp 0x1002d20e
movss xmm0, dword [esi + 0xa694]
ucomiss xmm0, dword [ecx + 0x294]
lahf
test ah, 0x44
jp 0x1002d20e
mov eax, dword [edx + 0x38]
movss xmm0, dword [esi + 0xa3c4]
movss dword [edi + eax], xmm0
mov eax, dword [edx + 0x38]
movss xmm0, dword [esi + 0xa3c8]
movss dword [eax + edi + 4], xmm0
jmp 0x1002dd5a
mov eax, dword [edx + 0xe0]
movss xmm0, dword [eax + edi - 4]
ucomiss xmm0, dword [esi + 0xd734]
lahf
test ah, 0x44
jnp 0x1002d326
mov eax, dword [0x100bcbd8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x100bdf00]
cmp eax, dword [ecx + 4]
jle 0x1002d27a
push 0x100bdf00
call fcn.100922d9
add esp, 4
cmp dword [0x100bdf00], 0xffffffff
jne 0x1002d274
mov eax, dword [0x100bdde0]
push 0x100bdf00
mov dword [0x100bdefc], eax
call fcn.1009228f
add esp, 4
mov edx, dword [0x100bcbf8]
mov eax, dword [0x100bdefc]
test eax, eax
je 0x1002d28e
mov ecx, dword [ebp - 0x14]
call eax
mov edx, dword [0x100bcbf8]
cmp dword [esi], 0
je 0x1002d326
mov byte [esi + 0xa6e0], 0
mov edx, dword [esi + 0xa6f4]
push ecx
mov ecx, dword [esi + 0xa6f0]
call fcn.10011c70
mov eax, dword [esi + 0xa6f0]
add esp, 4
mov edx, dword [0x100bcbf8]
mov dword [esi + 0xa6f4], eax
mov eax, dword [esi + 0xa6fc]
mov dword [esi + 0xa700], eax
mov byte [esi + 0xd73c], 0
mov dword [esi + 0xd710], 0
mov dword [esi + 0xd714], 0
mov dword [esi + 0xd718], 0
mov eax, dword [esi]
mov dword [esi + 0xd758], 0
mov dword [esi + 0xd74c], 0
mov dword [esi + 0xd750], 0
mov ecx, dword [edx + 0xe0]
mov eax, dword [ecx + eax - 4]
mov dword [esi + 0xd734], eax
mov eax, dword [edx + 0x48]
mov ecx, dword [edx + 0xc4]
test byte [edi + eax], 2
mov eax, dword [esi]
je 0x1002d341
mov dword [ecx + eax + 8], 0x42380000
jmp 0x1002d349
mov dword [ecx + eax + 8], 0x42800000
push 0x10
push 0xa710
call fcn.100928b8
mov edi, eax
add esp, 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x20], edi
mov byte [ebp - 4], 2
test edi, edi
je 0x1002d397
push dword [ebp - 0x44]
xorps xmm0, xmm0
lea ecx, [edi + 0x10]
movq qword [edi], xmm0
mov dword [edi + 8], 0
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov dword [edi], vtable.std::_Ref_count_obj2_struct_LagRecord_t_.0
call fcn.1002c1b0
jmp 0x1002d39c
xor edi, edi
mov dword [ebp - 0x38], edi
or dword [ebp - 0x4c], 1
lea ecx, [edi + 0x10]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 3
lea eax, [esi + 0x10]
cmp byte [esi + 0xa6e0], 0
mov dword [ebp - 0x50], eax
jne 0x1002d3d3
mov dword [edi + 0xa6f0], 1
jmp 0x1002d86a
movss xmm0, dword [edi + 0xa690]
xorps xmm4, xmm4
comiss xmm0, xmm4
mov edx, dword [0x100bcbfc]
jbe 0x1002d483
movss xmm0, dword [esi + 0xa690]
comiss xmm0, xmm4
jbe 0x1002d483
mov eax, dword [esi + 0xa680]
cmp eax, dword [edi + 0xa680]
jne 0x1002d483
movss xmm5, dword [0x100a3c00]
mov dword [edi + 0xa6f0], 0
movss xmm2, dword [esi + 0xa694]
movss xmm0, dword [edi + 0xa690]
movss xmm1, dword [esi + 0xa690]
movss xmm3, dword [edi + 0xa694]
mulss xmm1, dword [edx + 0x20]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1002d455
comiss xmm2, xmm3
jbe 0x1002d455
addss xmm3, xmm5
xor eax, eax
movaps xmm0, xmm1
inc eax
addss xmm0, xmm2
mov dword [edi + 0xa6f0], eax
comiss xmm0, xmm5
jb 0x1002d477
movss xmm1, dword [edi + 0xa690]
mulss xmm1, dword [edx + 0x20]
movaps xmm0, xmm1
addss xmm2, xmm0
comiss xmm3, xmm2
ja 0x1002d457
movss xmm3, dword [edi + 0xa50c]
comiss xmm3, xmm4
jbe 0x1002d4f3
movss xmm0, dword [0x100a3bf4]
comiss xmm0, xmm3
jbe 0x1002d4f3
test byte [ecx + 0xa3b0], 1
jne 0x1002d4f3
movss xmm0, dword [edx + 0x20]
mulss xmm0, dword [edi + 0xa508]
movss xmm2, dword [ecx + 0xa3b4]
movaps xmm1, xmm2
divss xmm3, xmm0
movd xmm0, dword [ecx + 0xa6e0]
mulss xmm3, dword [edx + 0x20]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm3
movss dword [ecx + 0xa6d4], xmm1
mulss xmm0, dword [edx + 0x20]
subss xmm2, xmm0
comiss xmm1, xmm2
setae al
mov byte [ecx + 0xa6d3], al
mov eax, dword [ecx + 0xa6e0]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mulss xmm3, dword [edx + 0x20]
test eax, eax
jle 0x1002d562
cmp eax, 0x10
jge 0x1002d562
movss xmm2, dword [ecx + 0xa3c0]
movss xmm1, dword [ecx + 0xa3c4]
movss xmm0, dword [ecx + 0xa3c8]
subss xmm2, dword [esi + 0xa3d0]
subss xmm1, dword [esi + 0xa3d4]
subss xmm0, dword [esi + 0xa3d8]
divss xmm2, xmm3
divss xmm1, xmm3
divss xmm0, xmm3
movss dword [edi + 0xa3f4], xmm2
movss dword [edi + 0xa3f8], xmm1
movss dword [edi + 0xa3fc], xmm0
mov ecx, dword [0x100bcc0c]
mov esi, dword [ebp - 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, dword [0x100bcbf8]
mov eax, dword [eax + 0x14]
push dword [esi + eax]
call edx
mov esi, dword [ebp - 0x58]
mov ecx, eax
test ecx, ecx
jne 0x1002d590
movss xmm0, dword [0x100a3d5c]
jmp 0x1002d5cd
mov eax, dword [ecx]
mov eax, dword [eax + 0x734]
call eax
mov edx, eax
test edx, edx
jne 0x1002d5aa
movss xmm0, dword [0x100a3d5c]
jmp 0x1002d5cd
mov eax, dword [0x100bcbf8]
mov ecx, dword [ebp - 0x44]
mov eax, dword [eax + 0x7c]
cmp byte [ecx + eax], 0
je 0x1002d5c5
movss xmm0, dword [edx + 0x138]
jmp 0x1002d5cd
movss xmm0, dword [edx + 0x134]
test byte [edi + 0xa3c0], 1
lea ecx, [edi + 0x10]
movss dword [ebp - 0x3c], xmm0
je 0x1002d6c9
test byte [esi + 0xa3c0], 1
je 0x1002d6c9
movss xmm2, dword [edi + 0xa3f8]
movss xmm0, dword [edi + 0xa3f4]
movss xmm1, dword [edi + 0xa3fc]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1002be30
comiss xmm0, dword [ebp - 0x3c]
jbe 0x1002d6c6
nop word [eax + eax]
inc dword [edi + 0xa6f0]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [edi + 0xa6f0]
mov ecx, dword [0x100bcbfc]
movss xmm3, dword [edi + 0xa3d0]
subss xmm3, dword [esi + 0xa3d0]
mulss xmm0, dword [ecx + 0x20]
movss xmm1, dword [edi + 0xa3d4]
subss xmm1, dword [esi + 0xa3d4]
movss xmm2, dword [edi + 0xa3d8]
subss xmm2, dword [esi + 0xa3d8]
divss xmm3, xmm0
divss xmm1, xmm0
divss xmm2, xmm0
movss dword [edi + 0xa3f4], xmm3
mulss xmm3, xmm3
movss dword [edi + 0xa3f8], xmm1
mulss xmm1, xmm1
movss dword [edi + 0xa3fc], xmm2
mulss xmm2, xmm2
addss xmm3, xmm1
addss xmm3, xmm2
movaps xmm0, xmm3
call fcn.1002be30
comiss xmm0, dword [ebp - 0x3c]
ja 0x1002d630
lea ecx, [edi + 0x10]
movss xmm0, dword [edi + 0xa3f4]
call fcn.1002be10
movss xmm3, dword [0x100a3b44]
comiss xmm3, xmm0
jbe 0x1002d6ed
mov dword [edi + 0xa3f4], 0
movss xmm1, dword [edi + 0xa3f8]
movaps xmm0, xmm1
call fcn.1002be10
comiss xmm3, xmm0
xorps xmm2, xmm2
jbe 0x1002d712
mov dword [edi + 0xa3f8], 0
xorps xmm1, xmm1
movss xmm0, dword [edi + 0xa3fc]
call fcn.1002be10
comiss xmm3, xmm0
jbe 0x1002d72e
mov dword [edi + 0xa3fc], 0
movss xmm0, dword [edi + 0xa578]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1002d762
mov dword [edi + 0xa3f4], 0
mov dword [edi + 0xa3f8], 0
mov dword [edi + 0xa3fc], 0
jmp 0x1002d86a
test byte [ecx + 0xa3b0], 1
je 0x1002d86a
movss xmm0, dword [edi + 0xa3f4]
mulss xmm0, xmm0
mov dword [edi + 0xa3fc], 0
mulss xmm1, xmm1
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1002be30
movaps xmm2, xmm0
xorps xmm3, xmm3
comiss xmm2, xmm3
jbe 0x1002d86a
mov eax, dword [esi + 0xa680]
cmp eax, dword [edi + 0xa680]
jne 0x1002d86a
movss xmm0, dword [edi + 0xa690]
ucomiss xmm0, dword [esi + 0xa690]
lahf
test ah, 0x44
jp 0x1002d86a
mov edx, dword [0x100bcbf8]
mov ecx, dword [ebp - 0x44]
mov eax, dword [edx + 0xe8]
movss xmm0, dword [ecx + eax]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1002d86a
mov eax, dword [edx + 0xf8]
cmp byte [ecx + eax], 0
jne 0x1002d86a
movss xmm1, dword [edi + 0xa688]
comiss xmm1, xmm3
jbe 0x1002d86a
movss xmm4, dword [0x100a3c00]
comiss xmm4, xmm1
jbe 0x1002d86a
movaps xmm0, xmm4
subss xmm0, xmm1
mulss xmm0, dword [0x100a3bc0]
addss xmm0, dword [0x100a3bd4]
comiss xmm0, xmm3
movaps xmm1, xmm0
mulss xmm1, dword [ebp - 0x3c]
jbe 0x1002d86a
comiss xmm4, xmm0
jbe 0x1002d86a
divss xmm1, xmm2
mov byte [edi + 0xa6e2], 1
movaps xmm0, xmm1
mulss xmm1, dword [edi + 0xa3f8]
mulss xmm0, dword [edi + 0xa3f4]
movss dword [edi + 0xa3f8], xmm1
movss dword [edi + 0xa3f4], xmm0
movss xmm0, dword [esi + 0xd710]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
cwde
add esp, 4
test eax, eax
jne 0x1002d8d1
movss xmm0, dword [esi + 0xd714]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
cwde
add esp, 4
test eax, eax
jne 0x1002d8d1
movss xmm0, dword [esi + 0xd718]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
cwde
add esp, 4
mov byte [ebp - 0x3e], 1
test eax, eax
je 0x1002d8d5
mov byte [ebp - 0x3e], 0
push esi
lea eax, [edi + 0x10]
push eax
call fcn.1002e5e0
cmp byte [esi + 0xa6e0], 0
je 0x1002d90b
movq xmm0, qword [esi + 0xa3f4]
lea ecx, [ebp - 0x68]
mov eax, dword [esi + 0xa3fc]
movq qword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x70]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x6c]
jmp 0x1002d929
mov dword [ebp - 0x7c], 0
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0
xorps xmm0, xmm0
mov eax, dword [eax]
mov dword [esi + 0xd72c], eax
mov eax, dword [ecx]
movss dword [esi + 0xd728], xmm0
mov dword [esi + 0xd730], eax
je 0x1002da8d
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x1c]
sub esi, edi
mov dword [ebp - 0x50], 3
mov dword [ebp - 0x14], esi
nop dword [eax]
lea eax, [esi + edi]
mov ecx, edi
push eax
call fcn.1002ec90
add edi, 0x3690
sub dword [ebp - 0x50], 1
jne 0x1002d960
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], 0xd
mov eax, dword [edi + 0xa3c0]
mov dword [esi + 0xa3c0], eax
mov eax, dword [edi + 0xa3c4]
mov dword [esi + 0xa3c4], eax
mov eax, dword [edi + 0xa3c8]
mov dword [esi + 0xa3c8], eax
mov eax, dword [edi + 0xa3cc]
mov dword [esi + 0xa3cc], eax
mov eax, dword [edi + 0xa3d0]
mov dword [esi + 0xa3d0], eax
mov eax, dword [edi + 0xa3d4]
mov dword [esi + 0xa3d4], eax
mov eax, dword [edi + 0xa3d8]
mov dword [esi + 0xa3d8], eax
mov eax, dword [edi + 0xa3dc]
mov dword [esi + 0xa3dc], eax
mov eax, dword [edi + 0xa3e0]
mov dword [esi + 0xa3e0], eax
mov eax, dword [edi + 0xa3e4]
mov dword [esi + 0xa3e4], eax
mov eax, dword [edi + 0xa3e8]
mov dword [esi + 0xa3e8], eax
mov eax, dword [edi + 0xa3ec]
mov dword [esi + 0xa3ec], eax
mov eax, dword [edi + 0xa3f0]
mov dword [esi + 0xa3f0], eax
mov eax, dword [edi + 0xa3f4]
mov dword [esi + 0xa3f4], eax
mov eax, dword [edi + 0xa3f8]
mov dword [esi + 0xa3f8], eax
mov eax, dword [edi + 0xa3fc]
mov dword [esi + 0xa3fc], eax
lea eax, [esi + 0xa400]
nop dword [eax]
sub dword [ebp - 0x38], 1
lea eax, [eax + 0x38]
movups xmm0, xmmword [ecx + eax - 0x38]
movups xmmword [eax - 0x38], xmm0
movups xmm0, xmmword [ecx + eax - 0x28]
movups xmmword [eax - 0x28], xmm0
movups xmm0, xmmword [ecx + eax - 0x18]
movups xmmword [eax - 0x18], xmm0
movq xmm0, qword [ecx + eax - 8]
movq qword [eax - 8], xmm0
jne 0x1002da50
mov eax, dword [edi + 0xa6d8]
mov dword [esi + 0xa6d8], eax
jmp 0x1002daa9
push 0xa6d0
lea eax, [edi + 0x10]
push eax
lea ecx, [esi + 0x10]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0xa6e0], 1
mov ecx, dword [esi + 0xa6f4]
mov eax, ecx
sub eax, dword [esi + 0xa6f0]
cmp eax, 8
jb 0x1002dac9
mov eax, dword [ecx - 8]
movss xmm0, dword [eax + 0xa3b4]
jmp 0x1002dada
mov eax, dword [0x100bcbf8]
mov ecx, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
movss xmm0, dword [eax + ecx + 4]
mov ecx, dword [0x100b2570]
mov eax, 0x2aaaaaab
sub ecx, dword [0x100b256c]
imul ecx
movss dword [ebp - 0x38], xmm0
mov ecx, dword [0x10427334]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x1002df88
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, dword [0x100b256c]
add eax, 8
mov dword [ebp - 0x14], eax
je 0x1002db41
mov eax, dword [eax + 0x24]
and eax, 0xfffffffc
je 0x1002db41
add eax, 4
push 0x100b2834
push eax
call dword [sym.imp.VCRUNTIME140.dll___std_type_info_compare]
add esp, 8
test eax, eax
jne 0x1002db41
mov eax, dword [ebp - 0x14]
jmp 0x1002db43
xor eax, eax
cmp byte [eax], 0
mov ecx, dword [0x100bcbf8]
mov edx, dword [ebp - 0x44]
je 0x1002db5f
mov eax, dword [ecx + 0x38]
movss xmm0, dword [edx + eax]
comiss xmm0, dword [ebp - 0x38]
jbe 0x1002db9b
cmp dword [0x100bf648], 0
je 0x1002db9f
mov eax, dword [0x100bcc20]
test eax, eax
je 0x1002db87
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x30]
xor eax, dword [0x100bcc20]
je 0x1002db87
cmp edx, dword [0x100bf648]
jne 0x1002db9f
mov ecx, dword [ecx + 0x2c]
mov esi, dword [0x100bf648]
mov eax, dword [ecx + edx]
cmp eax, dword [esi + ecx]
mov esi, dword [ebp - 0x58]
jne 0x1002db9f
xor al, al
jmp 0x1002dba1
mov al, 1
mov ecx, dword [0x100bcbf8]
mov byte [esi + 0xd73e], al
mov byte [ebp - 0x3d], al
mov eax, dword [ecx + 0x38]
movss xmm0, dword [edx + eax]
comiss xmm0, dword [esi + 0xd738]
jbe 0x1002dbc9
movss dword [esi + 0xd738], xmm0
cmp byte [ebp - 0x3d], 0
je 0x1002dcd4
mov eax, dword [esi + 0xa6f0]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0xa6f4]
sub eax, dword [ebp - 0x38]
cmp eax, 8
jb 0x1002dc5e
mov eax, dword [esi + 0xa6f4]
mov ecx, dword [ecx + 0x28]
add ecx, edx
mov eax, dword [eax - 8]
add eax, 0xa3c0
movss xmm2, dword [ecx]
movss xmm0, dword [ecx + 4]
movss xmm1, dword [ecx + 8]
subss xmm2, dword [eax]
subss xmm0, dword [eax + 4]
subss xmm1, dword [eax + 8]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm0
addss xmm2, xmm1
comiss xmm2, dword [0x100a3d90]
jbe 0x1002dc5e
mov al, 1
mov byte [esi + 0xd73c], al
mov edx, dword [esi + 0xa6f4]
push ecx
mov ecx, dword [ebp - 0x38]
call fcn.10011c70
mov eax, dword [esi + 0xa6f0]
add esp, 4
mov dword [esi + 0xa6f4], eax
jmp 0x1002dc66
xor al, al
mov byte [esi + 0xd73c], al
mov al, byte [ebp - 0x3e]
lea edx, [edi + 0x10]
mov byte [edx + 0xa6f8], al
mov ecx, dword [0x100bcbfc]
mov eax, dword [ecx + 0x1c]
sub eax, dword [esi + 0xd744]
mov dword [esi + 0xd748], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0xd744], eax
mov eax, dword [esi + 0xa6f4]
cmp eax, dword [esi + 0xa6f8]
je 0x1002dcc1
mov dword [eax], 0
mov dword [eax + 4], 0
test edi, edi
je 0x1002dcb3
lock inc dword [edi + 4]
mov dword [eax], edx
mov dword [eax + 4], edi
add dword [esi + 0xa6f4], 8
jmp 0x1002dcd4
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea ecx, [esi + 0xa6f0]
call fcn.100309f0
mov edi, dword [ebp - 0x18]
mov eax, dword [0x100bcbfc]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x14], esi
mov eax, dword [eax + 0x1c]
mov dword [esi + 0xd754], eax
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x1002dcf8
mov dword [eax], esi
add dword [ecx + 4], 4
jmp 0x1002dd02
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.10030690
mov byte [ebp - 4], 1
test edi, edi
je 0x1002dd5a
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x1002dd5a
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x1002dd5a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x1002dd5a
mov eax, dword [esi + 0xa6fc]
mov dword [esi + 0xa700], eax
mov edx, dword [esi + 0xa6f4]
push ecx
mov ecx, dword [esi + 0xa6f0]
call fcn.10011c70
mov eax, dword [esi + 0xa6f0]
mov dword [esi + 0xa6f4], eax
add esp, 4
mov esi, dword [ebp - 0x48]
inc esi
mov dword [ebp - 0x48], esi
cmp esi, 0x40
jl 0x1002ce80
mov esi, dword [ebp - 0x60]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1002df02
mov edi, dword [0x10427d10]
mov byte [ebp - 4], 4
lea edx, [ebp - 0x14]
xorps xmm0, xmm0
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x1c]
movlpd qword [ebp - 0x1c], xmm0
call fcn.100310b0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x5c]
mov esi, dword [ebp - 0x1c]
xorps xmm0, xmm0
push eax
mov ecx, esi
movlpd qword [ebp - 0x5c], xmm0
call fcn.10030d60
or dword [ebp - 0x4c], 2
lea eax, [edi + 4]
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
push eax
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 0
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
jne 0x1002df7c
mov byte [ebp - 0x20], 1
mov eax, dword [ebp - 0x18]
lea ecx, [edi + 0x3c]
test eax, eax
je 0x1002ddf4
lock inc dword [eax + 4]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 7
push eax
call fcn.10030600
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x1002de2f
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x1002de2f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x1002de2f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea eax, [edi + 4]
mov byte [ebp - 4], 5
push eax
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
add esp, 4
lock inc dword [edi + 0x50]
lea ecx, [edi + 0x34]
mov eax, 1
lock xadd dword [ecx], eax
inc eax
test eax, eax
jle 0x1002df76
mov eax, dword [ecx + 4]
test eax, eax
je 0x1002de76
push ecx
cmp eax, 1
jg 0x1002de70
call dword [sym.imp.MSVCP140_ATOMIC_WAIT.dll___std_atomic_notify_all_direct]
jmp 0x1002de76
call dword [sym.imp.MSVCP140_ATOMIC_WAIT.dll___std_atomic_notify_one_direct]
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x1002de9e
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x1002de9e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x1002de9e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
and dword [ebp - 0x4c], 0xfffffffd
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x1002decb
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x1002decb
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x1002dec5
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x1002dec9
mov eax, dword [ecx]
push 1
call dword [eax]
mov byte [ebp - 4], 1
mov esi, dword [0x10427d10]
mov eax, dword [esi + 0x50]
test eax, eax
je 0x1002deed
nop dword [eax]
call dword [sym.imp.MSVCP140.dll__Thrd_yield]
mov eax, dword [esi + 0x50]
test eax, eax
jne 0x1002dee0
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x48], eax
cmp eax, dword [ebp - 0x38]
jne 0x1002dd80
mov esi, dword [ebp - 0x60]
mov eax, dword [esi]
test eax, eax
je 0x1002df48
mov ecx, dword [esi + 8]
sub ecx, eax
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x1002df2a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002df76
mov eax, edx
push ecx
push eax
call fcn.10092813
mov dword [esi], 0
add esp, 8
mov dword [esi + 4], 0
mov dword [esi + 8], 0
push 0xc
push esi
call fcn.10092813
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.1002cab0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10092198
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
call fcn.10010660
call fcn.10012440
int3