Function at 0x4070b0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x34
push ebx
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
push esi
push edi
mov edi, dword [0x471270]
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], ebx
test edi, edi
jne 0x4070f2
push 0x10ba
push 0x44a3d0
push str.GImGui___0___No_current_context._Did_you_call_ImGui::CreateContext___and_ImGui::SetCurrentContext_____
call ebx
mov edi, dword [0x471270]
add esp, 0xc
mov dword [esp + 0x24], edi
mov esi, dword [edi + 0x523c]
sub esi, 1
mov dword [esp + 0x20], esi
js 0x407202
lea ecx, [esi + esi*4]
shl ecx, 2
mov dword [esp + 0x18], ecx
nop
cmp esi, dword [edi + 0x523c]
jl 0x407138
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], esi
mov eax, dword [edi + 0x5244]
cmp dword [ecx + eax + 4], 7
jne 0x4071ee
cmp esi, dword [edi + 0x523c]
jl 0x407169
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [edi + 0x5244]
add ecx, edx
mov dword [esp + 0x30], ecx
cmp ecx, edx
jb 0x407189
mov eax, dword [edi + 0x523c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
cmp ecx, eax
jb 0x4071a1
push 0x71b
push 0x44a2c8
push 0x44e82c
call ebx
mov ecx, dword [esp + 0x3c]
add esp, 0xc
mov esi, dword [edi + 0x5244]
mov eax, 0x66666667
sub ecx, esi
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 + 0x523c]
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 esi, dword [esp + 0x2c]
add esp, 0xc
dec dword [edi + 0x523c]
mov ecx, dword [esp + 0x18]
dec esi
sub ecx, 0x14
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], ecx
test esi, esi
jns 0x407110
xor edx, edx
mov ecx, edi
call fcn.00405d00
call fcn.004113a0
mov esi, dword [0x471270]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [esp + 0x18], eax
cmp byte [esi + 0x5205], 0
jne 0x40729b
cmp dword [esi + 0x5224], 0
je 0x407245
push 0x2d75
push 0x44a3d0
push str.g.SettingsWindows.empty__
call ebx
add esp, 0xc
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x407294
push ecx
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
call fcn.004035d0
mov ecx, eax
add esp, 8
mov dword [esp + 0x30], ecx
test ecx, ecx
je 0x407294
mov edx, dword [esp + 0x28]
test edx, edx
je 0x40727d
call fcn.00418d40
mov ecx, dword [esp + 0x30]
mov eax, dword [0x471270]
test eax, eax
je 0x40728c
dec dword [eax + 0xa8]
push ecx
call dword [esp + 0x1c]
add esp, 4
mov byte [esi + 0x5205], 1
movss xmm0, dword [esi + 0x5208]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x407337
subss xmm0, dword [esi + 0x18]
comiss xmm1, xmm0
movss dword [esi + 0x5208], xmm0
jb 0x407337
mov eax, dword [esi + 0x20]
mov dword [esp + 0x30], eax
test eax, eax
je 0x407326
mov eax, dword [0x471270]
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [eax + 0x5208], 0
call fcn.004190a0
mov ecx, dword [esp + 0x30]
mov edx, 0x44e5bc
mov dword [esp + 0x2c], eax
call fcn.00403470
mov dword [esp + 0x30], eax
test eax, eax
je 0x40732d
push eax
push dword [esp + 0x2c]
push 1
push dword [esp + 0x38]
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
jmp 0x40732d
mov byte [esi + 0x90], 1
mov dword [esi + 0x5208], 0
movss xmm0, dword [edi + 0x18]
xor eax, eax
inc dword [edi + 0x3dd0]
cvtps2pd xmm0, xmm0
mov byte [edi + 0x3ddc], 1
mov word [edi + 0x51c6], ax
mov dword [edi + 0x3e24], eax
addsd xmm0, qword [edi + 0x3dc8]
movsd qword [edi + 0x3dc8], xmm0
mov ecx, dword [edi + 0x51dc]
test ecx, ecx
jns 0x407391
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 + 0x51d8]
call fcn.0041a3b0
mov dword [edi + 0x51d8], 0
mov ecx, 0x78
mov eax, dword [edi + 0x54a8]
movss xmm1, dword [edi + 0x18]
movaps xmm0, xmm1
movss xmm2, dword [0x4563f0]
subss xmm0, dword [edi + eax*4 + 0x52c8]
addss xmm0, dword [edi + 0x54b0]
movss dword [edi + 0x54b0], xmm0
movss dword [edi + eax*4 + 0x52c8], xmm1
mov eax, dword [edi + 0x54a8]
inc eax
movss xmm1, dword [edi + 0x54b0]
cdq
idiv ecx
mov eax, dword [edi + 0x54ac]
movss xmm0, dword [0x45651c]
inc eax
cmp eax, ecx
mov dword [edi + 0x54a8], edx
movss dword [esp + 0x20], xmm0
cmovl ecx, eax
comiss xmm1, dword [0x456340]
mov dword [edi + 0x54ac], ecx
jbe 0x40742b
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movaps xmm0, xmm2
divss xmm0, xmm1
mov esi, dword [0x471270]
movss dword [edi + 0x94], xmm0
mov dword [esp + 0x28], esi
cmp dword [esi + 0x3fdc], 1
je 0x40745a
push 0x2eba
push 0x44a3d0
push 0x44e658
call ebx
add esp, 0xc
cmp dword [esi + 0x3fdc], 0
jg 0x407477
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
add esp, 0xc
mov eax, dword [esi + 0x3fe4]
mov edx, dword [eax]
mov dword [edx], 5
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
xor esi, esi
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x10], ecx
mov eax, dword [eax + 0x3fdc]
test eax, eax
jle 0x4075a4
mov edi, dword [esp + 0x28]
test esi, esi
js 0x4074bf
cmp esi, eax
jl 0x4074d3
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
add esp, 0xc
mov eax, dword [edi + 0x3fe4]
xorps xmm2, xmm2
mov edx, dword [eax + esi*4]
inc esi
mov eax, dword [edx + 0x8c]
mov ecx, dword [edx + 0x90]
mov dword [edx + 0x7c], eax
mov eax, dword [edx + 0x94]
mov dword [edx + 0x80], ecx
mov ecx, dword [edx + 0x98]
mov dword [edx + 0x84], eax
mov dword [edx + 0x88], ecx
mov dword [edx + 0x94], 0
mov dword [edx + 0x98], 0
mov dword [edx + 0x8c], 0
mov dword [edx + 0x90], 0
movss xmm0, dword [edx + 0x80]
addss xmm0, dword [edx + 8]
movss xmm1, dword [edx + 0x7c]
addss xmm1, dword [edx + 4]
movss dword [edx + 0x18], xmm0
movss xmm0, dword [edx + 0xc]
movss dword [edx + 0x14], xmm1
xorps xmm1, xmm1
subss xmm0, dword [edx + 0x7c]
addss xmm0, dword [edx + 0x84]
maxss xmm2, xmm0
movss xmm0, dword [edx + 0x10]
subss xmm0, dword [edx + 0x80]
addss xmm0, dword [edx + 0x88]
movss dword [edx + 0x1c], xmm2
maxss xmm1, xmm0
movss dword [edx + 0x20], xmm1
mov eax, dword [edi + 0x3fdc]
cmp esi, eax
jl 0x4074b7
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x40]
mov esi, dword [0x471270]
mov byte [eax + 0x10], 1
mov ecx, dword [esi + 0x4c]
test ecx, ecx
jne 0x4075d9
mov esi, dword [esi + 0x40]
cmp dword [esi + 0x34], ecx
jg 0x4075d4
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
add esp, 0xc
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax]
call fcn.00410400
mov eax, dword [edi + 0x3bc8]
cmp dword [eax + 0x30], 0
jne 0x4075fe
push 0x10de
push 0x44a3d0
push str.g.Font__IsLoaded__
call ebx
add esp, 0xc
movss xmm7, dword [esp + 0x20]
xor esi, esi
movss xmm4, dword [0x456568]
movaps xmm6, xmm7
mov eax, dword [edi + 0x3fdc]
movaps xmm5, xmm4
movss dword [esp + 0x28], xmm7
movss dword [esp + 0x1c], xmm6
movss dword [esp + 0x2c], xmm4
movss dword [esp + 0x30], xmm5
test eax, eax
jle 0x4076de
nop word [eax + eax]
test esi, esi
js 0x407648
cmp esi, eax
jl 0x407674
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
movss xmm4, dword [esp + 0x38]
add esp, 0xc
movss xmm5, dword [esp + 0x30]
movss xmm6, dword [esp + 0x1c]
movss xmm7, dword [esp + 0x28]
mov eax, dword [edi + 0x3fe4]
mov eax, dword [eax + esi*4]
movss xmm3, dword [eax + 4]
comiss xmm7, xmm3
movss xmm2, dword [eax + 8]
movaps xmm0, xmm3
addss xmm0, dword [eax + 0xc]
movaps xmm1, xmm2
addss xmm1, dword [eax + 0x10]
jbe 0x4076a5
movaps xmm7, xmm3
movss dword [esp + 0x28], xmm7
comiss xmm6, xmm2
jbe 0x4076b3
movaps xmm6, xmm2
movss dword [esp + 0x1c], xmm6
comiss xmm0, xmm4
jbe 0x4076c1
movaps xmm4, xmm0
movss dword [esp + 0x2c], xmm4
comiss xmm1, xmm5
jbe 0x4076cf
movaps xmm5, xmm1
movss dword [esp + 0x30], xmm5
mov eax, dword [edi + 0x3fdc]
inc esi
cmp esi, eax
jl 0x407640
movss dword [edi + 0x3bec], xmm7
movss dword [edi + 0x3bf0], xmm6
movss dword [edi + 0x3bf4], xmm4
movss dword [edi + 0x3bf8], xmm5
mov eax, dword [edi + 0x3870]
movss xmm1, dword [edi + 0x3874]
mov dword [edi + 0x3be4], eax
movss xmm0, dword [edi + 0x3be8]
ucomiss xmm0, xmm1
movss dword [esp + 0x30], xmm1
lahf
test ah, 0x44
jnp 0x407838
comiss xmm1, dword [0x456340]
ja 0x407750
push 0x187
push 0x4534b8
push str.max_error___0.0f
call ebx
movss xmm1, dword [esp + 0x3c]
add esp, 0xc
movss dword [edi + 0x3be8], xmm1
xor esi, esi
mov ebx, 0x200
nop
movd xmm0, esi
cvtdq2ps xmm0, xmm0
test esi, esi
je 0x4077ed
movss xmm1, dword [edi + 0x3be8]
minss xmm1, xmm0
divss xmm1, xmm0
movss xmm0, dword [0x4563f0]
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_acos_precise
movss xmm1, dword [0x456448]
sub esp, 8
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceil
fstp qword [esp + 0x38]
movsd xmm0, qword [esp + 0x38]
add esp, 8
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
inc eax
cdq
sub eax, edx
and eax, 0xfffffffe
cmp eax, 4
jge 0x4077e3
mov eax, 4
jmp 0x4077f2
cmp eax, 0x200
cmovg eax, ebx
jmp 0x4077f2
mov eax, 0x30
mov byte [esi + edi + 0x3d84], al
inc esi
cmp esi, 0x40
jl 0x407760
movsd xmm0, qword [0x456408]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
movss xmm1, dword [0x4563f0]
cvtsd2ss xmm0, xmm0
mov ebx, dword [esp + 0x38]
subss xmm1, xmm0
movss xmm0, dword [edi + 0x3be8]
divss xmm0, xmm1
movss dword [edi + 0x3d80], xmm0
xor edx, edx
mov dword [edi + 0x3bfc], 0
cmp byte [edi + 0x386c], dl
je 0x40785b
mov dword [edi + 0x3bfc], 1
mov edx, 1
cmp byte [edi + 0x386d], 0
mov ecx, edx
je 0x40787d
mov eax, dword [edi + 0x3bc8]
mov eax, dword [eax + 0x30]
test byte [eax], 4
jne 0x40787d
or ecx, 2
mov dword [edi + 0x3bfc], ecx
cmp byte [edi + 0x386e], 0
je 0x40788f
or ecx, 4
mov dword [edi + 0x3bfc], ecx
test byte [edi + 0xc], 8
je 0x40789e
or ecx, 8
mov dword [edi + 0x3bfc], ecx
mov eax, dword [edi + 0x3fdc]
xor esi, esi
test eax, eax
jle 0x4078f0
nop word [eax + eax]
test esi, esi
js 0x4078b8
cmp esi, eax
jl 0x4078cc
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
add esp, 0xc
mov eax, dword [edi + 0x3fe4]
push 0x2c
push 0
mov eax, dword [eax + esi*4]
add eax, 0x38
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 0x3fdc]
inc esi
add esp, 0xc
cmp esi, eax
jl 0x4078b0
cmp byte [edi + 0x4158], 0
je 0x40792a
mov eax, dword [edi + 0x4170]
cmp eax, dword [edi + 0x3e68]
jne 0x40792a
mov ecx, dword [0x471270]
cmp dword [ecx + 0x3e68], eax
jne 0x40791b
mov dword [ecx + 0x3e6c], eax
cmp dword [ecx + 0x3e90], eax
jne 0x40792a
mov byte [ecx + 0x3e94], 1
cmp dword [edi + 0x3e58], 0
jne 0x40793f
mov dword [edi + 0x3e60], 0
jmp 0x407951
mov eax, dword [edi + 0x3e54]
test eax, eax
je 0x40795b
cmp dword [edi + 0x3e68], eax
jne 0x40795b
mov dword [edi + 0x3e64], 0
mov eax, dword [edi + 0x3e54]
test eax, eax
je 0x407995
movss xmm1, dword [edi + 0x18]
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x3e60]
movss dword [edi + 0x3e60], xmm0
cmp dword [edi + 0x3e68], eax
je 0x407995
addss xmm1, dword [edi + 0x3e64]
movss dword [edi + 0x3e64], xmm1
mov dword [edi + 0x3e58], eax
mov al, byte [edi + 0x3e5d]
mov byte [edi + 0x3e5e], al
mov eax, dword [edi + 0x3e68]
mov dword [edi + 0x3e54], 0
mov word [edi + 0x3e5c], 0
mov byte [edi + 0x3e5f], 0
test eax, eax
je 0x4079fa
cmp dword [edi + 0x3e6c], eax
je 0x4079fa
cmp dword [edi + 0x3e90], eax
jne 0x4079fa
test byte [edi + 0x5280], 1
je 0x4079f1
push str.NewFrame__:_ClearActiveID___because_it_isnt_marked_alive_anymore__n
call fcn.004199e0
add esp, 4
xor edx, edx
xor ecx, ecx
call fcn.00405780
mov ecx, dword [edi + 0x3e68]
test ecx, ecx
je 0x407a19
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [edi + 0x3e70]
movss dword [edi + 0x3e70], xmm0
mov eax, dword [edi + 0x3e84]
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [edi + 0x3ea0]
mov dword [edi + 0x3e98], eax
mov al, byte [edi + 0x3e78]
mov byte [edi + 0x3e95], al
mov eax, dword [edi + 0x5154]
movss dword [edi + 0x3ea0], xmm0
mov dword [edi + 0x3e90], ecx
mov dword [edi + 0x3e6c], 0
mov byte [edi + 0x3e79], 0
mov byte [edi + 0x3e94], 0
mov byte [edi + 0x3e74], 0
test eax, eax
je 0x407a83
cmp ecx, eax
je 0x407a83
mov dword [edi + 0x5154], 0
test ecx, ecx
jne 0x407aa3
mov dword [edi + 0x3ea8], ecx
xorps xmm0, xmm0
mov dword [edi + 0x3eac], ecx
movups xmmword [edi + 0x3eb0], xmm0
mov dword [edi + 0x3ec0], ecx
mov eax, dword [edi + 0x41bc]
mov dword [edi + 0x41c0], eax
mov dword [edi + 0x41bc], 0
mov dword [edi + 0x41b8], 0x7f7fffff
mov word [edi + 0x4159], 0
mov dword [edi + 0x41c8], 0
mov ecx, dword [edi + 0x37a8]
test ecx, ecx
jns 0x407afc
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 + 0x37a4]
call fcn.0041a930
mov dword [edi + 0x37a4], 0
mov cl, byte [edi + 0x5a]
call fcn.00410bd0
call fcn.00406270
call fcn.00415020
call fcn.00406550
call fcn.00406e40
mov esi, dword [0x471270]
mov ecx, dword [esi + 0x3e3c]
test ecx, ecx
je 0x407c34
mov eax, dword [esi + 0x3e68]
mov dword [esi + 0x3e6c], eax
cmp dword [esi + 0x3e90], eax
jne 0x407b51
mov byte [esi + 0x3e94], 1
cmp dword [ecx + 0x2e8], 0
jne 0x407b6e
push 0xf25
push 0x44a3d0
push str.g.MovingWindow__g.MovingWindow__RootWindow
call ebx
add esp, 0xc
cmp byte [esi + 0xd58], 0
mov eax, dword [esi + 0x3e3c]
mov ecx, dword [eax + 0x2e8]
mov dword [esp + 0x38], ecx
je 0x407c28
cmp dword [0x471270], 0
lea eax, [esi + 0xd50]
jne 0x407bb8
push 0x1e65
push 0x44a3d0
push str.GImGui___0
call ebx
mov ecx, dword [esp + 0x44]
lea eax, [esi + 0xd50]
add esp, 0xc
test eax, eax
jne 0x407bc6
mov eax, dword [0x471270]
add eax, 0xd50
movss xmm0, dword [eax]
movss xmm1, dword [0x456560]
comiss xmm0, xmm1
movss xmm2, dword [eax + 4]
jb 0x407c28
comiss xmm2, xmm1
jb 0x407c28
movss xmm0, dword [esi + 0xd50]
lea edx, [esp + 0x38]
subss xmm0, dword [esi + 0x3e7c]
push 1
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esi + 0xd54]
subss xmm0, dword [esi + 0x3e80]
movss dword [esp + 0x40], xmm0
call fcn.004107c0
mov ecx, dword [esi + 0x3e3c]
add esp, 4
call fcn.004100e0
jmp 0x407c70
mov dword [esi + 0x3e3c], 0
jmp 0x407c67
mov ecx, dword [esi + 0x3e84]
test ecx, ecx
je 0x407c70
mov eax, dword [esi + 0x3e68]
cmp dword [ecx + 0x54], eax
jne 0x407c70
mov dword [esi + 0x3e6c], eax
cmp dword [esi + 0x3e90], eax
jne 0x407c5e
mov byte [esi + 0x3e94], 1
cmp byte [esi + 0xd58], 0
jne 0x407c70
xor edx, edx
xor ecx, ecx
call fcn.00405780
mov eax, dword [0x471270]
mov edx, dword [eax + 0x3fc0]
sub edx, 1
js 0x407ca7
mov eax, dword [eax + 0x3fc8]
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*8]
add eax, 4
nop
mov ecx, dword [eax]
test ecx, ecx
je 0x407c9f
test dword [ecx + 8], 0x8000000
jne 0x407cc1
sub eax, 0x28
sub edx, 1
jns 0x407c90
cmp dword [edi + 0x4138], 0
je 0x407ce0
movss xmm0, dword [edi + 0x4148]
comiss xmm0, dword [0x456340]
jbe 0x407ce0
movss xmm1, dword [edi + 0x18]
mulss xmm1, dword [0x456468]
addss xmm1, dword [edi + 0x4150]
minss xmm1, dword [0x4563f0]
jmp 0x407d01
movss xmm0, dword [edi + 0x18]
mulss xmm0, dword [0x456474]
movss xmm1, dword [edi + 0x4150]
subss xmm1, xmm0
maxss xmm1, dword [0x456340]
movss dword [edi + 0x4150], xmm1
movups xmm0, xmmword [edi + 0x51e4]
mov dword [edi + 0x4154], 0
mov dword [edi + 0x54bc], 0xffffffff
mov dword [edi + 0x54b8], 0xffffffff
mov dword [edi + 0x54b4], 0xffffffff
movups xmmword [edi + 0x51f4], xmm0
mov byte [edi + 0x51e4], 0
call fcn.00406990
mov eax, dword [edi + 0x3de8]
cmp dword [edi + 0x3df4], eax
jle 0x407d73
push 0x115d
push 0x44a3d0
push str.g.WindowsFocusOrder.Size___g.Windows.Size
call ebx
mov eax, dword [edi + 0x3de8]
add esp, 0xc
cmp byte [edi + 0x3ddf], 0
jne 0x407d9f
movss xmm0, dword [edi + 0x60]
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x407d9f
movsd xmm1, qword [edi + 0x3dc8]
cvtpd2ps xmm1, xmm1
subss xmm1, xmm0
movss dword [esp + 0x20], xmm1
xor esi, esi
mov dword [esp + 0x30], esi
test eax, eax
je 0x407f5a
nop dword [eax]
test esi, esi
js 0x407db8
cmp esi, eax
jl 0x407dcc
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
add esp, 0xc
mov eax, dword [edi + 0x3df0]
xor ecx, ecx
mov esi, dword [eax + esi*4]
mov al, byte [esi + 0x8e]
mov byte [esi + 0x8f], al
mov word [esi + 0x9a], cx
mov byte [esi + 0x8e], cl
mov byte [esi + 0x90], cl
test al, al
jne 0x407f43
cmp byte [esi + 0x32c], cl
jne 0x407f43
movss xmm0, dword [esp + 0x20]
comiss xmm0, dword [esi + 0x224]
jbe 0x407f43
mov ecx, dword [esi + 0x24c]
mov byte [esi + 0x32c], 1
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x324], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x328], eax
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x407e7b
mov eax, dword [0x471270]
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc8], 0
test eax, eax
je 0x407e69
dec dword [eax + 0xa8]
push ecx
call dword [esp + 0x1c]
add esp, 4
mov dword [esi + 0xd0], 0
mov ecx, dword [esi + 0x24c]
call fcn.004223e0
mov ecx, dword [esi + 0x170]
test ecx, ecx
je 0x407ec5
mov eax, dword [0x471270]
mov dword [esi + 0x16c], 0
mov dword [esi + 0x168], 0
test eax, eax
je 0x407eb3
dec dword [eax + 0xa8]
push ecx
call dword [esp + 0x1c]
add esp, 4
mov dword [esi + 0x170], 0
mov ecx, dword [esi + 0x198]
test ecx, ecx
je 0x407f04
mov eax, dword [0x471270]
mov dword [esi + 0x194], 0
mov dword [esi + 0x190], 0
test eax, eax
je 0x407ef2
dec dword [eax + 0xa8]
push ecx
call dword [esp + 0x1c]
add esp, 4
mov dword [esi + 0x198], 0
mov ecx, dword [esi + 0x1a4]
test ecx, ecx
je 0x407f43
mov eax, dword [0x471270]
mov dword [esi + 0x1a0], 0
mov dword [esi + 0x19c], 0
test eax, eax
je 0x407f31
dec dword [eax + 0xa8]
push ecx
call dword [esp + 0x1c]
add esp, 4
mov dword [esi + 0x1a4], 0
mov esi, dword [esp + 0x30]
mov eax, dword [edi + 0x3de8]
inc esi
mov dword [esp + 0x30], esi
cmp esi, eax
jne 0x407db0
mov eax, dword [edi + 0x422c]
xor esi, esi
test eax, eax
jle 0x408022
xor ecx, ecx
mov dword [esp + 0x1c], ecx
test esi, esi
js 0x407f78
cmp esi, eax
jl 0x407f90
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [edi + 0x4234]
movss xmm0, dword [eax + esi*4]
comiss xmm0, dword [0x456340]
jb 0x408009
test esi, esi
js 0x407fb0
cmp esi, dword [edi + 0x422c]
jl 0x407fc4
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
add esp, 0xc
mov eax, dword [edi + 0x4234]
movss xmm0, dword [esp + 0x20]
comiss xmm0, dword [eax + esi*4]
jbe 0x408005
test esi, esi
js 0x407fe2
cmp esi, dword [edi + 0x420c]
jl 0x407ff6
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
add esp, 0xc
mov ecx, dword [edi + 0x4214]
add ecx, dword [esp + 0x1c]
call fcn.0042b070
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x422c]
inc esi
add ecx, 0x1d8
mov dword [esp + 0x1c], ecx
cmp esi, eax
jl 0x407f70
mov eax, dword [edi + 0x4200]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
test eax, eax
jle 0x40810b
xor esi, esi
mov dword [esp + 0x28], esi
nop dword [eax]
test ecx, ecx
js 0x408048
cmp ecx, eax
jl 0x408060
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [edi + 0x4208]
movss xmm0, dword [esi + eax + 4]
comiss xmm0, dword [0x456340]
jb 0x4080f1
test ecx, ecx
js 0x408085
cmp ecx, dword [edi + 0x4200]
jl 0x40809d
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [edi + 0x4208]
movss xmm0, dword [esp + 0x20]
comiss xmm0, dword [esi + eax + 4]
jbe 0x4080f1
test ecx, ecx
js 0x4080bc
cmp ecx, dword [edi + 0x4200]
jl 0x4080d0
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
add esp, 0xc
mov esi, dword [edi + 0x4208]
add esi, dword [esp + 0x28]
lea ecx, [esi + 0x10]
call fcn.00425220
mov ecx, dword [esp + 0x1c]
mov dword [esi + 4], 0xbf800000
mov esi, dword [esp + 0x28]
mov eax, dword [edi + 0x4200]
inc ecx
add esi, 0x68
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], esi
cmp ecx, eax
jl 0x408040
cmp byte [edi + 0x3ddf], 0
je 0x40819d
mov eax, dword [0x471270]
mov esi, eax
mov ecx, dword [esi + 0x3fb0]
test ecx, ecx
je 0x40815e
mov dword [esi + 0x3fac], 0
mov dword [esi + 0x3fa8], 0
test esi, esi
je 0x408147
dec dword [esi + 0xa8]
push ecx
call dword [esp + 0x1c]
mov eax, dword [0x471270]
add esp, 4
mov dword [esi + 0x3fb0], 0
mov ecx, dword [esi + 0x3fbc]
test ecx, ecx
je 0x408198
mov dword [esi + 0x3fb8], 0
mov dword [esi + 0x3fb4], 0
test eax, eax
je 0x408186
dec dword [eax + 0xa8]
push ecx
call dword [esp + 0x1c]
add esp, 4
mov dword [esi + 0x3fbc], 0
call fcn.0042b210
mov eax, dword [edi + 0x3fe8]
mov byte [edi + 0x3ddf], 0
test eax, eax
je 0x4081be
cmp byte [eax + 0x8f], 0
jne 0x4081be
xor ecx, ecx
call fcn.00410310
mov ecx, dword [edi + 0x3e10]
test ecx, ecx
jns 0x4081e4
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 + 0x3e0c]
call fcn.0041a8c0
mov dword [edi + 0x3e0c], 0
mov ecx, dword [edi + 0x3fd0]
test ecx, ecx
jns 0x408214
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 + 0x3fcc]
call fcn.0041a840
mov dword [edi + 0x3fcc], 0
mov ecx, dword [edi + 0x3fac]
test ecx, ecx
jns 0x408244
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 + 0x3fa8]
call fcn.0041a3b0
lea eax, [esp + 0x38]
mov dword [edi + 0x3fa8], 0
push eax
lea ecx, [edi + 0x3fa8]
mov dword [esp + 0x3c], 0
call fcn.0041a180
push 0
lea ecx, [edi + 0x3fb4]
call fcn.0041a0d0
mov ecx, dword [0x471270]
cmp byte [ecx + 0x5290], 0
mov dword [ecx + 0x5294], 0
je 0x4083d7
mov esi, dword [ecx + 0x3e58]
xorps xmm4, xmm4
mov dword [ecx + 0x4154], 7
movss xmm0, dword [ecx + 0x2ea4]
comiss xmm4, xmm0
ja 0x40832c
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x408325
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x40832c
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x408325
comiss xmm1, xmm0
jae 0x40832c
comiss xmm4, xmm3
jb 0x4082f3
comiss xmm2, xmm1
jbe 0x40832c
comiss xmm0, xmm2
jb 0x40832c
jmp 0x408325
comiss xmm2, xmm1
jbe 0x4082fd
or edx, 0xffffffff
jmp 0x408309
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si edx, xmm1
comiss xmm2, xmm0
jbe 0x408313
or eax, 0xffffffff
jmp 0x40831f
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, edx
test eax, eax
jle 0x40832c
mov byte [ecx + 0x5290], 0
movss xmm0, dword [ecx + 0x36a0]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x40834e
test esi, esi
je 0x40834e
mov dword [ecx + 0x5294], esi
mov byte [ecx + 0x5290], 0
or dword [ecx + 0x3f18], 0x40
mov dword [ecx + 0x3f6c], 0x3f19999a
xor ecx, ecx
call fcn.00412600
push esi
push str.HoveredId:_0x_08X
call fcn.0042c2a0
push str.Press_ESC_to_abort_picking.
call fcn.0042c2a0
add esp, 0xc
xor ecx, ecx
mov eax, 0x10
test esi, esi
cmove ecx, eax
mov eax, dword [0x471270]
add eax, 0x3878
add eax, ecx
push str.Click_to_break_in_debugger_
push eax
call fcn.0042c390
mov eax, dword [0x471270]
add esp, 8
mov eax, dword [eax + 0x3e30]
test dword [eax + 8], 0x2000000
jne 0x4083cc
push 0x233d
push 0x44a3d0
push str.GetCurrentWindowRead____Flags__ImGuiWindowFlags_Tooltip
call ebx
add esp, 0xc
call fcn.0040fa70
mov ecx, dword [0x471270]
mov esi, ecx
mov dword [esi + 0x3e50], 0
mov eax, dword [esi + 0x52a8]
inc eax
cmp dword [esi + 0x3dd0], eax
jne 0x40851c
mov eax, dword [esi + 0x3e58]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x40840e
mov eax, dword [esi + 0x3e68]
mov dword [esp + 0x20], eax
cmp dword [esi + 0x52b0], eax
je 0x408471
lea edx, [esi + 0x52b4]
mov dword [esi + 0x52b0], eax
mov dword [esi + 0x52ac], 0xffffffff
mov edi, dword [edx + 4]
test edi, edi
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x24]
jge 0x40846b
mov eax, dword [esp + 0x38]
xor ecx, ecx
cdq
sub eax, edx
sar eax, 1
add eax, dword [esp + 0x38]
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x52b4]
call fcn.0041a9b0
mov ecx, dword [0x471270]
lea edx, [esi + 0x52b4]
mov eax, dword [esp + 0x20]
mov dword [edx], 0
test eax, eax
je 0x40851c
mov edx, dword [esi + 0x52ac]
test edx, edx
js 0x4084ac
cmp edx, dword [esi + 0x52b4]
jge 0x4084ac
mov eax, dword [esi + 0x52bc]
lea edx, [edx + edx*8]
cmp byte [eax + edx*8 + 5], 0
jne 0x4084a2
cmp byte [eax + edx*8 + 4], 2
jle 0x4084a8
inc dword [esi + 0x52ac]
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 0x52ac]
cmp edx, 0xffffffff
jne 0x4084bf
mov dword [esi + 0x3e50], eax
jmp 0x40851c
test edx, edx
js 0x40851c
cmp edx, dword [esi + 0x52b4]
jge 0x40851c
lea eax, [edx + edx*8]
shl eax, 3
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x52bc]
mov edi, dword [esp + 0x30]
mov eax, dword [edi + eax]
mov edi, dword [esp + 0x24]
mov dword [esi + 0x3e50], eax
cmp edx, dword [esi + 0x52b4]
jl 0x40850e
push 0x703
push 0x44a2c8
push str.i___0__i___Size
call ebx
mov ecx, dword [0x471270]
add esp, 0xc
mov eax, dword [esi + 0x52bc]
mov edx, dword [esp + 0x30]
inc byte [eax + edx + 4]
movss xmm0, dword [0x4564d8]
xor edx, edx
mov byte [edi + 0x3ddd], 1
or dword [ecx + 0x3f18], 2
movss dword [ecx + 0x3f38], xmm0
movss dword [ecx + 0x3f3c], xmm0
mov dword [ecx + 0x3f20], 4
mov ecx, str.DebugDefault
push 0
call fcn.0040d1b0
mov eax, dword [edi + 0x3e30]
add esp, 4
cmp byte [eax + 0x96], 1
je 0x408580
push 0x118d
push 0x44a3d0
push str.g.CurrentWindow__IsFallbackWindow__true
call ebx
add esp, 0xc
mov edx, 1
mov ecx, edi
call fcn.00405d00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret