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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x98
mov eax, dword [0x10167368]
xor eax, esp
mov dword [esp + 0x94], eax
push esi
push edi
mov esi, ecx
push 0x102053c8
mov dword [esp + 0x20], esi
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x100d028b
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov eax, dword [0x10202a24]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
cmp eax, ecx
je 0x100d15b4
mov ecx, dword [0x101faed8]
mov dword [esp + 0x28], ecx
mov ecx, dword fs:[0x2c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [sym.imp.VCRUNTIME140.dll_strstr]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x18]
nop dword [eax]
mov eax, dword [eax]
mov dword [esp + 8], eax
test eax, eax
je 0x100d15a1
lea ecx, [eax + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul edi, eax, 0x578
lea eax, [esi + 0x38800]
add eax, edi
je 0x100d159d
mov ecx, dword [esp + 8]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov dword [esp + 0x30], eax
test eax, eax
jne 0x100d0478
cmp byte [edi + esi + 0x38800], al
je 0x100d159d
push eax
lea ecx, [esi + 0x38828]
mov word [edi + esi + 0x38800], ax
push 0x1015a5b5
add ecx, edi
mov byte [edi + esi + 0x38802], al
mov dword [edi + esi + 0x38804], eax
mov dword [edi + esi + 0x38808], eax
mov dword [edi + esi + 0x3880c], eax
mov dword [edi + esi + 0x38810], eax
mov dword [edi + esi + 0x38814], eax
mov dword [edi + esi + 0x38818], eax
mov dword [edi + esi + 0x3881c], eax
mov dword [edi + esi + 0x38820], eax
mov dword [edi + esi + 0x38824], eax
call fcn.10046140
push 0
lea ecx, [esi + 0x38840]
push 0x1015a5b5
add ecx, edi
call fcn.10046140
lea eax, [esi + 0x38878]
mov dword [edi + esi + 0x38860], 0
add eax, edi
mov dword [edi + esi + 0x3885c], 0
mov dword [edi + esi + 0x38858], 0
mov byte [edi + esi + 0x38864], 1
mov dword [edi + esi + 0x38868], 0
mov dword [edi + esi + 0x3886c], 0
mov dword [edi + esi + 0x38870], 0
mov dword [edi + esi + 0x38874], 0
add edi, 0x38882
mov dword [esp + 0xc], eax
add esi, edi
mov edi, dword [esp + 0xc]
mov eax, 0x14
mov dword [esp + 0x20], eax
nop
cmp byte [edi], 0
je 0x100d0464
mov dword [esi - 6], 0
lea ecx, [esi + 0xa]
mov dword [esi - 2], 0
mov dword [esi + 0x2e], 0
push 0
push 0x1015a5b5
mov dword [esi + 2], 0
mov dword [esi + 6], 0
mov dword [esi + 0x2a], 0x3f800000
call fcn.10046140
mov eax, dword [esp + 0x20]
mov dword [esi + 0x22], 0
mov byte [esi + 0x32], 0
mov byte [edi], 0
mov byte [esi + 0x26], 0
add edi, 0x40
add esi, 0x40
sub eax, 1
mov dword [esp + 0x20], eax
jne 0x100d0410
jmp 0x100d1599
mov eax, dword [eax + 0x14]
mov dword [edi + esi + 0x38804], eax
mov ecx, dword [0x101f7060]
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x100d05b4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10202e9c]
mov dword [esp + 0x24], ecx
cmp eax, dword [ecx + 4]
jle 0x100d04fa
push 0x10202e9c
call fcn.100e1a85
add esp, 4
cmp dword [0x10202e9c], 0xffffffff
jne 0x100d04ed
mov eax, dword [0x10202ea4]
push 0x10202e9c
mov dword [0x10202ea0], eax
call fcn.100e1a3b
mov ecx, dword [0x101f7060]
add esp, 4
mov dword [esp + 0x10], ecx
jmp 0x100d04f6
mov eax, dword [0x101f7060]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [0x10202ea0]
mov edx, dword [esp + 0x20]
cmp dword [edx + eax], 0
jne 0x100d05b4
mov eax, dword [0x10202eac]
cmp eax, dword [ecx + 4]
jle 0x100d0557
push 0x10202eac
call fcn.100e1a85
add esp, 4
cmp dword [0x10202eac], 0xffffffff
jne 0x100d0547
mov eax, dword [0x10202ea8]
push 0x10202eac
mov dword [0x10202e98], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [0x101f7060]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
jmp 0x100d055b
mov ecx, dword [esp + 0x10]
mov eax, dword [0x10202e98]
cmp dword [edx + eax], 0
jle 0x100d05b4
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 8]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx]
movq qword [esp + 0x44], xmm0
mov eax, dword [eax + 0x28]
call eax
movss xmm0, dword [eax + 4]
subss xmm0, dword [esp + 0x48]
cvtps2pd xmm2, xmm0
movss xmm0, dword [eax]
subss xmm0, dword [esp + 0x44]
cvtps2pd xmm1, xmm0
movss xmm0, dword [eax + 8]
subss xmm0, dword [esp + 0x4c]
jmp 0x100d07d1
mov eax, dword [0x101faf10]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10203080]
cmp eax, dword [ecx + 4]
jle 0x100d0607
push 0x10203080
call fcn.100e1a85
add esp, 4
cmp dword [0x10203080], 0xffffffff
jne 0x100d0607
mov eax, dword [0x10203044]
push 0x10203080
mov dword [0x10202fe0], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202fe0]
mov ecx, dword [esp + 0x10]
push dword [ecx + eax]
mov ecx, dword [0x101faf10]
call dword [esp + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x100d0788
cmp byte [edi + esi + 0x38800], al
je 0x100d159d
push eax
lea ecx, [esi + 0x38828]
mov word [edi + esi + 0x38800], ax
push 0x1015a5b5
add ecx, edi
mov byte [edi + esi + 0x38802], al
mov dword [edi + esi + 0x38804], eax
mov dword [edi + esi + 0x38808], eax
mov dword [edi + esi + 0x3880c], eax
mov dword [edi + esi + 0x38810], eax
mov dword [edi + esi + 0x38814], eax
mov dword [edi + esi + 0x38818], eax
mov dword [edi + esi + 0x3881c], eax
mov dword [edi + esi + 0x38820], eax
mov dword [edi + esi + 0x38824], eax
call fcn.10046140
push 0
lea ecx, [esi + 0x38840]
push 0x1015a5b5
add ecx, edi
call fcn.10046140
lea eax, [esi + 0x38878]
mov dword [edi + esi + 0x38860], 0
add eax, edi
mov dword [edi + esi + 0x3885c], 0
mov dword [edi + esi + 0x38858], 0
mov byte [edi + esi + 0x38864], 1
mov dword [edi + esi + 0x38868], 0
mov dword [edi + esi + 0x3886c], 0
mov dword [edi + esi + 0x38870], 0
mov dword [edi + esi + 0x38874], 0
add edi, 0x38882
mov dword [esp + 0xc], eax
add esi, edi
mov edi, dword [esp + 0xc]
mov eax, 0x14
mov dword [esp + 0x24], eax
nop
cmp byte [edi], 0
je 0x100d0774
mov dword [esi - 6], 0
lea ecx, [esi + 0xa]
mov dword [esi - 2], 0
mov dword [esi + 0x2e], 0
push 0
push 0x1015a5b5
mov dword [esi + 2], 0
mov dword [esi + 6], 0
mov dword [esi + 0x2a], 0x3f800000
call fcn.10046140
mov eax, dword [esp + 0x24]
mov dword [esi + 0x22], 0
mov byte [esi + 0x32], 0
mov byte [edi], 0
mov byte [esi + 0x26], 0
add edi, 0x40
add esi, 0x40
sub eax, 1
mov dword [esp + 0x24], eax
jne 0x100d0720
jmp 0x100d1599
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 8]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
mov eax, dword [ecx]
movq qword [esp + 0x50], xmm0
mov eax, dword [eax + 0x28]
call eax
movss xmm0, dword [eax + 4]
subss xmm0, dword [esp + 0x54]
cvtps2pd xmm2, xmm0
movss xmm0, dword [eax]
subss xmm0, dword [esp + 0x50]
cvtps2pd xmm1, xmm0
movss xmm0, dword [eax + 8]
subss xmm0, dword [esp + 0x58]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
mulsd xmm0, xmm0
addsd xmm1, xmm2
addsd xmm1, xmm0
xorps xmm0, xmm0
sqrtsd xmm0, xmm1
cvtpd2ps xmm1, xmm0
movss xmm0, dword [0x10161cc4]
mulss xmm1, dword [0x10161a28]
comiss xmm1, xmm0
jbe 0x100d080d
movaps xmm1, xmm0
jmp 0x100d0815
maxss xmm1, dword [0x10161928]
mov ecx, dword [esp + 8]
subss xmm0, xmm1
lea eax, [esp + 0x80]
push eax
movss dword [edi + esi + 0x38824], xmm0
call fcn.100ccf00
add esp, 4
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
movups xmmword [edi + esi + 0x38864], xmm0
mov dword [edi + esi + 0x38874], eax
mov dl, byte [edi + esi + 0x38864]
test dl, dl
jne 0x100d0876
movss xmm0, dword [edi + esi + 0x38824]
comiss xmm0, dword [0x10161928]
jbe 0x100d0876
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x14], 0x6c
je 0x100d0876
mov al, 1
jmp 0x100d0878
xor al, al
lea ecx, [esi + 0x38800]
add ecx, edi
mov byte [ecx], al
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x14]
add eax, 0xfffffff7
cmp eax, 0x7d
ja case.0x100d089c.10
movzx eax, byte [eax + 0x100d15e4]
jmp dword [eax*4 + 0x100d15dc]
mov byte [edi + esi + 0x38802], 1
mov dword [edi + esi + 0x38824], 0x437f0000
test dl, dl
jne 0x100d08c8
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x14], 0x6c
je 0x100d08c8
mov al, 1
jmp 0x100d08ca
xor al, al
cmp dword [edi + esi + 0x38804], 0x58
mov byte [ecx], al
jne 0x100d0bc4
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
movss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10161b50]
mov eax, dword [0x101faf14]
subss xmm0, dword [eax + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax*4]
movss dword [edi + esi + 0x3880c], xmm0
mov eax, dword [0x102052e8]
mov dword [esp + 0x10], ecx
cmp eax, dword [ecx + 4]
jle 0x100d0947
push 0x102052e8
call fcn.100e1a85
add esp, 4
cmp dword [0x102052e8], 0xffffffff
jne 0x100d0947
mov eax, dword [0x102030d4]
push 0x102052e8
mov dword [0x102052c4], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x102052c4]
mov ecx, dword [esp + 8]
add eax, ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [0x102052d4]
cmp eax, dword [edx + 4]
jle 0x100d099c
push 0x102052d4
call fcn.100e1a85
add esp, 4
cmp dword [0x102052d4], 0xffffffff
jne 0x100d0994
mov eax, dword [0x1020317c]
push 0x102052d4
mov dword [0x10205310], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov eax, dword [0x10205310]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [0x102052cc]
cmp eax, dword [edx + 4]
jle 0x100d09e9
push 0x102052cc
call fcn.100e1a85
add esp, 4
cmp dword [0x102052cc], 0xffffffff
jne 0x100d09e1
mov eax, dword [0x102031a4]
push 0x102052cc
mov dword [0x102052f8], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov eax, dword [0x102052f8]
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x102052e4]
cmp eax, dword [edx + 4]
jle 0x100d0a36
push 0x102052e4
call fcn.100e1a85
add esp, 4
cmp dword [0x102052e4], 0xffffffff
jne 0x100d0a2e
mov eax, dword [0x102030e0]
push 0x102052e4
mov dword [0x10205304], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov eax, dword [0x10205304]
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [0x102052f4]
cmp eax, dword [edx + 4]
jle 0x100d0a7f
push 0x102052f4
call fcn.100e1a85
add esp, 4
cmp dword [0x102052f4], 0xffffffff
jne 0x100d0a7b
mov eax, dword [0x102030dc]
push 0x102052f4
mov dword [0x1020530c], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [0x1020530c]
xorps xmm5, xmm5
xorps xmm6, xmm6
movss dword [esp + 0x38], xmm5
xorps xmm7, xmm7
movss dword [esp + 0x3c], xmm6
movss dword [esp + 0xc], xmm7
mov edx, dword [eax + ecx]
xor eax, eax
test edx, edx
js 0x100d0b4b
mov ecx, dword [esp + 0x24]
sub dword [esp + 0x20], ecx
sub dword [esp + 0x10], ecx
nop dword [eax + eax]
mov esi, dword [esp + 0x14]
cmp byte [eax + esi], 0
mov esi, dword [esp + 0x1c]
je 0x100d0b31
mov esi, dword [esp + 0x20]
xorps xmm2, xmm2
xorps xmm3, xmm3
xorps xmm4, xmm4
cvtsi2ss xmm3, dword [ecx]
cvtsi2ss xmm2, dword [esi + ecx]
mov esi, dword [esp + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm1, xmm2
mulss xmm1, xmm2
cvtsi2ss xmm4, dword [esi + ecx]
mov esi, dword [esp + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
addss xmm0, dword [0x10161b7c]
comiss xmm0, dword [edi + esi + 0x38808]
jbe 0x100d0b25
movss dword [edi + esi + 0x38808], xmm0
addss xmm5, xmm2
addss xmm6, xmm3
addss xmm7, xmm4
inc eax
add ecx, 4
cmp eax, edx
jle 0x100d0ac0
movss dword [esp + 0xc], xmm7
movss dword [esp + 0x3c], xmm6
movss dword [esp + 0x38], xmm5
mov eax, dword [esp + 8]
mov ecx, dword [eax]
add ecx, 0x28
mov dword [esp + 0x24], ecx
mov ecx, eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp edx, 1
jle 0x100d0bcd
movss xmm1, dword [0x10161a80]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [esp + 0x14], xmm1
call eax
movss xmm2, dword [esp + 0x14]
movaps xmm1, xmm2
movaps xmm0, xmm2
mulss xmm1, dword [esp + 0x38]
mulss xmm0, dword [esp + 0x3c]
mulss xmm2, dword [esp + 0xc]
addss xmm1, dword [eax]
addss xmm0, dword [eax + 4]
addss xmm2, dword [eax + 8]
unpcklps xmm1, xmm0
movss dword [esp + 0x64], xmm2
mov eax, dword [esp + 0x64]
movq qword [edi + esi + 0x38858], xmm1
jmp 0x100d0bdf
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
movq qword [edi + esi + 0x38858], xmm0
mov eax, dword [eax + 8]
cmp dword [edi + esi + 0x38804], 0x86
mov dword [edi + esi + 0x38860], eax
jne 0x100d0cc8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x102052d0]
mov dword [esp + 0xc], edx
cmp eax, dword [edx + 4]
jle 0x100d0c44
push 0x102052d0
call fcn.100e1a85
add esp, 4
cmp dword [0x102052d0], 0xffffffff
jne 0x100d0c40
mov eax, dword [0x10203108]
push 0x102052d0
mov dword [0x102052ec], eax
call fcn.100e1a3b
add esp, 4
mov edx, dword [esp + 0xc]
mov eax, dword [0x102052ec]
mov ecx, dword [esp + 8]
cmp byte [eax + ecx], 0
je 0x100d0cc8
mov byte [edi + esi + 0x38801], 1
mov eax, dword [0x102052d8]
cmp eax, dword [edx + 4]
jle 0x100d0c99
push 0x102052d8
call fcn.100e1a85
add esp, 4
cmp dword [0x102052d8], 0xffffffff
jne 0x100d0c95
mov eax, dword [0x102030b0]
push 0x102052d8
mov dword [0x102052f0], eax
call fcn.100e1a3b
add esp, 4
mov ecx, dword [esp + 8]
mov eax, dword [0x102052f0]
movd xmm0, dword [eax + ecx]
mov eax, dword [0x101faf14]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10161b8c]
subss xmm0, dword [eax + 0x10]
movss dword [edi + esi + 0x38810], xmm0
jmp 0x100d0cd0
mov byte [edi + esi + 0x38801], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 0xc], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov edx, eax
lea ecx, [esp + 0x84]
call fcn.100ccc60
add esp, 4
lea ecx, [esi + 0x38828]
add ecx, edi
push eax
call fcn.10045980
mov esi, dword [esp + 0x94]
cmp esi, 0x10
jb 0x100d0d4d
mov edx, dword [esp + 0x80]
inc esi
mov eax, edx
cmp esi, 0x1000
jb 0x100d0d43
mov edx, dword [edx - 4]
add esi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d15d6
push esi
push edx
call fcn.100e1eaa
add esp, 8
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
mov esi, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
add esi, 0xfffffff7
mov dword [esp + 0x14], eax
cmp esi, 0x7d
ja case.0x100d0d76.10
movzx ecx, byte [esi + 0x100d1678]
jmp dword [ecx*4 + 0x100d1664]
lea eax, [esp + 0x68]
mov ecx, 0x101f6938
push eax
call fcn.10048e10
cmp dword [esp + 0x7c], 0x10
lea eax, [esp + 0x68]
cmovae eax, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x18]
add eax, 4
push eax
call dword [esp + 0x48]
mov edx, dword [esp + 0x84]
add esp, 8
test eax, eax
mov esi, 0x10161790
mov eax, 0x1016178c
cmove esi, eax
cmp edx, 0x10
jb 0x100d0df2
mov ecx, dword [esp + 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d0de8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d15d6
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0xf
mov byte [esp + 0x68], 0
jmp 0x100d0e23
mov esi, 0x101617a0
jmp 0x100d0e23
mov esi, 0x101617a4
jmp 0x100d0e23
mov esi, 0x10161788
jmp 0x100d0e23
mov esi, 0x101600e8
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d0e28
sub ecx, edx
push ecx
push esi
mov esi, dword [esp + 0x24]
lea ecx, [esi + 0x38840]
add ecx, edi
call fcn.10046140
jmp 0x100d159d
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov byte [edi + esi + 0x38802], 0
mov edx, dword [edx + eax*4]
mov eax, dword [0x10202ee4]
cmp eax, dword [edx + 4]
jle 0x100d0e9e
push 0x10202ee4
call fcn.100e1a85
add esp, 4
cmp dword [0x10202ee4], 0xffffffff
jne 0x100d0e96
mov eax, dword [0x10202ecc]
push 0x10202ee4
mov dword [0x10202ebc], eax
call fcn.100e1a3b
add esp, 4
lea ecx, [esi + 0x38800]
add ecx, edi
xorps xmm0, xmm0
comiss xmm0, dword [edi + esi + 0x38824]
jae 0x100d141f
mov eax, dword [0x10202ebc]
mov edx, dword [esp + 8]
cmp dword [eax + edx], 0
jg 0x100d141f
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x14], 0x6c
je 0x100d141f
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0x6f8]
call eax
mov dword [esp + 0x14], eax
test eax, eax
jne 0x100d1048
cmp byte [edi + esi + 0x38800], al
je 0x100d159d
push eax
lea ecx, [esi + 0x38828]
mov word [edi + esi + 0x38800], ax
push 0x1015a5b5
add ecx, edi
mov byte [edi + esi + 0x38802], al
mov dword [edi + esi + 0x38804], eax
mov dword [edi + esi + 0x38808], eax
mov dword [edi + esi + 0x3880c], eax
mov dword [edi + esi + 0x38810], eax
mov dword [edi + esi + 0x38814], eax
mov dword [edi + esi + 0x38818], eax
mov dword [edi + esi + 0x3881c], eax
mov dword [edi + esi + 0x38820], eax
mov dword [edi + esi + 0x38824], eax
call fcn.10046140
push 0
lea ecx, [esi + 0x38840]
push 0x1015a5b5
add ecx, edi
call fcn.10046140
lea eax, [esi + 0x38878]
mov dword [edi + esi + 0x38860], 0
add eax, edi
mov dword [edi + esi + 0x3885c], 0
mov dword [edi + esi + 0x38858], 0
mov byte [edi + esi + 0x38864], 1
mov dword [edi + esi + 0x38868], 0
mov dword [edi + esi + 0x3886c], 0
mov dword [edi + esi + 0x38870], 0
mov dword [edi + esi + 0x38874], 0
add edi, 0x38882
mov dword [esp + 0x14], eax
add esi, edi
mov edi, dword [esp + 0x14]
mov eax, 0x14
mov dword [esp + 0xc], eax
cmp byte [edi], 0
je 0x100d1034
mov dword [esi - 6], 0
lea ecx, [esi + 0xa]
mov dword [esi - 2], 0
mov dword [esi + 0x2e], 0
push 0
push 0x1015a5b5
mov dword [esi + 2], 0
mov dword [esi + 6], 0
mov dword [esi + 0x2a], 0x3f800000
call fcn.10046140
mov eax, dword [esp + 0xc]
mov dword [esi + 0x22], 0
mov byte [esi + 0x32], 0
mov byte [edi], 0
mov byte [esi + 0x26], 0
add edi, 0x40
add esi, 0x40
sub eax, 1
mov dword [esp + 0xc], eax
jne 0x100d0fe0
jmp 0x100d1599
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov eax, dword [0x10203368]
mov ecx, dword [esi + edx*4]
mov esi, dword [esp + 0x1c]
cmp eax, dword [ecx + 4]
jle 0x100d1091
push 0x10203368
call fcn.100e1a85
add esp, 4
cmp dword [0x10203368], 0xffffffff
jne 0x100d1091
mov eax, dword [0x1020314c]
push 0x10203368
mov dword [0x10203354], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10203354]
mov ecx, dword [esp + 8]
movd xmm0, dword [eax + ecx]
mov eax, dword [esp + 0x14]
cvtdq2ps xmm0, xmm0
movss dword [edi + esi + 0x3881c], xmm0
movd xmm0, dword [eax + 0x14]
lea eax, [esp + 0x80]
cvtdq2ps xmm0, xmm0
push eax
movss dword [edi + esi + 0x38820], xmm0
call fcn.100cbb70
lea ecx, [esi + 0x38828]
push eax
add ecx, edi
call fcn.10045980
mov edx, dword [esp + 0x94]
cmp edx, 0x10
jb 0x100d1117
mov ecx, dword [esp + 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d110d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d15d6
push edx
push ecx
call fcn.100e1eaa
add esp, 8
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov eax, dword [0x10202efc]
mov ecx, dword [esi + edx*4]
mov esi, dword [esp + 0x1c]
cmp eax, dword [ecx + 4]
jle 0x100d1160
push 0x10202efc
call fcn.100e1a85
add esp, 4
cmp dword [0x10202efc], 0xffffffff
jne 0x100d1160
mov eax, dword [0x10202f14]
push 0x10202efc
mov dword [0x10202f0c], eax
call fcn.100e1a3b
add esp, 4
mov eax, dword [0x10202f0c]
mov ecx, dword [esp + 8]
movsx eax, word [eax + ecx]
cmp eax, 0x1f4
jg 0x100d139c
je 0x100d1395
dec eax
cmp eax, 0x51
ja case.0x100d13a6.510
movzx eax, byte [eax + 0x100d17cc]
jmp dword [eax*4 + 0x100d16f8]
mov ecx, 0x10161708
jmp 0x100d13f1
mov ecx, 0x10161704
jmp 0x100d13f1
mov ecx, 0x10161700
jmp 0x100d13f1
mov ecx, 0x10161724
jmp 0x100d13f1
mov ecx, 0x10161720
jmp 0x100d13f1
mov ecx, 0x1016171c
jmp 0x100d13f1
mov ecx, 0x10161718
jmp 0x100d13f1
mov ecx, 0x10161734
jmp 0x100d13f1
mov ecx, 0x10161730
jmp 0x100d13f1
mov ecx, 0x1016172c
jmp 0x100d13f1
mov ecx, 0x10161728
jmp 0x100d13f1
mov ecx, 0x10161744
jmp 0x100d13f1
mov ecx, 0x10161740
jmp 0x100d13f1
mov ecx, 0x1016173c
jmp 0x100d13f1
mov ecx, 0x10161738
jmp 0x100d13f1
mov ecx, 0x10161754
jmp 0x100d13f1
mov ecx, 0x10161750
jmp 0x100d13f1
mov ecx, 0x1016174c
jmp 0x100d13f1
mov ecx, 0x10161748
jmp 0x100d13f1
mov ecx, 0x10161764
jmp 0x100d13f1
mov ecx, 0x10161760
jmp 0x100d13f1
mov ecx, 0x1016175c
jmp 0x100d13f1
mov ecx, 0x10161758
jmp 0x100d13f1
mov ecx, 0x10161774
jmp 0x100d13f1
mov ecx, 0x10161770
jmp 0x100d13f1
mov ecx, 0x1016176c
jmp 0x100d13f1
mov ecx, 0x10161768
jmp 0x100d13f1
mov ecx, 0x10161784
jmp 0x100d13f1
mov ecx, 0x10161780
jmp 0x100d13f1
mov ecx, 0x1016177c
jmp 0x100d13f1
mov ecx, 0x10161778
jmp 0x100d13f1
mov ecx, 0x10161794
jmp 0x100d13f1
mov ecx, 0x10161790
jmp 0x100d13f1
mov ecx, 0x1016178c
jmp 0x100d13f1
mov ecx, 0x10161788
jmp 0x100d13f1
mov ecx, 0x101617a4
jmp 0x100d13f1
mov ecx, 0x101617a0
jmp 0x100d13f1
mov ecx, 0x1016179c
jmp 0x100d13f1
mov ecx, 0x10161798
jmp 0x100d13f1
mov ecx, 0x101617b4
jmp 0x100d13f1
mov ecx, 0x101617b0
jmp 0x100d13f1
mov ecx, 0x101617ac
jmp 0x100d13f1
mov ecx, 0x101617a8
jmp 0x100d13f1
mov ecx, 0x101617c4
jmp 0x100d13f1
mov ecx, 0x101617c0
jmp 0x100d13f1
mov ecx, 0x101617bc
jmp 0x100d13f1
mov ecx, 0x101617b8
jmp 0x100d13f1
mov ecx, 0x101617d4
jmp 0x100d13f1
mov ecx, 0x101617d0
jmp 0x100d13f1
mov ecx, 0x101617cc
jmp 0x100d13f1
mov ecx, 0x101617c8
jmp 0x100d13f1
mov ecx, 0x101617e4
jmp 0x100d13f1
mov ecx, 0x101617e0
jmp 0x100d13f1
sub eax, 0x1f9
cmp eax, 0xb
ja case.0x100d13a6.510
jmp dword [eax*4 + 0x100d1820]
mov ecx, 0x101617dc
jmp 0x100d13f1
mov ecx, 0x101617d8
jmp 0x100d13f1
mov ecx, 0x101617f4
jmp 0x100d13f1
mov ecx, 0x101617f0
jmp 0x100d13f1
mov ecx, 0x101617ec
jmp 0x100d13f1
mov ecx, 0x101617e8
jmp 0x100d13f1
mov ecx, 0x10161804
jmp 0x100d13f1
mov ecx, 0x10161800
jmp 0x100d13f1
mov ecx, 0x101617fc
jmp 0x100d13f1
mov ecx, 0x101617f8
mov edx, ecx
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100d1400
sub edx, dword [esp + 0x14]
push edx
push ecx
lea ecx, [esi + 0x38840]
add ecx, edi
call fcn.10046140
jmp 0x100d159d
cmp byte [ecx], 0
je 0x100d159d
mov byte [ecx], 0
lea ecx, [esi + 0x38828]
push 0
push 0x1015a5b5
add ecx, edi
mov word [edi + esi + 0x38801], 0
mov dword [edi + esi + 0x38804], 0
mov dword [edi + esi + 0x38808], 0
mov dword [edi + esi + 0x3880c], 0
mov dword [edi + esi + 0x38810], 0
mov dword [edi + esi + 0x38814], 0
mov dword [edi + esi + 0x38818], 0
mov dword [edi + esi + 0x3881c], 0
mov dword [edi + esi + 0x38820], 0
mov dword [edi + esi + 0x38824], 0
call fcn.10046140
push 0
lea ecx, [esi + 0x38840]
push 0x1015a5b5
add ecx, edi
call fcn.10046140
lea eax, [esi + 0x38878]
mov dword [edi + esi + 0x38860], 0
add eax, edi
mov dword [edi + esi + 0x3885c], 0
mov dword [edi + esi + 0x38858], 0
mov byte [edi + esi + 0x38864], 1
mov dword [edi + esi + 0x38868], 0
mov dword [edi + esi + 0x3886c], 0
mov dword [edi + esi + 0x38870], 0
mov dword [edi + esi + 0x38874], 0
add edi, 0x38882
mov dword [esp + 0x14], eax
add esi, edi
mov edi, dword [esp + 0x14]
mov eax, 0x14
mov dword [esp + 0xc], eax
cmp byte [edi], 0
je 0x100d158a
mov dword [esi - 6], 0
lea ecx, [esi + 0xa]
mov dword [esi - 2], 0
mov dword [esi + 0x2e], 0
push 0
push 0x1015a5b5
mov dword [esi + 2], 0
mov dword [esi + 6], 0
mov dword [esi + 0x2a], 0x3f800000
call fcn.10046140
mov eax, dword [esp + 0xc]
mov dword [esi + 0x22], 0
mov byte [esi + 0x32], 0
mov byte [edi], 0
mov byte [esi + 0x26], 0
add edi, 0x40
add esi, 0x40
sub eax, 1
mov dword [esp + 0xc], eax
jne 0x100d1536
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
add eax, 0xc
mov dword [esp + 0x34], eax
cmp eax, ecx
jne 0x100d02d0
push 0x102053c8
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov ecx, dword [esp + 0xa0]
add esp, 4
pop edi
pop esi
xor ecx, esp
call fcn.100e1968
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov dword [0x49100d08], eax
push cs
or eax, 0x1010010
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [ecx], al
add dword [ecx], eax
add byte [esi - 112], ah
jge 269293171
or eax, 0xd0e0910
adc byte [eax], dl
push cs
or eax, 0xd0e1710
adc byte [esi], bl
push cs
or eax, 0x4040010
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 1
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 2
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, byte [esp + eax]
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 3
nop
xchg esi, eax
adc dword [219258896], ecx
adc byte [edx - 0x4beff2ef], ch
adc dword [0xd11be10], ecx
adc al, cl
adc dword [0xd11d210], ecx
adc ah, bl
adc dword [0xd11e610], ecx
adc al, dh
adc dword [0xd11fa10], ecx
adc byte [edx + edx], al
or eax, 0xd120e10
adc byte [eax], bl
adc cl, byte [0xd122210]
adc byte [edx + edx], ch
or eax, 0xd123610
adc byte [eax + 0x12], al
or eax, 0xd124a10
adc byte [edx + edx + 0xd], dl
adc byte [esi + 0x12], bl
or eax, 0xd126810
adc byte [edx + 0x12], dh
or eax, 0xd127c10
adc byte [esi - 0x6feff2ee], al
adc cl, byte [0xd129a10]
adc byte [edx + edx + 0x12ae100d], ah
or eax, 0xd12b810
adc dl, al
adc cl, byte [0xd132610]
adc ah, cl
adc cl, byte [0xd12d610]
adc al, ah
adc cl, byte [0xd12ea10]
adc ah, dh
adc cl, byte [0xd12fe10]
adc byte [eax], cl
adc ecx, dword [0xd131210]
adc byte [ebx + edx], bl
or eax, 0xd133010
adc byte [edx], bh
adc ecx, dword [0xd134410]
adc byte [esi + 0x13], cl
or eax, 0xd135810
adc byte [edx + 0x13], ah
or eax, 0xd136c10
adc byte [esi + 0x13], dh
or eax, 0xd138010
adc byte [edi - 0x71eff2ed], al
adc ecx, dword [0xd13ec10]
adc byte [eax], al
add dword [edx], eax
add esi, dword [esp + esi]
add al, 5
push es
pop es
or byte [ecx + ecx], dh
or dh, byte [ebx + ecx]
or al, 52
or eax, 238302260
movups xmm2, xmmword [ecx]
adc dl, byte [ebx]
adc al, 21
push ss
pop ss
sbb byte [ecx], bl
sbb bl, byte [ebx]
xor al, 28
sbb eax, 555753246
and ah, byte [ebx]
and al, 37
daa
xor al, 52
xor al, 52
xor al, 52
xor al, 40
xor al, 31
sub dword [edx], ebp
xor al, 43
sub al, 52
xor al, 52
sub eax, 791950382
xor al, 48
xor dword [edx], esi
xor al, 51
xor al, 52
and al, 37
nop
lodsd eax, dword [esi]
adc ecx, dword [219395088]
adc byte [ebx - 0x3deff2ed], bh
adc ecx, dword [0xd13c910]
adc ah, ch
adc ecx, dword [0xd13ec10]
adc al, dl
adc ecx, dword [0xd13ec10]
adc bh, dl
adc ecx, dword [0xd13de10]
adc ch, ah
adc ecx, dword [0xec8b5510]
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x10167368]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov ecx, 0x101f68b8
push eax
call fcn.100494c0
mov eax, dword [edi]
lea esi, [ebp - 0x20]
mov ebx, dword [ebp - 0xc]
mov ecx, edi
call dword [eax + 4]
cmp ebx, 0x10
jb 0x100d18e4
mov edi, dword [ebp - 0x20]
mov ecx, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d18b0
test dl, dl
je 0x100d18ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d18b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d1890
xor esi, esi
jmp 0x100d18b5
sbb esi, esi
or esi, 1
lea ecx, [ebx + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x100d18d8
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d18d8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.100e1eaa
add esp, 8
jmp 0x100d1909
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x100d1904
test cl, cl
je 0x100d1900
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x100d1904
add eax, 2
add esi, 2
test cl, cl
jne 0x100d18e4
xor esi, esi
jmp 0x100d1909
sbb esi, esi
or esi, 1
test esi, esi
jne 0x100d1a77
mov ebx, dword [ebp - 0x24]
lea edi, [ebx + 0x38800]
lea eax, [edi + 0x578000]
mov dword [ebp - 0x28], eax
cmp edi, eax
je 0x100d1a42
add edi, 0x5c
nop
push 0
push 0x1015a5b5
lea ecx, [edi - 0x34]
mov word [edi - 0x5c], 0
mov byte [edi - 0x5a], 0
mov dword [edi - 0x58], 0
mov dword [edi - 0x54], 0
mov dword [edi - 0x50], 0
mov dword [edi - 0x4c], 0
mov dword [edi - 0x48], 0
mov dword [edi - 0x44], 0
mov dword [edi - 0x40], 0
mov dword [edi - 0x3c], 0
mov dword [edi - 0x38], 0
call fcn.10046140
push 0
push 0x1015a5b5
lea ecx, [edi - 0x1c]
call fcn.10046140
mov dword [edi + 4], 0
lea esi, [edi + 0x26]
mov dword [edi], 0
mov ebx, 0x14
mov dword [edi - 4], 0
mov byte [edi + 8], 1
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
cmp byte [esi - 0xa], 0
je 0x100d1a25
mov dword [esi - 6], 0
lea ecx, [esi + 0xa]
mov dword [esi - 2], 0
mov dword [esi + 0x2e], 0
push 0
push 0x1015a5b5
mov dword [esi + 2], 0
mov dword [esi + 6], 0
mov dword [esi + 0x2a], 0x3f800000
call fcn.10046140
mov dword [esi + 0x22], 0
mov byte [esi + 0x32], 0
mov byte [esi - 0xa], 0
mov byte [esi + 0x26], 0
add esi, 0x40
sub ebx, 1
jne 0x100d19d3
add edi, 0x578
lea eax, [edi - 0x5c]
cmp eax, dword [ebp - 0x28]
jne 0x100d1930
mov ebx, dword [ebp - 0x24]
lea esi, [ebx + 0x18]
lea edi, [esi + 0x387e8]
cmp esi, edi
je 0x100d1a63
nop
push 1
mov ecx, esi
call fcn.10088d10
add esi, 0xde8
cmp esi, edi
jne 0x100d1a50
mov dword [ebx + 0x5b102c], 0
mov dword [ebx + 0x5b1040], 0
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100e1968
mov esp, ebp
pop ebp
ret 4