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

Disassembly:
sub esp, 0xe4
mov eax, dword [0x10091c88]
xor eax, esp
mov dword [esp + 0xe0], eax
mov ecx, dword [0x10092748]
push ebx
mov ebx, dword [esp + 0xf4]
push ebp
mov eax, dword [ecx + 0x3e60]
mov ebp, dword [esp + 0xf4]
push edi
mov edi, dword [esp + 0xf4]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e60]
mov dword [esp + 0x44], edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], eax
cmp byte [eax + 0xaf], 0
je 0x10048d34
pop edi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.10073896
add esp, 0xe4
ret
push esi
mov esi, dword [0x10092748]
call fcn.100120f0
fstp dword [esp + 0x6c]
call fcn.1000c690
fstp dword [esp + 0x70]
test bl, 0x10
je 0x10048d57
xorps xmm0, xmm0
jmp 0x10048d65
movss xmm0, dword [esp + 0x6c]
addss xmm0, dword [esi + 0x37dc]
movss xmm1, dword [esp + 0x70]
subss xmm1, xmm0
movss dword [esp + 0x40], xmm0
push 0
push edi
movss dword [esp + 0x44], xmm1
call fcn.100115f0
mov dword [esp + 0x4c], eax
mov dword [esi + 0x46c0], 0
mov dword [esi + 0x46c4], 0
call fcn.1000bd60
push edi
call fcn.1001d410
mov eax, dword [esi + 0x5a14]
add esp, 0xc
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov dword [esp + 0x8c], eax
test eax, eax
jne 0x10048dfb
mov eax, dword [esp + 0x20]
cmp dword [eax + 0xe4], 0
jg 0x10048de5
push 0x737
push str.D:Projectm2extLibrariesimguiimgui.h
push str.Size___0
call edi
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [eax + 0xe4]
mov eax, dword [eax + 0xec]
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x5a14], eax
mov dword [esp + 0x84], ebx
test ebx, 0x20
je 0x10048e16
and ebx, 0xff9fffff
or ebx, 0x100008
test bl, 8
jne 0x10048e25
push ebx
push ebp
call fcn.10049b70
add esp, 8
mov ecx, dword [esi + 0x5a10]
test ebx, 0x700000
jne 0x10048e3c
mov eax, ecx
and eax, 0x700000
or ebx, eax
test ebx, 0x1800000
jne 0x10048e4d
mov eax, ecx
and eax, 0x1800000
or ebx, eax
test ebx, 0x6000000
jne 0x10048e5e
mov eax, ecx
and eax, 0x6000000
or ebx, eax
test ebx, 0x18000000
jne 0x10048e6f
mov eax, ecx
and eax, 0x18000000
or ebx, eax
and ecx, 0xe00fffff
or ebx, ecx
mov ecx, ebx
mov dword [esp + 0x60], ebx
and ecx, 0x700000
je 0x10048e8c
lea eax, [ecx - 1]
test ecx, eax
je 0x10048ea0
push 0x141f
push str.D:Projectm2extLibrariesimguiimgui_widgets.cpp
push str.ImIsPowerOfTwo_flags__ImGuiColorEditFlags_DisplayMask__
call edi
add esp, 0xc
mov ecx, ebx
and ecx, 0x18000000
je 0x10048eb1
lea eax, [ecx - 1]
test ecx, eax
je 0x10048ec5
push 0x1420
push str.D:Projectm2extLibrariesimguiimgui_widgets.cpp
push str.ImIsPowerOfTwo_flags__ImGuiColorEditFlags_InputMask__
call edi
add esp, 0xc
movss xmm0, dword [ebp]
mov edx, ebx
movss xmm2, dword [ebp + 4]
mov eax, ebx
movss xmm3, dword [ebp + 8]
movss xmm1, dword [0x10078258]
shr edx, 1
not dl
shr eax, 0x13
and edx, 0xffffff01
movss dword [esp + 0x90], xmm0
movzx ecx, dl
and eax, 0xffffff01
add ecx, 3
mov dword [esp + 0x34], edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x14], ecx
movss dword [esp + 0x94], xmm2
movss dword [esp + 0x98], xmm3
movss dword [esp + 0x68], xmm1
test dl, dl
je 0x10048f2e
movss xmm1, dword [ebp + 0xc]
mov eax, ebx
movss dword [esp + 0x9c], xmm1
and eax, 0x10100000
mov dword [esp + 0x88], eax
cmp eax, 0x10100000
jne 0x10048f82
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x98]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call fcn.1000dd60
add esp, 0x18
jmp 0x10048fe2
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1004900a
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x98]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call fcn.1000def0
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xb0]
push eax
push ebp
call fcn.10049f90
add esp, 0x28
mov ecx, dword [esp + 0x14]
movss xmm0, dword [esp + 0x90]
movss xmm2, dword [esp + 0x94]
movss xmm3, dword [esp + 0x98]
movss xmm1, dword [esp + 0x9c]
movss xmm5, dword [0x10087b5c]
xorps xmm4, xmm4
comiss xmm0, xmm4
movss xmm4, dword [0x10078250]
jb 0x10049027
movaps xmm7, xmm4
jmp 0x1004902a
movaps xmm7, xmm5
movss xmm6, dword [0x1007f434]
mulss xmm0, xmm6
addss xmm0, xmm7
xorps xmm7, xmm7
comiss xmm2, xmm7
cvttss2si eax, xmm0
mov dword [esp + 0xa0], eax
jb 0x10049052
movaps xmm0, xmm4
jmp 0x10049055
movaps xmm0, xmm5
comiss xmm3, xmm7
mulss xmm2, xmm6
addss xmm2, xmm0
cvttss2si eax, xmm2
mov dword [esp + 0xa4], eax
jb 0x10049072
movaps xmm0, xmm4
jmp 0x10049075
movaps xmm0, xmm5
comiss xmm1, xmm7
mulss xmm3, xmm6
addss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [esp + 0xa8], eax
jae 0x10049090
movaps xmm4, xmm5
mov edx, dword [esp + 0x20]
mulss xmm1, xmm6
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
addss xmm1, xmm4
cvttss2si eax, xmm1
mov dword [esp + 0xac], eax
cmp dword [esi + 0x381c], 0
movss xmm2, dword [edx + 0xf0]
movss xmm3, dword [edx + 0xf4]
movss dword [esp + 0x30], xmm2
movss dword [esp + 0x38], xmm3
jne 0x100490de
movss xmm1, dword [esp + 0x40]
jmp 0x100490e1
xorps xmm1, xmm1
movaps xmm0, xmm2
mov ebp, ebx
addss xmm0, xmm1
and ebp, 0x20
mov dword [esp + 0x64], ebp
movss dword [edx + 0xf0], xmm0
test ebx, 0x300000
je 0x100493fe
test ebp, ebp
jne 0x100493fe
movss xmm2, dword [esi + 0x37dc]
lea eax, [ecx - 1]
movss xmm1, dword [esp + 0x3c]
movaps xmm0, xmm2
movd xmm3, eax
mov ebp, ebx
cvtdq2ps xmm3, xmm3
push ecx
mov dword [esp], 0xbf800000
and ebp, 0x1000000
push 0
push 0
mulss xmm0, xmm3
subss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov ecx, str.M:000
divss xmm1, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [0x10078258]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
movss xmm0, dword [esp + 0x48]
addss xmm2, xmm1
movss dword [esp + 0x38], xmm1
movss xmm1, dword [0x10078258]
mulss xmm2, xmm3
subss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, str.M:0.000
cvtdq2ps xmm0, xmm0
cmove eax, ecx
push eax
lea eax, [esp + 0x28]
push eax
maxss xmm1, xmm0
movss dword [esp + 0x70], xmm1
call fcn.1000cb20
movss xmm1, dword [esp + 0x40]
add esp, 0x14
movss xmm0, dword [eax]
comiss xmm0, xmm1
jb 0x100491c9
xor eax, eax
jmp 0x100491d7
mov eax, ebx
and eax, 0x200000
neg eax
sbb eax, eax
neg eax
inc eax
xor edi, edi
cmp dword [esp + 0x14], edi
jbe 0x100493f7
shl eax, 4
test ebp, ebp
je 0x100492fa
mov ecx, ebx
lea eax, [eax + 0x10090058]
mov bl, byte [esp + 0x12]
and ecx, 8
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
nop dword [eax]
test edi, edi
je 0x1004923e
movss xmm0, dword [esi + 0x37dc]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.10020650
movss xmm1, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x14]
lea ebp, [edi + 1]
cmp ebp, eax
jge 0x1004924a
movaps xmm0, xmm1
jmp 0x10049250
movss xmm0, dword [esp + 0x5c]
push ecx
movss dword [esp], xmm0
call fcn.10021c30
add esp, 4
cmp byte [esp + 0x58], 0
je 0x1004926a
xorps xmm0, xmm0
jmp 0x10049272
movss xmm0, dword [0x10078258]
mov eax, dword [esp + 0x24]
push 0
movss dword [esp + 0x50], xmm0
mov dword [esp + 0x54], 0
push dword [eax]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x5c]
push eax
push ecx
lea eax, [esp + 0xa4]
mov dword [esp], 0x3b808081
lea eax, [eax + edi*4]
push eax
push 8
push dword [edi*4 + 0x10090018]
call fcn.1004de50
or bl, al
add esp, 0x20
or byte [esp + 0x13], bl
cmp dword [esp + 0x18], 0
jne 0x100492d2
push 1
push str.context
call fcn.1001ca00
add esp, 8
add dword [esp + 0x24], 4
mov edi, ebp
mov eax, dword [esp + 0x14]
movss xmm1, dword [esp + 0x2c]
cmp edi, eax
jl 0x10049210
mov byte [esp + 0x12], bl
xor edi, edi
mov ebx, dword [esp + 0x60]
jmp 0x100495f1
xor edx, edx
lea eax, [eax + 0x10090028]
xor edi, edi
mov dword [esp + 0x24], eax
cmp byte [esp + 0x58], dl
mov ecx, 0xff
mov eax, dword [esp + 0x14]
cmovne ecx, edx
mov dword [esp + 0x18], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ecx, 8
mov dword [esp + 0x4c], ecx
nop dword [eax]
test edi, edi
jle 0x1004935e
movss xmm0, dword [esi + 0x37dc]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.10020650
movss xmm1, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x14]
lea ebp, [edi + 1]
cmp ebp, eax
jge 0x1004936a
movaps xmm0, xmm1
jmp 0x10049370
movss xmm0, dword [esp + 0x5c]
push ecx
movss dword [esp], xmm0
call fcn.10021c30
mov eax, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], 0
push 0
push dword [eax]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x5c]
push eax
push ecx
lea eax, [esp + 0xb4]
mov dword [esp], 0x3f800000
lea eax, [eax + edi*4]
push eax
push 4
push dword [edi*4 + 0x10090018]
call fcn.1004de50
or byte [esp + 0x32], al
add esp, 0x20
cmp dword [esp + 0x4c], 0
jne 0x100493da
push 1
push str.context
call fcn.1001ca00
add esp, 8
add dword [esp + 0x24], 4
mov edi, ebp
mov eax, dword [esp + 0x14]
movss xmm1, dword [esp + 0x2c]
cmp edi, eax
jl 0x10049330
mov ebx, dword [esp + 0x60]
xor edi, edi
jmp 0x100495f1
mov eax, ebx
mov edi, ebp
and eax, 0x400020
cmp eax, 0x400000
jne 0x10049601
cmp byte [esp + 0x34], 0
mov eax, 0xff
je 0x10049492
mov ebp, dword [esp + 0xa0]
test ebp, ebp
jns 0x1004942d
xor ebp, ebp
jmp 0x10049432
cmp ebp, eax
cmovg ebp, eax
mov edi, dword [esp + 0xa4]
test edi, edi
jns 0x10049441
xor edi, edi
jmp 0x10049446
cmp edi, eax
cmovg edi, eax
mov edx, dword [esp + 0xa8]
test edx, edx
jns 0x10049455
xor edx, edx
jmp 0x1004945a
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0xac]
test ecx, ecx
jns 0x10049469
xor ecx, ecx
jmp 0x1004946e
cmp ecx, eax
cmovg ecx, eax
push ecx
push edx
push edi
push ebp
push 0x10087168
lea eax, [esp + 0xc4]
push 0x40
push eax
call fcn.10013540
mov ebp, dword [esp + 0x80]
add esp, 0x1c
jmp 0x100494e8
mov edi, dword [esp + 0xa4]
test edi, edi
jns 0x100494a1
xor edi, edi
jmp 0x100494a6
cmp edi, eax
cmovg edi, eax
mov edx, dword [esp + 0xa0]
test edx, edx
jns 0x100494b5
xor edx, edx
jmp 0x100494ba
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jns 0x100494c9
xor ecx, ecx
jmp 0x100494ce
cmp ecx, eax
cmovg ecx, eax
push ecx
push edi
push edx
push 0x1008717c
lea eax, [esp + 0xc0]
push 0x40
push eax
call fcn.10013540
add esp, 0x18
movss xmm4, dword [esp + 0x3c]
push ecx
movss dword [esp], xmm4
call fcn.10021c30
push 0
push 0
push 6
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push 0x40
lea eax, [esp + 0xc8]
mov dword [esp + 0x34], 0
push eax
push 0
push str.Text
call fcn.1004f170
add esp, 0x24
test al, al
je 0x100495db
mov byte [esp + 0x12], 1
lea ecx, [esp + 0xb0]
mov al, byte [ecx]
cmp al, 0x23
je 0x1004954f
cmp al, 0x20
je 0x1004954f
cmp al, 9
jne 0x10049552
inc ecx
jmp 0x10049541
cmp byte [esp + 0x34], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xac], 0xff
je 0x100495b5
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xac]
push eax
push str._02X_02X_02X_02X
push ecx
call fcn.10028150
add esp, 0x18
jmp 0x100495db
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xa8]
push eax
push str._02X_02X_02X
push ecx
call fcn.10028150
add esp, 0x14
mov edi, ebp
test bl, 8
jne 0x100495f1
push 1
push str.context
call fcn.1001ca00
add esp, 8
movss xmm2, dword [esp + 0x30]
movss xmm3, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
xor ebp, ebp
test bl, 0x10
jne 0x10049802
mov edi, dword [esp + 0x64]
test edi, edi
jne 0x1004962c
cmp dword [esi + 0x381c], ebp
je 0x1004962c
movss xmm1, dword [esp + 0x3c]
addss xmm1, dword [esi + 0x37dc]
jmp 0x1004962f
xorps xmm1, xmm1
cmp byte [esp + 0x34], 0
movaps xmm0, xmm2
mov eax, dword [esp + 0x28]
addss xmm0, xmm1
movss dword [edx + 0xf4], xmm3
movss dword [edx + 0xf0], xmm0
je 0x1004965c
movss xmm0, dword [eax + 0xc]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [eax]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [eax + 8]
lea eax, [esp + 0x18]
push eax
push ebx
lea eax, [esp + 0x7c]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x70]
push eax
push str.ColorButton
movss dword [esp + 0x90], xmm0
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
call fcn.10048710
add esp, 0x10
test al, al
je 0x10049716
test bl, 4
jne 0x10049716
movups xmm0, xmmword [esp + 0x74]
push 0
push str.picker
movups xmmword [esi + 0x5a28], xmm0
call fcn.1001c750
movss xmm0, dword [esi + 0x46ec]
lea eax, [esp + 0x20]
xorps xmm4, xmm4
mov dword [esp + 0x20], ebp
addss xmm0, xmm4
mov dword [esp + 0x24], ebp
push eax
lea eax, [esp + 0x5c]
push 0
push eax
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esi + 0x37d8]
addss xmm0, dword [esi + 0x46f8]
movss dword [esp + 0x68], xmm0
call fcn.10021c50
add esp, 0x14
test bl, 8
jne 0x1004972a
push 1
push str.context
call fcn.1001ca00
add esp, 8
push 0
push str.picker
call fcn.1000bed0
add esp, 8
test al, al
je 0x10049802
mov eax, dword [esi + 0x3e60]
cmp word [eax + 0xb6], 1
jne 0x100497fd
mov ecx, dword [esp + 0x44]
mov ebp, eax
mov eax, dword [esp + 0x48]
cmp eax, ecx
je 0x100497b6
push 0
push ecx
push eax
call fcn.100588f0
mov ecx, dword [0x10092748]
add esp, 0xc
mov eax, dword [ecx + 0x3e60]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e60]
cmp byte [eax + 0xaf], 0
jne 0x100497b6
push ecx
lea eax, [esp + 0x1c]
mov dword [esp], 0xbf800000
push eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.10016ae0
add esp, 8
movss xmm0, dword [esp + 0x6c]
mulss xmm0, dword [0x1007828c]
push ecx
movss dword [esp], xmm0
call fcn.10021c30
lea eax, [esi + 0x5a28]
push eax
mov eax, dword [esp + 0x8c]
and eax, 0x1f890002
or eax, 0x740080
push eax
push dword [esp + 0x34]
push 0x10077484
call fcn.1004a080
add esp, 0x14
or byte [esp + 0x12], al
call fcn.10010660
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x48], eax
je 0x1004986e
test bl, bl
js 0x1004986e
movss xmm0, dword [esi + 0x37dc]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.10020650
add esp, 8
test edi, edi
je 0x1004983c
movss xmm0, dword [esp + 0x40]
jmp 0x1004984a
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [esi + 0x37dc]
addss xmm0, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push 0
push dword [esp + 0x48]
push dword [esp + 0x50]
movss dword [eax + 0xf0], xmm0
call fcn.100588f0
add esp, 0xc
cmp byte [esp + 0x12], 0
je 0x10049a25
test ebp, ebp
jne 0x10049a25
cmp byte [esp + 0x13], 0
jne 0x100498a2
movups xmm0, xmmword [esp + 0xa0]
cvtdq2ps xmm0, xmm0
divps xmm0, xmmword [0x10087b90]
movups xmmword [esp + 0x90], xmm0
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x10049985
movss xmm0, dword [esp + 0x90]
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x98]
movss dword [esi + 0x5a1c], xmm0
movss xmm0, dword [esp + 0x98]
push eax
lea eax, [esp + 0x98]
movss dword [esi + 0x5a20], xmm0
movss xmm0, dword [esp + 0xa0]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0xac]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0xa8]
movss dword [esp], xmm0
call fcn.1000dd60
mov eax, dword [esi + 0x5a14]
mov dword [esi + 0x5a18], eax
lea eax, [esp + 0x8c]
movss xmm0, dword [esp + 0xa8]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0xac]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0xb0]
push eax
movss dword [esp + 0x98], xmm0
mov dword [esp + 0x9c], 0
call fcn.1000dca0
add esp, 0x1c
mov dword [esi + 0x5a24], eax
cmp dword [esp + 0x88], 0x10100000
jne 0x100499e1
movss xmm0, dword [esp + 0x98]
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x98]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0xac]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0xa8]
movss dword [esp], xmm0
call fcn.1000def0
add esp, 0x18
cmp byte [esp + 0x34], 0
mov edi, dword [esp + 0x28]
movss xmm0, dword [esp + 0x90]
movss dword [edi], xmm0
movss xmm0, dword [esp + 0x94]
movss dword [edi + 4], xmm0
movss xmm0, dword [esp + 0x98]
movss dword [edi + 8], xmm0
je 0x10049a29
movss xmm0, dword [esp + 0x9c]
movss dword [edi + 0xc], xmm0
jmp 0x10049a29
mov edi, dword [esp + 0x28]
cmp dword [esp + 0x8c], 0
jne 0x10049a3d
mov dword [esi + 0x5a14], 0
call fcn.1001ce00
call fcn.100103d0
test byte [esi + 0x46e8], 1
je 0x10049b12
test ebx, 0x200
jne 0x10049b12
call fcn.1000bc90
test al, al
je 0x10049b12
push 0
push str._COL3F
mov byte [esp + 0x1b], 0
call fcn.10008470
add esp, 8
test eax, eax
je 0x10049a9f
mov eax, dword [eax]
mov byte [esp + 0x13], 1
mov byte [esp + 0x12], 1
movq xmm0, qword [eax]
movq qword [edi], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
push 0
push str._COL4F
call fcn.10008470
add esp, 8
test eax, eax
je 0x10049acc
mov ecx, dword [esp + 0x14]
shl ecx, 2
push ecx
push dword [eax]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esp + 0x12], 1
jmp 0x10049ad3
cmp byte [esp + 0x13], 0
je 0x10049b0d
test ebx, 0x10000000
je 0x10049b0d
movss xmm0, dword [edi + 8]
lea ecx, [edi + 8]
push ecx
lea eax, [edi + 4]
push eax
push edi
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi]
movss dword [esp], xmm0
call fcn.1000def0
add esp, 0x18
call fcn.1000ff30
test ebp, ebp
je 0x10049b2e
mov eax, dword [esi + 0x3eac]
test eax, eax
je 0x10049b2e
cmp dword [esi + 0x3ec8], ebp
jne 0x10049b2e
mov dword [esi + 0x46e0], eax
mov bl, byte [esp + 0x12]
test bl, bl
je 0x10049b49
mov ecx, dword [esi + 0x46e0]
test ecx, ecx
je 0x10049b49
push ecx
call fcn.10017460
add esp, 4
mov ecx, dword [esp + 0xf0]
mov al, bl
pop esi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.10073896
add esp, 0xe4
ret