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

Disassembly:
sub esp, 0xe4
mov eax, dword [0x1008d470]
xor eax, esp
mov dword [esp + 0xe0], eax
mov ecx, dword [0x1008df28]
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 0x10047334
pop edi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.10071a96
add esp, 0xe4
ret
push esi
mov esi, dword [0x1008df28]
call fcn.10010720
fstp dword [esp + 0x6c]
call fcn.1000acc0
fstp dword [esp + 0x70]
test bl, 0x10
je 0x10047357
xorps xmm0, xmm0
jmp 0x10047365
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.1000fc20
mov dword [esp + 0x4c], eax
mov dword [esi + 0x46c0], 0
mov dword [esi + 0x46c4], 0
call fcn.1000a390
push edi
call fcn.1001ba30
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 0x100473fb
mov eax, dword [esp + 0x20]
cmp dword [eax + 0xe4], 0
jg 0x100473e5
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 0x10047416
and ebx, 0xff9fffff
or ebx, 0x100008
test bl, 8
jne 0x10047425
push ebx
push ebp
call fcn.10048170
add esp, 8
mov ecx, dword [esi + 0x5a10]
test ebx, 0x700000
jne 0x1004743c
mov eax, ecx
and eax, 0x700000
or ebx, eax
test ebx, 0x1800000
jne 0x1004744d
mov eax, ecx
and eax, 0x1800000
or ebx, eax
test ebx, 0x6000000
jne 0x1004745e
mov eax, ecx
and eax, 0x6000000
or ebx, eax
test ebx, 0x18000000
jne 0x1004746f
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 0x1004748c
lea eax, [ecx - 1]
test ecx, eax
je 0x100474a0
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 0x100474b1
lea eax, [ecx - 1]
test ecx, eax
je 0x100474c5
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 [0x10076240]
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 0x1004752e
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 0x10047582
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.1000c390
add esp, 0x18
jmp 0x100475e2
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1004760a
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.1000c520
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xb0]
push eax
push ebp
call fcn.10048590
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 [0x10085b3c]
xorps xmm4, xmm4
comiss xmm0, xmm4
movss xmm4, dword [0x10076238]
jb 0x10047627
movaps xmm7, xmm4
jmp 0x1004762a
movaps xmm7, xmm5
movss xmm6, dword [0x1007d414]
mulss xmm0, xmm6
addss xmm0, xmm7
xorps xmm7, xmm7
comiss xmm2, xmm7
cvttss2si eax, xmm0
mov dword [esp + 0xa0], eax
jb 0x10047652
movaps xmm0, xmm4
jmp 0x10047655
movaps xmm0, xmm5
comiss xmm3, xmm7
mulss xmm2, xmm6
addss xmm2, xmm0
cvttss2si eax, xmm2
mov dword [esp + 0xa4], eax
jb 0x10047672
movaps xmm0, xmm4
jmp 0x10047675
movaps xmm0, xmm5
comiss xmm1, xmm7
mulss xmm3, xmm6
addss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [esp + 0xa8], eax
jae 0x10047690
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 0x100476de
movss xmm1, dword [esp + 0x40]
jmp 0x100476e1
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 0x100479fe
test ebp, ebp
jne 0x100479fe
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 [0x10076240]
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 [0x10076240]
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.1000b150
movss xmm1, dword [esp + 0x40]
add esp, 0x14
movss xmm0, dword [eax]
comiss xmm0, xmm1
jb 0x100477c9
xor eax, eax
jmp 0x100477d7
mov eax, ebx
and eax, 0x200000
neg eax
sbb eax, eax
neg eax
inc eax
xor edi, edi
cmp dword [esp + 0x14], edi
jbe 0x100479f7
shl eax, 4
test ebp, ebp
je 0x100478fa
mov ecx, ebx
lea eax, [eax + 0x1008d058]
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 0x1004783e
movss xmm0, dword [esi + 0x37dc]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.1001ec70
movss xmm1, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x14]
lea ebp, [edi + 1]
cmp ebp, eax
jge 0x1004784a
movaps xmm0, xmm1
jmp 0x10047850
movss xmm0, dword [esp + 0x5c]
push ecx
movss dword [esp], xmm0
call fcn.10020260
add esp, 4
cmp byte [esp + 0x58], 0
je 0x1004786a
xorps xmm0, xmm0
jmp 0x10047872
movss xmm0, dword [0x10076240]
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 + 0x1008d018]
call fcn.1004c440
or bl, al
add esp, 0x20
or byte [esp + 0x13], bl
cmp dword [esp + 0x18], 0
jne 0x100478d2
push 1
push str.context
call fcn.1001b020
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 0x10047810
mov byte [esp + 0x12], bl
xor edi, edi
mov ebx, dword [esp + 0x60]
jmp 0x10047bf1
xor edx, edx
lea eax, [eax + 0x1008d028]
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 0x1004795e
movss xmm0, dword [esi + 0x37dc]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.1001ec70
movss xmm1, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x14]
lea ebp, [edi + 1]
cmp ebp, eax
jge 0x1004796a
movaps xmm0, xmm1
jmp 0x10047970
movss xmm0, dword [esp + 0x5c]
push ecx
movss dword [esp], xmm0
call fcn.10020260
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 + 0x1008d018]
call fcn.1004c440
or byte [esp + 0x32], al
add esp, 0x20
cmp dword [esp + 0x4c], 0
jne 0x100479da
push 1
push str.context
call fcn.1001b020
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 0x10047930
mov ebx, dword [esp + 0x60]
xor edi, edi
jmp 0x10047bf1
mov eax, ebx
mov edi, ebp
and eax, 0x400020
cmp eax, 0x400000
jne 0x10047c01
cmp byte [esp + 0x34], 0
mov eax, 0xff
je 0x10047a92
mov ebp, dword [esp + 0xa0]
test ebp, ebp
jns 0x10047a2d
xor ebp, ebp
jmp 0x10047a32
cmp ebp, eax
cmovg ebp, eax
mov edi, dword [esp + 0xa4]
test edi, edi
jns 0x10047a41
xor edi, edi
jmp 0x10047a46
cmp edi, eax
cmovg edi, eax
mov edx, dword [esp + 0xa8]
test edx, edx
jns 0x10047a55
xor edx, edx
jmp 0x10047a5a
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0xac]
test ecx, ecx
jns 0x10047a69
xor ecx, ecx
jmp 0x10047a6e
cmp ecx, eax
cmovg ecx, eax
push ecx
push edx
push edi
push ebp
push 0x10085148
lea eax, [esp + 0xc4]
push 0x40
push eax
call fcn.10011b70
mov ebp, dword [esp + 0x80]
add esp, 0x1c
jmp 0x10047ae8
mov edi, dword [esp + 0xa4]
test edi, edi
jns 0x10047aa1
xor edi, edi
jmp 0x10047aa6
cmp edi, eax
cmovg edi, eax
mov edx, dword [esp + 0xa0]
test edx, edx
jns 0x10047ab5
xor edx, edx
jmp 0x10047aba
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jns 0x10047ac9
xor ecx, ecx
jmp 0x10047ace
cmp ecx, eax
cmovg ecx, eax
push ecx
push edi
push edx
push 0x1008515c
lea eax, [esp + 0xc0]
push 0x40
push eax
call fcn.10011b70
add esp, 0x18
movss xmm4, dword [esp + 0x3c]
push ecx
movss dword [esp], xmm4
call fcn.10020260
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.1004d760
add esp, 0x24
test al, al
je 0x10047bdb
mov byte [esp + 0x12], 1
lea ecx, [esp + 0xb0]
mov al, byte [ecx]
cmp al, 0x23
je 0x10047b4f
cmp al, 0x20
je 0x10047b4f
cmp al, 9
jne 0x10047b52
inc ecx
jmp 0x10047b41
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 0x10047bb5
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.10026780
add esp, 0x18
jmp 0x10047bdb
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.10026780
add esp, 0x14
mov edi, ebp
test bl, 8
jne 0x10047bf1
push 1
push str.context
call fcn.1001b020
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 0x10047e02
mov edi, dword [esp + 0x64]
test edi, edi
jne 0x10047c2c
cmp dword [esi + 0x381c], ebp
je 0x10047c2c
movss xmm1, dword [esp + 0x3c]
addss xmm1, dword [esi + 0x37dc]
jmp 0x10047c2f
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 0x10047c5c
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.10046d10
add esp, 0x10
test al, al
je 0x10047d16
test bl, 4
jne 0x10047d16
movups xmm0, xmmword [esp + 0x74]
push 0
push str.picker
movups xmmword [esi + 0x5a28], xmm0
call fcn.1001ad70
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.10020280
add esp, 0x14
test bl, 8
jne 0x10047d2a
push 1
push str.context
call fcn.1001b020
add esp, 8
push 0
push str.picker
call fcn.1000a500
add esp, 8
test al, al
je 0x10047e02
mov eax, dword [esi + 0x3e60]
cmp word [eax + 0xb6], 1
jne 0x10047dfd
mov ecx, dword [esp + 0x44]
mov ebp, eax
mov eax, dword [esp + 0x48]
cmp eax, ecx
je 0x10047db6
push 0
push ecx
push eax
call fcn.10056ee0
mov ecx, dword [0x1008df28]
add esp, 0xc
mov eax, dword [ecx + 0x3e60]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e60]
cmp byte [eax + 0xaf], 0
jne 0x10047db6
push ecx
lea eax, [esp + 0x1c]
mov dword [esp], 0xbf800000
push eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.10015110
add esp, 8
movss xmm0, dword [esp + 0x6c]
mulss xmm0, dword [0x10076274]
push ecx
movss dword [esp], xmm0
call fcn.10020260
lea eax, [esi + 0x5a28]
push eax
mov eax, dword [esp + 0x8c]
and eax, 0x1f890002
or eax, 0x740080
push eax
push dword [esp + 0x34]
push 0x10075474
call fcn.10048670
add esp, 0x14
or byte [esp + 0x12], al
call fcn.1000ec90
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x48], eax
je 0x10047e6e
test bl, bl
js 0x10047e6e
movss xmm0, dword [esi + 0x37dc]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.1001ec70
add esp, 8
test edi, edi
je 0x10047e3c
movss xmm0, dword [esp + 0x40]
jmp 0x10047e4a
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.10056ee0
add esp, 0xc
cmp byte [esp + 0x12], 0
je 0x10048025
test ebp, ebp
jne 0x10048025
cmp byte [esp + 0x13], 0
jne 0x10047ea2
movups xmm0, xmmword [esp + 0xa0]
cvtdq2ps xmm0, xmm0
divps xmm0, xmmword [0x10085b70]
movups xmmword [esp + 0x90], xmm0
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x10047f85
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.1000c390
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.1000c2d0
add esp, 0x1c
mov dword [esi + 0x5a24], eax
cmp dword [esp + 0x88], 0x10100000
jne 0x10047fe1
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.1000c520
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 0x10048029
movss xmm0, dword [esp + 0x9c]
movss dword [edi + 0xc], xmm0
jmp 0x10048029
mov edi, dword [esp + 0x28]
cmp dword [esp + 0x8c], 0
jne 0x1004803d
mov dword [esi + 0x5a14], 0
call fcn.1001b420
call fcn.1000ea00
test byte [esi + 0x46e8], 1
je 0x10048112
test ebx, 0x200
jne 0x10048112
call fcn.1000a2c0
test al, al
je 0x10048112
push 0
push str._COL3F
mov byte [esp + 0x1b], 0
call fcn.10006aa0
add esp, 8
test eax, eax
je 0x1004809f
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.10006aa0
add esp, 8
test eax, eax
je 0x100480cc
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 0x100480d3
cmp byte [esp + 0x13], 0
je 0x1004810d
test ebx, 0x10000000
je 0x1004810d
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.1000c520
add esp, 0x18
call fcn.1000e560
test ebp, ebp
je 0x1004812e
mov eax, dword [esi + 0x3eac]
test eax, eax
je 0x1004812e
cmp dword [esi + 0x3ec8], ebp
jne 0x1004812e
mov dword [esi + 0x46e0], eax
mov bl, byte [esp + 0x12]
test bl, bl
je 0x10048149
mov ecx, dword [esi + 0x46e0]
test ecx, ecx
je 0x10048149
push ecx
call fcn.10015a80
add esp, 4
mov ecx, dword [esp + 0xf0]
mov al, bl
pop esi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.10071a96
add esp, 0xe4
ret