Function at 0x1000fc10
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
push esi
push edi
mov edi, dword [0x1006ef44]
mov dword [esp + 0x20], edi
mov edx, dword [edi + 0x5a98]
lea eax, [edi + 0x5aa0]
sub edx, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
js 0x1000fcc0
lea eax, [edx + edx*4]
shl eax, 2
mov dword [esp + 0x18], eax
nop dword [eax]
mov ecx, dword [edi + 0x5aa0]
cmp dword [ecx + eax + 4], 7
jne 0x1000fca8
mov esi, ecx
sub ecx, esi
add ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
lea edx, [esi + eax*4]
mov eax, dword [edi + 0x5a98]
sub eax, ecx
lea eax, [eax + eax*4]
lea eax, [eax*4 - 0x14]
push eax
lea eax, [edx + 0x14]
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esp + 0x24]
add esp, 0xc
dec dword [edi + 0x5a98]
mov edx, dword [esp + 0x1c]
dec edx
sub eax, 0x14
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
test edx, edx
jns 0x1000fc50
lea eax, [edi + 0x5aa0]
jmp 0x1000fcc4
mov dword [esp + 0x24], eax
xor esi, esi
cmp dword [edi + 0x5a98], esi
jle 0x1000fd00
xor ecx, ecx
mov dword [esp + 0x1c], ecx
mov eax, dword [eax]
add eax, ecx
cmp dword [eax + 4], 0
jne 0x1000fcec
push eax
mov eax, dword [eax + 0xc]
push edi
call eax
mov ecx, dword [esp + 0x24]
add esp, 8
mov eax, dword [esp + 0x24]
inc esi
add ecx, 0x14
mov dword [esp + 0x1c], ecx
cmp esi, dword [edi + 0x5a98]
jl 0x1000fcd4
mov esi, dword [0x1006ef44]
cmp byte [esi + 0x4a], 0
je 0x1000fd16
test byte [esi + 0xc], 2
jne 0x1000fd16
mov byte [esi + 0x4a], 0
cmp byte [esi + 0x5a61], 0
lea ecx, [esi + 0x20]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [esp + 0x14], eax
jne 0x1000fd85
mov eax, dword [ecx]
test eax, eax
je 0x1000fd7e
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], 0
push ecx
mov ecx, eax
call fcn.1000bec0
mov ecx, eax
add esp, 8
mov dword [esp + 0x30], ecx
test ecx, ecx
je 0x1000fd7b
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x1000fd64
call fcn.10020860
mov ecx, dword [esp + 0x30]
mov eax, dword [0x1006ef44]
test eax, eax
je 0x1000fd73
dec dword [eax + 0xac]
push ecx
call dword [esp + 0x18]
add esp, 4
lea ecx, [esi + 0x20]
mov byte [esi + 0x5a61], 1
vmovss xmm0, dword [esi + 0x5a64]
vxorps xmm1, xmm1, xmm1
vcomiss xmm0, xmm1
jbe 0x1000fe1e
vsubss xmm0, xmm0, dword [esi + 0x18]
vcomiss xmm1, xmm0
vmovss dword [esi + 0x5a64], xmm0
jb 0x1000fe1e
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
test eax, eax
je 0x100100b5
mov eax, dword [0x1006ef44]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
vmovss dword [eax + 0x5a64], xmm1
call fcn.10020af0
mov ecx, dword [esp + 0x30]
mov edx, 0x10055468
mov dword [esp + 0x28], eax
call fcn.1000bdc0
mov dword [esp + 0x30], eax
test eax, eax
je 0x1000fe12
push eax
push dword [esp + 0x20]
push 1
push dword [esp + 0x34]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push dword [esp + 0x40]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x14
vxorps xmm1, xmm1, xmm1
vmovss dword [esi + 0x5a64], xmm1
vmovss xmm0, dword [edi + 0x18]
inc dword [edi + 0x3dd8]
xor eax, eax
vcvtss2sd xmm0, xmm0, xmm0
vaddsd xmm0, xmm0, qword [edi + 0x3dd0]
vmovsd qword [edi + 0x3dd0], xmm0
mov byte [edi + 0x3de4], 1
mov word [edi + 0x5a26], ax
mov dword [edi + 0x3e4c], eax
mov ecx, dword [edi + 0x5a38]
test ecx, ecx
jns 0x1000fe79
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x5a34]
call fcn.10022140
mov dword [edi + 0x5a34], 0
mov ecx, 0x3c
mov eax, dword [edi + 0x5c48]
vmovss xmm1, dword [edi + 0x18]
vxorps xmm2, xmm2, xmm2
vsubss xmm0, xmm1, dword [edi + eax*4 + 0x5b58]
vaddss xmm0, xmm0, dword [edi + 0x5c50]
vmovss dword [edi + 0x5c50], xmm0
vmovss dword [edi + eax*4 + 0x5b58], xmm1
mov eax, dword [edi + 0x5c48]
inc eax
cdq
idiv ecx
mov eax, dword [edi + 0x5c4c]
vmovss xmm1, dword [edi + 0x5c50]
vmovss xmm0, dword [0x10055afc]
inc eax
mov dword [edi + 0x5c48], edx
cmp eax, ecx
vmovss dword [esp + 0x18], xmm0
cmovl ecx, eax
vcomiss xmm1, xmm2
mov dword [edi + 0x5c4c], ecx
jbe 0x1000ff0f
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vdivss xmm0, xmm1, xmm0
vmovss xmm1, dword [0x10055920]
vdivss xmm0, xmm1, xmm0
vmovss dword [edi + 0x98], xmm0
mov ecx, dword [edi + 0x3e00]
test ecx, ecx
jns 0x1000ff3d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x3dfc]
call fcn.100227b0
mov dword [edi + 0x3dfc], 0
mov cl, byte [edi + 0x46]
call fcn.10019be0
mov esi, dword [0x1006ef44]
vxorps xmm3, xmm3, xmm3
mov eax, dword [esi + 0x47d8]
mov edx, dword [eax]
mov dword [edx], 5
vmovss dword [edx + 4], xmm3
vmovss dword [edx + 8], xmm3
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], ecx
cmp dword [esi + 0x47d0], 0
jle 0x1001003e
xor edi, edi
nop dword [eax]
mov eax, dword [esi + 0x47d8]
mov edx, dword [eax + edi*4]
inc edi
mov eax, dword [edx + 0x94]
mov ecx, dword [edx + 0x98]
vmovss xmm0, dword [edx + 8]
mov dword [edx + 0x84], eax
mov eax, dword [edx + 0x9c]
mov dword [edx + 0x88], ecx
mov ecx, dword [edx + 0xa0]
mov dword [edx + 0x8c], eax
mov dword [edx + 0x90], ecx
vmovups xmmword [edx + 0x94], xmm3
vaddss xmm0, xmm0, dword [edx + 0x88]
vmovss xmm2, dword [edx + 0x84]
vaddss xmm1, xmm2, dword [edx + 4]
vmovss dword [edx + 0x18], xmm0
vmovss xmm0, dword [edx + 0xc]
vsubss xmm0, xmm0, xmm2
vmovss dword [edx + 0x14], xmm1
vaddss xmm0, xmm0, dword [edx + 0x8c]
vmaxss xmm1, xmm3, xmm0
vmovss xmm0, dword [edx + 0x10]
vsubss xmm0, xmm0, dword [edx + 0x88]
vaddss xmm0, xmm0, dword [edx + 0x90]
vmaxss xmm0, xmm3, xmm0
vmovss dword [edx + 0x1c], xmm1
vmovss dword [edx + 0x20], xmm0
cmp edi, dword [esi + 0x47d0]
jl 0x1000ff90
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 0x2c]
mov byte [eax + 0x10], 1
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x1001005c
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
vmovss xmm0, dword [esi + 0x30]
vmovss xmm2, dword [0x10055920]
mov edx, dword [esi + 0x3e58]
mov dword [esi + 0x3bc0], ecx
vmulss xmm0, xmm0, dword [ecx + 0x10]
vmulss xmm0, xmm0, dword [ecx + 0x4c]
vmaxss xmm0, xmm2, xmm0
vmovss dword [esi + 0x3bc8], xmm0
test edx, edx
je 0x100100c1
mov eax, dword [edx]
vmovss xmm0, dword [edx + 0x25c]
vmulss xmm1, xmm0, dword [eax + 0x3bc8]
mov eax, dword [edx + 0x2f8]
test eax, eax
je 0x100100c5
vmulss xmm1, xmm1, dword [eax + 0x25c]
jmp 0x100100c5
mov byte [esi + 0x94], 1
jmp 0x1000fe16
vmovaps xmm1, xmm3
vmovss xmm0, dword [esp + 0x18]
vmovss xmm5, dword [0x10055b3c]
vmovss dword [esi + 0x3bc4], xmm1
mov edx, dword [ecx + 0x30]
vmovaps xmm7, xmm0
vmovaps xmm6, xmm5
mov eax, dword [edx + 0x34]
mov ecx, dword [edx + 0x38]
mov dword [esi + 0x3bcc], eax
lea eax, [edx + 0x60]
mov dword [esi + 0x3dc8], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x3bd0], ecx
mov dword [esi + 0x3bd4], eax
vmovss dword [esi + 0x3bd8], xmm1
mov edx, dword [edi + 0x47d0]
test edx, edx
jle 0x1001018e
mov ecx, dword [edi + 0x47d8]
vmovaps xmm3, xmm0
nop word [eax + eax]
mov eax, dword [ecx]
vmovss xmm2, dword [eax + 4]
vcomiss xmm3, xmm2
vmovss xmm1, dword [eax + 8]
vaddss xmm4, xmm2, dword [eax + 0xc]
vaddss xmm0, xmm1, dword [eax + 0x10]
jbe 0x10010150
vmovaps xmm3, xmm2
vcomiss xmm7, xmm1
jbe 0x1001015a
vmovaps xmm7, xmm1
vcomiss xmm4, xmm5
jbe 0x10010164
vmovaps xmm5, xmm4
vcomiss xmm0, xmm6
jbe 0x1001016e
vmovaps xmm6, xmm0
add ecx, 4
sub edx, 1
jne 0x10010130
vmovss xmm2, dword [0x10055920]
vmovss dword [esp + 0x1c], xmm3
vmovss xmm0, dword [esp + 0x1c]
vxorps xmm3, xmm3, xmm3
mov eax, dword [edi + 0x3854]
vmovss xmm1, dword [edi + 0x3858]
vmovss dword [esp + 0x30], xmm0
vmovss dword [esp + 0x34], xmm7
vmovss dword [esp + 0x38], xmm5
vmovss dword [esp + 0x3c], xmm6
vmovdqu xmm0, xmmword [esp + 0x30]
mov dword [edi + 0x3bdc], eax
vmovdqu xmmword [edi + 0x3be4], xmm0
vmovss xmm0, dword [edi + 0x3be0]
vucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100102dc
vmovss dword [edi + 0x3be0], xmm1
xor esi, esi
nop dword [eax + eax]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, esi
test esi, esi
je 0x10010289
vmovss xmm0, dword [edi + 0x3be0]
vminss xmm0, xmm0, xmm1
vdivss xmm0, xmm0, xmm1
vsubss xmm0, xmm2, xmm0
vcvtss2sd xmm0, xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_acos_precise
vmovss xmm1, dword [0x10055a00]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x30], xmm0
fld qword [esp + 0x30]
fstp qword [esp + 0x30]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [esp + 0x30], 2
vmovsd qword [esp + 0x30], xmm0
fld qword [esp + 0x30]
fstp qword [esp + 0x30]
vmovsd xmm0, qword [esp + 0x30]
vcvtpd2ps xmm0, xmm0
vcvttss2si eax, xmm0
inc eax
cdq
sub eax, edx
and eax, 0xfffffffe
cmp eax, 4
jge 0x1001027a
mov eax, 4
jmp 0x1001028e
cmp eax, 0x200
mov ecx, 0x200
cmovg eax, ecx
jmp 0x1001028e
mov eax, 0x30
vmovss xmm2, dword [0x10055920]
mov byte [esi + edi + 0x3d88], al
inc esi
cmp esi, 0x40
jl 0x100101f0
vmovsd xmm0, qword [0x10055930]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
vmovss xmm1, dword [0x10055920]
vcvtsd2ss xmm0, xmm0, xmm0
vsubss xmm1, xmm1, xmm0
vmovss xmm0, dword [edi + 0x3be0]
vdivss xmm0, xmm0, xmm1
vmovss dword [edi + 0x3d84], xmm0
vxorps xmm3, xmm3, xmm3
xor edx, edx
mov dword [edi + 0x3bf4], 0
cmp byte [edi + 0x3850], dl
je 0x100102ff
mov dword [edi + 0x3bf4], 1
mov edx, 1
cmp byte [edi + 0x3851], 0
mov ecx, edx
je 0x10010321
mov eax, dword [edi + 0x3bc0]
mov eax, dword [eax + 0x30]
test byte [eax], 4
jne 0x10010321
or ecx, 2
mov dword [edi + 0x3bf4], ecx
cmp byte [edi + 0x3852], 0
je 0x10010333
or ecx, 4
mov dword [edi + 0x3bf4], ecx
test byte [edi + 0xc], 8
je 0x10010342
or ecx, 8
mov dword [edi + 0x3bf4], ecx
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [edi + 0x47d0], ecx
jle 0x100103a7
mov eax, dword [edi + 0x47d8]
push 0
mov esi, dword [eax + ecx*4]
lea ecx, [esi + 0x48]
mov byte [esi + 0x38], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x3c], 0
call fcn.100222e0
mov ecx, dword [esp + 0x1c]
vxorps xmm3, xmm3, xmm3
inc ecx
mov dword [esi + 0x6c], 0
vmovups xmmword [esi + 0x5c], xmm3
vmovss dword [esi + 0x54], xmm3
vmovss dword [esi + 0x58], xmm3
mov dword [esp + 0x1c], ecx
cmp ecx, dword [edi + 0x47d0]
jl 0x10010350
cmp byte [edi + 0x4974], 0
mov ecx, dword [0x1006ef44]
je 0x100103e1
mov eax, dword [edi + 0x498c]
cmp eax, dword [edi + 0x3ea4]
jne 0x100103e1
cmp dword [ecx + 0x3ea4], eax
jne 0x100103d2
mov dword [ecx + 0x3ea8], eax
cmp dword [ecx + 0x3ecc], eax
jne 0x100103e1
mov byte [ecx + 0x3ed0], 1
cmp dword [edi + 0x3e94], 0
lea eax, [edi + 0x3e90]
mov edx, dword [eax]
jne 0x10010406
vmovss dword [edi + 0x3e9c], xmm3
vmovss dword [edi + 0x3ea0], xmm3
mov esi, edx
jmp 0x1001042a
mov dword [esp + 0x1c], eax
mov esi, edx
test edx, edx
je 0x10010426
mov dword [esp + 0x1c], eax
cmp dword [edi + 0x3ea4], edx
jne 0x10010426
vmovss dword [edi + 0x3ea0], xmm3
jmp 0x1001042a
mov eax, dword [esp + 0x1c]
vmovss xmm1, dword [edi + 0x18]
test esi, esi
je 0x1001045b
vaddss xmm0, xmm1, dword [edi + 0x3e9c]
vmovss dword [edi + 0x3e9c], xmm0
cmp dword [edi + 0x3ea4], esi
je 0x1001045b
vaddss xmm0, xmm1, dword [edi + 0x3ea0]
vmovss dword [edi + 0x3ea0], xmm0
mov dword [eax], 0
mov eax, dword [edi + 0x3ea4]
mov dword [edi + 0x3e94], esi
mov word [edi + 0x3e98], 0
vmovaps xmm2, xmm1
test eax, eax
je 0x100104b8
cmp dword [edi + 0x3ea8], eax
je 0x100104b8
cmp dword [edi + 0x3ecc], eax
jne 0x100104b8
test byte [edi + 0x5afc], 1
je 0x100104a4
push str.NewFrame__:_ClearActiveID___because_it_isnt_marked_alive_anymore__n
call fcn.10021410
add esp, 4
xor edx, edx
xor ecx, ecx
call fcn.1000ee40
vmovss xmm2, dword [edi + 0x18]
mov ecx, dword [0x1006ef44]
mov esi, dword [edi + 0x3ea4]
test esi, esi
je 0x100104d2
vaddss xmm0, xmm2, dword [edi + 0x3eac]
vmovss dword [edi + 0x3eac], xmm0
mov eax, dword [edi + 0x3ec0]
vaddss xmm0, xmm2, dword [edi + 0x3edc]
mov dword [edi + 0x3ed4], eax
mov al, byte [edi + 0x3eb4]
mov byte [edi + 0x3ed1], al
mov eax, dword [edi + 0x59ac]
mov dword [edi + 0x3ecc], esi
mov dword [edi + 0x3ea8], 0
mov byte [edi + 0x3eb5], 0
mov byte [edi + 0x3ed0], 0
mov byte [edi + 0x3eb0], 0
vmovss dword [edi + 0x3edc], xmm0
test eax, eax
je 0x10010537
cmp esi, eax
je 0x10010537
mov dword [edi + 0x59ac], 0
test esi, esi
jne 0x10010556
mov dword [edi + 0x46a8], esi
mov dword [edi + 0x46a0], esi
mov byte [edi + 0x46a4], 0
mov dword [edi + 0x46a8], esi
jmp 0x10010579
mov eax, dword [edi + 0x46a8]
test eax, eax
je 0x10010579
test al, 2
je 0x10010579
mov edx, 0x20e
call fcn.1000b3b0
mov dword [eax + 4], esi
mov dword [eax], esi
mov word [eax + 8], 0
mov ecx, dword [edi + 0x4a9c]
mov eax, edi
mov dword [esp + 0x1c], 0x3bac
mov edx, 0x4ab8
mov esi, edi
test ecx, ecx
je 0x100105ae
vmovss xmm0, dword [edi + 0x4ab8]
vcomiss xmm0, dword [edi + 0x3bac]
jb 0x100105b8
mov dword [edi + 0x4aac], ecx
jmp 0x100105b8
mov dword [edi + 0x4aac], 0
cmp dword [edi + 0x3e5c], 0
je 0x100105e2
vmovss xmm0, dword [edx + eax]
mov eax, dword [esp + 0x1c]
vcomiss xmm0, dword [eax + esi]
jb 0x100105ec
mov eax, dword [edi + 0x3e5c]
mov eax, dword [eax + 8]
mov dword [edi + 0x4ab0], eax
jmp 0x100105ec
mov dword [edi + 0x4ab0], 0
mov dword [edi + 0x4aa0], ecx
vmovss xmm0, dword [edi + 0x4aa4]
test ecx, ecx
je 0x10010623
vaddss xmm0, xmm0, dword [edi + 0x18]
vmovss dword [edi + 0x4aa4], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [edi + 0x4aa8], xmm0
mov dword [edi + 0x4a9c], 0
jmp 0x10010668
vxorps xmm3, xmm3, xmm3
vcomiss xmm0, xmm3
jbe 0x10010668
vmovss xmm0, dword [edi + 0x18]
vaddss xmm2, xmm0, dword [edi + 0x4aa8]
vaddss xmm1, xmm0, xmm0
vmovss xmm0, dword [0x100558d0]
vmaxss xmm0, xmm0, xmm1
vcomiss xmm2, xmm0
vmovss dword [edi + 0x4aa8], xmm2
jb 0x10010668
vmovss dword [edi + 0x4aa8], xmm3
vmovss dword [edi + 0x4aa4], xmm3
mov eax, dword [edi + 0x49d8]
vmovss xmm0, dword [esp + 0x18]
mov dword [edi + 0x49dc], eax
mov dword [edi + 0x49d8], 0
vmovss dword [edi + 0x49d4], xmm0
mov word [edi + 0x4975], 0
mov dword [edi + 0x49e4], 0
call fcn.100188a0
call fcn.1001d550
call fcn.10018da0
call fcn.1000f980
mov esi, dword [0x1006ef44]
mov ecx, dword [esi + 0x3e64]
test ecx, ecx
je 0x10010776
mov eax, dword [esi + 0x3ea4]
mov dword [esi + 0x3ea8], eax
cmp dword [esi + 0x3ecc], eax
jne 0x100106e2
mov byte [esi + 0x3ed0], 1
cmp byte [esi + 0xdc0], 0
mov eax, dword [ecx + 0x300]
mov dword [esp + 0x30], eax
je 0x1001076a
lea eax, [esi + 0xdb8]
mov ecx, eax
test eax, eax
jne 0x10010707
lea ecx, [esi + 0xdb8]
vmovss xmm0, dword [ecx]
vmovss xmm1, dword [0x10055b38]
vcomiss xmm0, xmm1
vmovss xmm2, dword [ecx + 4]
jb 0x1001076a
vcomiss xmm2, xmm1
jb 0x1001076a
vmovss xmm0, dword [eax]
vsubss xmm0, xmm0, dword [esi + 0x3eb8]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x28]
vmovss dword [esp + 0x28], xmm0
vmovss xmm0, dword [eax + 4]
vsubss xmm0, xmm0, dword [esi + 0x3ebc]
push 1
vmovss dword [esp + 0x30], xmm0
call fcn.10017da0
mov ecx, dword [esi + 0x3e64]
add esp, 4
xor edx, edx
call fcn.10017790
jmp 0x100107b2
mov dword [esi + 0x3e64], 0
jmp 0x100107a9
mov ecx, dword [esi + 0x3ec0]
test ecx, ecx
je 0x100107b2
mov eax, dword [esi + 0x3ea4]
cmp dword [ecx + 0x70], eax
jne 0x100107b2
mov dword [esi + 0x3ea8], eax
cmp dword [esi + 0x3ecc], eax
jne 0x100107a0
mov byte [esi + 0x3ed0], 1
cmp byte [esi + 0xdc0], 0
jne 0x100107b2
xor edx, edx
xor ecx, ecx
call fcn.1000ee40
mov eax, dword [0x1006ef44]
mov edx, dword [eax + 0x47b4]
sub edx, 1
js 0x100107e8
mov eax, dword [eax + 0x47bc]
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*8]
add eax, 4
mov ecx, dword [eax]
test ecx, ecx
je 0x100107e0
test dword [ecx + 0xc], 0x8000000
jne 0x10010803
sub eax, 0x28
sub edx, 1
jns 0x100107d1
cmp dword [edi + 0x4948], 0
vxorps xmm2, xmm2, xmm2
je 0x10010822
vmovss xmm0, dword [edi + 0x4958]
vcomiss xmm0, xmm2
jbe 0x10010822
vmovss xmm0, dword [edi + 0x18]
vmulss xmm0, xmm0, dword [0x10055a58]
vaddss xmm0, xmm0, dword [edi + 0x4970]
vminss xmm0, xmm0, dword [0x10055920]
jmp 0x1001083f
vmovss xmm0, dword [edi + 0x18]
vmulss xmm1, xmm0, dword [0x10055a68]
vmovss xmm0, dword [edi + 0x4970]
vsubss xmm0, xmm0, xmm1
vmaxss xmm0, xmm0, xmm2
vmovss dword [edi + 0x4970], xmm0
vmovdqu xmm0, xmmword [edi + 0x5a40]
mov dword [edi + 0x4ab4], 0
mov dword [edi + 0x5c5c], 0xffffffff
mov dword [edi + 0x5c58], 0xffffffff
mov dword [edi + 0x5c54], 0xffffffff
vmovdqu xmmword [edi + 0x5a50], xmm0
mov byte [edi + 0x5a40], 0
call fcn.100191b0
cmp byte [edi + 0x3de7], 0
jne 0x100108bb
vmovss xmm1, dword [edi + 0x4c]
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, xmm1
ja 0x100108bb
vmovsd xmm0, qword [edi + 0x3dd0]
vcvtpd2ps xmm0, xmm0
vsubss xmm0, xmm0, xmm1
vmovss dword [esp + 0x18], xmm0
jmp 0x100108c1
vmovss xmm0, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [edi + 0x3e10], ecx
je 0x10010a7d
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x3e18]
mov esi, dword [eax + ecx*4]
mov ax, word [esi + 0xb6]
mov cl, byte [esi + 0xaa]
mov word [esi + 0xb8], ax
xor eax, eax
mov byte [esi + 0xab], cl
mov byte [esi + 0xaa], 0
mov byte [esi + 0xac], 0
mov word [esi + 0xb6], ax
test cl, cl
jne 0x10010a62
cmp byte [esi + 0x358], al
jne 0x10010a62
vcomiss xmm0, dword [esi + 0x23c]
jbe 0x10010a62
mov ecx, dword [esi + 0x264]
mov byte [esi + 0x358], 1
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x350], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x354], eax
mov ecx, dword [esi + 0xec]
test ecx, ecx
je 0x1001099a
mov eax, dword [0x1006ef44]
mov dword [esi + 0xe8], 0
mov dword [esi + 0xe4], 0
test eax, eax
je 0x10010988
dec dword [eax + 0xac]
push ecx
call dword [esp + 0x18]
add esp, 4
mov dword [esi + 0xec], 0
mov ecx, dword [esi + 0x264]
call fcn.1002ac30
mov ecx, dword [esi + 0x188]
test ecx, ecx
je 0x100109e4
mov eax, dword [0x1006ef44]
mov dword [esi + 0x184], 0
mov dword [esi + 0x180], 0
test eax, eax
je 0x100109d2
dec dword [eax + 0xac]
push ecx
call dword [esp + 0x18]
add esp, 4
mov dword [esi + 0x188], 0
mov ecx, dword [esi + 0x1b0]
test ecx, ecx
je 0x10010a23
mov eax, dword [0x1006ef44]
mov dword [esi + 0x1ac], 0
mov dword [esi + 0x1a8], 0
test eax, eax
je 0x10010a11
dec dword [eax + 0xac]
push ecx
call dword [esp + 0x18]
add esp, 4
mov dword [esi + 0x1b0], 0
mov ecx, dword [esi + 0x1bc]
test ecx, ecx
je 0x10010a62
mov eax, dword [0x1006ef44]
mov dword [esi + 0x1b8], 0
mov dword [esi + 0x1b4], 0
test eax, eax
je 0x10010a50
dec dword [eax + 0xac]
push ecx
call dword [esp + 0x18]
add esp, 4
mov dword [esi + 0x1bc], 0
mov ecx, dword [esp + 0x1c]
vmovss xmm0, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [edi + 0x3e10]
jne 0x100108e0
xor ecx, ecx
mov dword [esp + 0x28], ecx
cmp dword [edi + 0x4a48], ecx
jle 0x10010be3
xor edx, edx
mov dword [esp + 0x30], edx
vxorps xmm0, xmm0, xmm0
nop dword [eax]
mov eax, dword [edi + 0x4a50]
vmovss xmm1, dword [eax + ecx*4]
vcomiss xmm1, xmm0
jb 0x10010bc8
vmovss xmm2, dword [esp + 0x18]
vcomiss xmm2, xmm1
jbe 0x10010bc8
mov esi, dword [edi + 0x4a30]
mov eax, dword [0x1006ef44]
add esi, edx
mov dword [esp + 0x1c], eax
mov dword [esi + 0x1a0], 0
mov ecx, dword [esi + 0x19c]
test ecx, ecx
je 0x10010b1a
mov dword [esi + 0x198], 0
mov dword [esi + 0x194], 0
test eax, eax
je 0x10010b08
dec dword [eax + 0xac]
push ecx
call dword [esp + 0x18]
add esp, 4
mov dword [esi + 0x19c], 0
mov byte [esi + 0x1e1], 1
mov ecx, dword [esi + 0x15c]
test ecx, ecx
je 0x10010b60
mov eax, dword [0x1006ef44]
mov dword [esi + 0x158], 0
mov dword [esi + 0x154], 0
test eax, eax
je 0x10010b4e
dec dword [eax + 0xac]
push ecx
call dword [esp + 0x18]
add esp, 4
mov dword [esi + 0x15c], 0
xor edx, edx
mov byte [esi + 0x1ed], 1
cmp dword [esi + 0x40], edx
jle 0x10010b88
xor ecx, ecx
or edi, 0xffffffff
mov eax, dword [esi + 0x10]
lea ecx, [ecx + 0x70]
inc edx
mov word [eax + ecx - 0x20], di
cmp edx, dword [esi + 0x40]
jl 0x10010b73
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
vmovss xmm0, dword [0x10055b10]
sub esi, dword [eax + 0x4a30]
mov eax, 0x84210843
imul esi
mov eax, dword [esp + 0x1c]
add edx, esi
sar edx, 8
mov ecx, edx
mov eax, dword [eax + 0x4a50]
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x30]
vmovss dword [eax + ecx*4], xmm0
mov ecx, dword [esp + 0x28]
vxorps xmm0, xmm0, xmm0
inc ecx
add edx, 0x1f0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], edx
cmp ecx, dword [edi + 0x4a48]
jl 0x10010aa0
xor ecx, ecx
mov dword [esp + 0x30], ecx
cmp dword [edi + 0x4a1c], ecx
jle 0x10010c56
xor esi, esi
vxorps xmm0, xmm0, xmm0
nop word [eax + eax]
mov eax, dword [edi + 0x4a24]
mov dword [esp + 0x28], eax
vmovss xmm1, dword [esi + eax + 4]
vcomiss xmm1, xmm0
jb 0x10010c46
vmovss xmm2, dword [esp + 0x18]
vcomiss xmm2, xmm1
jbe 0x10010c46
lea ecx, [eax + 0x10]
add ecx, esi
call fcn.1002d5c0
mov eax, dword [esp + 0x28]
vmovss xmm0, dword [0x10055b10]
mov ecx, dword [esp + 0x30]
vmovss dword [esi + eax + 4], xmm0
vxorps xmm0, xmm0, xmm0
inc ecx
add esi, 0x68
mov dword [esp + 0x30], ecx
cmp ecx, dword [edi + 0x4a1c]
jl 0x10010c00
cmp byte [edi + 0x3de7], 0
je 0x10010ce7
mov esi, dword [0x1006ef44]
mov eax, dword [esi + 0x47a4]
test eax, eax
je 0x10010ca3
mov dword [esi + 0x47a0], 0
mov dword [esi + 0x479c], 0
test esi, esi
je 0x10010c91
dec dword [esi + 0xac]
push eax
call dword [esp + 0x18]
add esp, 4
mov dword [esi + 0x47a4], 0
mov ecx, dword [esi + 0x47b0]
test ecx, ecx
je 0x10010ce2
mov eax, dword [0x1006ef44]
mov dword [esi + 0x47ac], 0
mov dword [esi + 0x47a8], 0
test eax, eax
je 0x10010cd0
dec dword [eax + 0xac]
push ecx
call dword [esp + 0x18]
add esp, 4
mov dword [esi + 0x47b0], 0
call fcn.10035500
mov eax, dword [edi + 0x47dc]
mov byte [edi + 0x3de7], 0
test eax, eax
je 0x10010d52
cmp byte [eax + 0xab], 0
jne 0x10010d52
mov eax, dword [0x1006ef44]
mov edx, dword [eax + 0x3e1c]
sub edx, 1
js 0x10010d46
mov eax, dword [eax + 0x3e24]
lea esi, [eax + edx*4]
nop word [eax + eax]
mov ecx, dword [esi]
test ecx, ecx
je 0x10010d3e
cmp byte [ecx + 0xab], 0
je 0x10010d3e
mov eax, dword [ecx + 0xc]
and eax, 0x40200
cmp eax, 0x40200
jne 0x10010d48
sub esi, 4
sub edx, 1
jns 0x10010d20
xor ecx, ecx
mov edx, 1
call fcn.10017790
mov ecx, dword [edi + 0x3e38]
test ecx, ecx
jns 0x10010d78
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x3e34]
call fcn.10022740
mov dword [edi + 0x3e34], 0
mov ecx, dword [edi + 0x47c4]
test ecx, ecx
jns 0x10010da8
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x47c0]
call fcn.100226c0
lea esi, [edi + 0x479c]
mov dword [edi + 0x47c0], 0
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x10010dd7
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.10022140
mov dword [esi], 0
cmp dword [esi + 4], 0
jne 0x10010dec
push 8
mov ecx, esi
call fcn.10022140
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push 0
mov dword [eax + ecx*4], 0
lea ecx, [edi + 0x47a8]
inc dword [esi]
call fcn.10021f10
call fcn.100217b0
mov esi, dword [0x1006ef44]
mov dword [esi + 0x3e8c], 0
mov eax, dword [esi + 0x5b38]
inc eax
cmp dword [esi + 0x3dd8], eax
jne 0x10010f20
mov edx, dword [esi + 0x3e94]
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10010e47
mov edx, dword [esi + 0x3ea4]
mov dword [esp + 0x18], edx
cmp dword [esi + 0x5b40], edx
je 0x10010e98
lea eax, [esi + 0x5b44]
mov dword [esi + 0x5b40], edx
mov dword [esi + 0x5b3c], 0xffffffff
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x10010e92
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x5b44]
call fcn.10022840
mov edx, dword [esp + 0x18]
lea eax, [esi + 0x5b44]
mov dword [eax], 0
test edx, edx
je 0x10010f20
mov eax, dword [esi + 0x5b3c]
test eax, eax
js 0x10010ee9
mov ecx, eax
cmp eax, dword [esi + 0x5b44]
jge 0x10010efc
mov edx, dword [esi + 0x5b4c]
lea ecx, [eax + eax*8]
cmp byte [edx + ecx*8 + 5], 0
mov edx, dword [esp + 0x18]
jne 0x10010ee2
mov edi, dword [esi + 0x5b4c]
lea edx, [eax + eax*8]
mov ecx, eax
cmp byte [edi + edx*8 + 4], 2
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
jle 0x10010efc
inc eax
mov dword [esi + 0x5b3c], eax
mov ecx, eax
cmp eax, 0xffffffff
jne 0x10010ef8
mov dword [esi + 0x3e8c], edx
jmp 0x10010f20
test ecx, ecx
js 0x10010f20
cmp ecx, dword [esi + 0x5b44]
jge 0x10010f20
mov eax, dword [esi + 0x5b4c]
lea ecx, [ecx + ecx*8]
mov eax, dword [eax + ecx*8]
mov dword [esi + 0x3e8c], eax
mov eax, dword [esi + 0x5b4c]
inc byte [eax + ecx*8 + 4]
mov al, byte [edi + 0x5b1d]
test al, al
je 0x10010f3e
sub al, 1
mov byte [edi + 0x5b1d], al
jne 0x10010f3e
mov dword [edi + 0x46b4], 0
mov al, byte [edi + 0x5b1c]
test al, al
je 0x10010f66
sub al, 1
mov byte [edi + 0x5b1c], al
jne 0x10010f66
push str._Auto_disabled_ImGuiDebugLogFlags_EventClipper_to_avoid_spamming__n
call fcn.10021410
add esp, 4
and dword [edi + 0x5afc], 0xffffffef
mov eax, dword [0x1006ef44]
xor edx, edx
vmovss xmm0, dword [0x10055ac8]
mov byte [edi + 0x3de5], 1
mov ecx, str.DebugDefault
push 0
or dword [eax + 0x470c], 2
vmovss dword [eax + 0x472c], xmm0
vmovss dword [eax + 0x4730], xmm0
mov dword [eax + 0x4714], 4
call fcn.10014e10
add esp, 4
cmp byte [edi + 0x65], 0
je 0x10010fe7
mov cl, byte [edi + 0x5b1e]
cmp cl, 0xff
jne 0x10010fc1
xor edx, edx
jmp 0x10010fea
mov eax, dword [edi + 0x3dd8]
and eax, 0x80000003
jns 0x10010fd3
dec eax
or eax, 0xfffffffc
inc eax
neg eax
movsx ecx, cl
sbb eax, eax
inc eax
add eax, ecx
mov ecx, 0xa
cdq
idiv ecx
jmp 0x10010fea
or dl, 0xff
xor esi, esi
mov byte [edi + 0x5b1e], dl
cmp dword [edi + 0x5a98], esi
jle 0x1001102c
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
add eax, ecx
cmp dword [eax + 4], 1
jne 0x1001101c
push eax
mov eax, dword [eax + 0xc]
push edi
call eax
mov ecx, dword [esp + 0x38]
add esp, 8
inc esi
add ecx, 0x14
mov dword [esp + 0x30], ecx
cmp esi, dword [edi + 0x5a98]
jl 0x10011000
pop edi
pop esi
mov esp, ebp
pop ebp
ret