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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe8
push esi
push edi
mov edi, dword [0x100bc128]
mov dword [esp + 0x28], edx
mov edx, ecx
mov dword [esp + 0x5c], edx
mov eax, dword [edi + 0x1a6c]
mov byte [eax + 0x8c], 1
mov eax, dword [edi + 0x1a6c]
mov dword [esp + 0x14], eax
cmp byte [eax + 0x8f], 0
je 0x10040598
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
movss xmm2, dword [edi + 0x1554]
addss xmm2, xmm2
addss xmm2, dword [edi + 0x1930]
movss dword [esp + 0x94], xmm2
call fcn.1001df70
test byte [ebp + 8], 0x10
movaps xmm1, xmm0
movss dword [esp + 0x9c], xmm1
je 0x100405d1
xorps xmm0, xmm0
jmp 0x100405dc
movaps xmm0, xmm2
addss xmm0, dword [edi + 0x1568]
movss dword [esp + 0x78], xmm0
subss xmm1, xmm0
mov dword [esp + 0x34], edx
mov esi, edx
movss dword [esp + 0x74], xmm1
cmp edx, 0xffffffff
jae 0x10040610
mov al, byte [esi]
test al, al
je 0x1004060c
cmp al, 0x23
jne 0x10040606
cmp byte [esi + 1], al
je 0x1004060c
inc esi
cmp esi, 0xffffffff
jb 0x100405f7
mov dword [esp + 0x34], esi
mov dword [edi + 0x1b50], 0
call fcn.1001e0d0
mov ecx, dword [esp + 0x5c]
call fcn.1001d960
mov ecx, dword [ebp + 8]
mov dword [esp + 0x98], ecx
test cl, 0x20
je 0x10040646
and ecx, 0xff9fffff
or ecx, 0x100008
mov dword [ebp + 8], ecx
test cl, 8
jne 0x10040659
mov edx, ecx
mov ecx, dword [esp + 0x28]
call fcn.10044670
mov ecx, dword [ebp + 8]
mov edx, dword [edi + 0x2e54]
test ecx, 0x700000
jne 0x10040670
mov eax, edx
and eax, 0x700000
or ecx, eax
test ecx, 0x1800000
jne 0x10040681
mov eax, edx
and eax, 0x1800000
or ecx, eax
test ecx, 0x6000000
jne 0x10040692
mov eax, edx
and eax, 0x6000000
or ecx, eax
test ecx, 0x18000000
jne 0x100406a3
mov eax, edx
and eax, 0x18000000
or ecx, eax
movss xmm7, dword [0x100afebc]
and edx, 0xe00fffff
or ecx, edx
mov edx, ecx
mov dword [ebp + 8], ecx
shr edx, 1
mov eax, ecx
shr eax, 0x13
not dl
and eax, 0xffffff01
and edx, 0xffffff01
mov dword [esp + 0x84], eax
mov dword [esp + 0x40], edx
movzx eax, dl
mov edx, dword [esp + 0x28]
add eax, 3
cmp byte [esp + 0x40], 0
movss xmm1, dword [edx + 4]
movss xmm2, dword [edx + 8]
movss xmm3, dword [edx]
mov dword [esp + 0x44], eax
lea eax, [edx + 4]
mov dword [esp + 0x7c], eax
lea eax, [edx + 8]
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x1c], xmm1
mov dword [esp + 0x6c], eax
movss dword [esp + 0x20], xmm2
je 0x10040727
movss xmm0, dword [edx + 0xc]
movss dword [esp + 0x24], xmm0
jmp 0x1004072f
mov dword [esp + 0x24], 0x3f800000
mov eax, ecx
and eax, 0x10100000
mov dword [esp + 0x48], eax
cmp eax, 0x10100000
jne 0x10040798
lea eax, [esp + 0x20]
movaps xmm0, xmm3
push eax
lea edx, [esp + 0x20]
lea ecx, [esp + 0x1c]
call fcn.10012ae0
movss xmm7, dword [0x100afebc]
mov ecx, dword [ebp + 8]
movss xmm3, dword [esp + 0x18]
movss xmm1, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x20]
comiss xmm3, dword [0x100afde4]
movss xmm5, dword [0x100b000c]
movss xmm4, dword [0x100afe7c]
jb 0x10040839
movaps xmm0, xmm4
jmp 0x1004083c
mov eax, ecx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x10040773
lea eax, [esp + 0x20]
movaps xmm0, xmm3
push eax
lea edx, [esp + 0x20]
lea ecx, [esp + 0x1c]
call fcn.10012a50
mov edx, dword [esp + 0x28]
mov eax, dword [edi + 0x2e60]
cmp eax, dword [edx]
jne 0x1004075e
mov eax, dword [edi + 0x2e64]
cmp eax, dword [edx + 4]
jne 0x1004075e
mov eax, dword [edi + 0x2e68]
cmp eax, dword [edx + 8]
jne 0x1004075e
movss xmm1, dword [esp + 0x1c]
ucomiss xmm1, dword [0x100afde4]
lahf
test ah, 0x44
jp 0x10040806
movss xmm3, dword [edi + 0x2e58]
movss dword [esp + 0x18], xmm3
jmp 0x1004080c
movss xmm3, dword [esp + 0x18]
movss xmm2, dword [esp + 0x20]
ucomiss xmm2, dword [0x100afde4]
mov ecx, dword [ebp + 8]
lahf
test ah, 0x44
jp 0x10040773
movss xmm1, dword [edi + 0x2e5c]
movss dword [esp + 0x1c], xmm1
jmp 0x10040773
movaps xmm0, xmm5
comiss xmm1, dword [0x100afde4]
movss xmm6, dword [0x100affac]
mulss xmm3, xmm6
addss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [esp + 0x4c], eax
jb 0x10040862
movaps xmm0, xmm4
jmp 0x10040865
movaps xmm0, xmm5
comiss xmm2, dword [0x100afde4]
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [esp + 0x50], eax
jb 0x10040883
movaps xmm0, xmm4
jmp 0x10040886
movaps xmm0, xmm5
mulss xmm2, xmm6
addss xmm2, xmm0
movss xmm0, dword [esp + 0x24]
comiss xmm0, dword [0x100afde4]
cvttss2si eax, xmm2
mov dword [esp + 0x54], eax
jae 0x100408a8
movaps xmm4, xmm5
cmp dword [edi + 0x15a8], 0
movss xmm0, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mulss xmm0, xmm6
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [esp + 0x58], eax
movss xmm2, dword [edx + 0xcc]
movss xmm1, dword [edx + 0xd0]
movss dword [esp + 0x38], xmm2
movss dword [esp + 0x3c], xmm1
jne 0x100408f9
movss xmm0, dword [esp + 0x78]
jmp 0x100408fc
xorps xmm0, xmm0
addss xmm0, xmm2
movss dword [edx + 0xcc], xmm0
test ecx, 0x300000
je 0x10040be1
test cl, 0x20
jne 0x10040be1
mov edx, dword [esp + 0x44]
movss xmm2, dword [edi + 0x1568]
movss xmm1, dword [esp + 0x74]
lea eax, [edx - 1]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
mulss xmm0, xmm2
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm0, xmm7
addss xmm2, xmm0
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x74]
mulss xmm2, xmm3
subss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, ecx
and eax, 0x1000000
mov ecx, str.M:000
mov dword [esp + 0x8c], eax
mov eax, str.M:0.000
cmove eax, ecx
mov ecx, dword [0x100bc128]
push ecx
cvtdq2ps xmm0, xmm0
push 0
push eax
lea eax, [esp + 0x6c]
push ecx
movss xmm2, dword [ecx + 0x1930]
mov ecx, dword [ecx + 0x192c]
maxss xmm0, xmm7
mov dword [esp], 0xbf800000
push eax
movss dword [esp + 0x9c], xmm0
call fcn.10032170
movss xmm0, dword [esp + 0x60]
addss xmm0, dword [0x100afeb4]
mov ecx, dword [ebp + 8]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x30]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jb 0x10040a0a
xor esi, esi
jmp 0x10040a19
mov esi, ecx
and esi, 0x200000
neg esi
sbb esi, esi
neg esi
inc esi
cmp dword [esp + 0x44], 0
mov dword [esp + 0x2c], 0
jbe 0x10040b93
and ecx, 8
shl esi, 4
mov dword [esp + 0x90], ecx
mov edx, 0xff
xor ecx, ecx
test ecx, ecx
je 0x10040a63
movss xmm1, dword [edi + 0x1568]
xorps xmm0, xmm0
call fcn.1001dd60
movss xmm0, dword [esp + 0x30]
mov edx, 0xff
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [esp + 0x60], eax
cmp eax, dword [esp + 0x44]
jl 0x10040a79
movss xmm0, dword [esp + 0x88]
mov eax, dword [0x100bc128]
or dword [eax + 0x1b50], 1
cmp dword [esp + 0x8c], 0
movss dword [eax + 0x1b54], xmm0
je 0x10040b05
cmp byte [esp + 0x84], 0
je 0x10040aa6
xorps xmm0, xmm0
jmp 0x10040aae
movss xmm0, dword [0x100afebc]
push 0
push dword [esi + 0x100adf90]
lea eax, [esp + 0x34]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [0x100afe14]
mov edx, 8
push eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x8c], 0
push eax
lea eax, [esp + 0x28]
lea eax, [eax + ecx*4]
mov ecx, dword [ecx*4 + 0x100adee0]
push eax
call fcn.1003a570
mov cl, byte [esp + 0x12]
or cl, al
or byte [esp + 0x13], cl
mov byte [esp + 0x12], cl
jmp 0x10040b57
movss xmm0, dword [0x100afebc]
mov eax, edx
xor edx, edx
cmp byte [esp + 0x84], dl
push edx
push dword [esi + 0x100adeb0]
cmovne eax, edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x88], eax
mov edx, 4
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x5c]
lea eax, [eax + ecx*4]
mov ecx, dword [ecx*4 + 0x100adee0]
push eax
call fcn.1003a570
or byte [esp + 0x12], al
cmp dword [esp + 0x90], 0
jne 0x10040b70
mov edx, 1
mov ecx, str.context
call fcn.1001f150
mov ecx, dword [esp + 0x60]
add esi, 4
mov edx, 0xff
movss xmm0, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esp + 0x44]
jl 0x10040a40
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
movss xmm2, dword [esp + 0x38]
movss xmm1, dword [esp + 0x3c]
mov dword [esp + 0x34], 0
test cl, 0x10
jne 0x10040fdd
test cl, 0x20
jne 0x10040ddc
cmp dword [edi + 0x15a8], 0
je 0x10040ddc
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [edi + 0x1568]
jmp 0x10040ddf
mov eax, ecx
and eax, 0x400020
cmp eax, 0x400000
jne 0x10040ba7
cmp byte [esp + 0x40], 0
je 0x10040c82
mov eax, dword [esp + 0x58]
mov ecx, 0xff
mov dword [esp + 0x30], ecx
test eax, eax
jns 0x10040c15
mov dword [esp + 0x2c], 0
jmp 0x10040c21
cmp eax, 0xff
cmovg eax, ecx
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x54]
test edx, edx
jns 0x10040c2d
xor edx, edx
jmp 0x10040c32
cmp edx, ecx
cmovg edx, ecx
mov ecx, dword [esp + 0x50]
test ecx, ecx
jns 0x10040c3e
xor ecx, ecx
jmp 0x10040c4c
cmp ecx, 0xff
mov eax, 0xff
cmovg ecx, eax
mov eax, dword [esp + 0x4c]
test eax, eax
jns 0x10040c58
xor eax, eax
jmp 0x10040c62
cmp eax, 0xff
cmovg eax, dword [esp + 0x30]
push dword [esp + 0x2c]
push edx
push ecx
push eax
push 0x100adc64
lea eax, [esp + 0xc4]
push 0x40
push eax
call fcn.100120b0
add esp, 0x1c
jmp 0x10040cdd
mov edx, dword [esp + 0x54]
mov eax, 0xff
mov dword [esp + 0x30], eax
test edx, edx
jns 0x10040c97
xor edx, edx
jmp 0x10040c9c
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0x50]
test ecx, ecx
jns 0x10040ca8
xor ecx, ecx
jmp 0x10040cad
cmp ecx, eax
cmovg ecx, eax
mov eax, dword [esp + 0x4c]
test eax, eax
jns 0x10040cb9
xor eax, eax
jmp 0x10040cc3
cmp eax, 0xff
cmovg eax, dword [esp + 0x30]
push edx
push ecx
push eax
push 0x100adc78
lea eax, [esp + 0xc0]
push 0x40
push eax
call fcn.100120b0
add esp, 0x18
mov eax, dword [0x100bc128]
xor edx, edx
movss xmm4, dword [esp + 0x74]
mov ecx, str.Text
push 0
push 0
or dword [eax + 0x1b50], 1
movss dword [eax + 0x1b54], xmm4
lea eax, [esp + 0x68]
push 6
push eax
push 0x40
lea eax, [esp + 0xc4]
mov dword [esp + 0x74], 0
push eax
mov dword [esp + 0x7c], 0
call fcn.1003d3a0
test al, al
je 0x10040db9
mov byte [esp + 0x12], 1
lea ecx, [esp + 0xb0]
nop dword [eax]
mov al, byte [ecx]
cmp al, 0x23
je 0x10040d4e
cmp al, 0x20
je 0x10040d4e
cmp al, 9
jne 0x10040d51
inc ecx
jmp 0x10040d40
cmp byte [esp + 0x40], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
je 0x10040d9c
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
push eax
push str._02X_02X_02X_02X
push ecx
call fcn.100105c0
add esp, 0x18
jmp 0x10040db9
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x54]
push eax
push str._02X_02X_02X
push ecx
call fcn.100105c0
add esp, 0x14
mov ecx, dword [ebp + 8]
test cl, 8
jne 0x10040b97
mov edx, 1
mov ecx, str.context
call fcn.1001f150
mov ecx, dword [ebp + 8]
jmp 0x10040b97
xorps xmm0, xmm0
cmp byte [esp + 0x40], 0
addss xmm0, xmm2
mov eax, dword [esp + 0x28]
movss dword [edx + 0xd0], xmm1
movss dword [edx + 0xcc], xmm0
je 0x10040e05
movss xmm1, dword [eax + 0xc]
jmp 0x10040e0d
movss xmm1, dword [0x100afebc]
movss xmm0, dword [eax]
lea edx, [esp + 0xa0]
mov eax, dword [esp + 0x7c]
movss dword [esp + 0xa0], xmm0
movss dword [esp + 0xac], xmm1
push ecx
movss xmm0, dword [eax]
mov ecx, str.ColorButton
mov eax, dword [esp + 0x70]
movss dword [esp + 0xa8], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
movss xmm0, dword [eax]
movss xmm1, dword [esp + 0x74]
movss dword [esp + 0xac], xmm0
movss xmm0, dword [esp + 0x70]
call fcn.10043cd0
test al, al
mov eax, dword [ebp + 8]
je 0x10040efe
test al, 4
jne 0x10040efe
movups xmm0, xmmword [esp + 0xa0]
xor edx, edx
mov ecx, 0x100adcc4
movups xmmword [edi + 0x2e6c], xmm0
call fcn.1001eae0
mov eax, dword [esp + 0x14]
movss xmm1, dword [eax + 0x120]
movss xmm0, dword [eax + 0x12c]
addss xmm0, dword [edi + 0x1564]
mov eax, dword [0x100bc128]
subss xmm1, dword [0x100afebc]
or dword [eax + 0x1af0], 1
movss dword [eax + 0x1b04], xmm0
movss dword [eax + 0x1b00], xmm1
mov dword [eax + 0x1b08], 0
mov dword [eax + 0x1b0c], 0
mov dword [eax + 0x1af4], 1
mov eax, dword [ebp + 8]
test al, 8
jne 0x10040f11
mov edx, 1
mov ecx, str.context
call fcn.1001f150
xor edx, edx
mov ecx, 0x100adcc4
call fcn.1001ef10
test al, al
je 0x10040fda
mov eax, dword [edi + 0x1a6c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x5c]
cmp eax, esi
je 0x10040f85
push 0
mov edx, esi
mov ecx, eax
call fcn.10035fb0
mov ecx, dword [0x100bc128]
mov eax, dword [ecx + 0x1a6c]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1a6c]
cmp byte [eax + 0x8f], 0
jne 0x10040f85
movss xmm0, dword [0x100b001c]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
call fcn.1001da70
mov eax, dword [0x100bc128]
mov ecx, str.picker
movss xmm0, dword [esp + 0x94]
mulss xmm0, dword [0x100aff48]
mov edx, dword [esp + 0x28]
or dword [eax + 0x1b50], 1
movss dword [eax + 0x1b54], xmm0
lea eax, [edi + 0x2e6c]
push eax
mov eax, dword [esp + 0x9c]
and eax, 0x1f890002
or eax, 0x740080
push eax
call fcn.100415b0
or byte [esp + 0x12], al
call fcn.1001f100
mov ecx, dword [ebp + 8]
cmp dword [esp + 0x5c], esi
je 0x1004103a
test cl, cl
js 0x1004103a
test cl, 0x20
je 0x10040ff4
movss xmm0, dword [esp + 0x78]
jmp 0x10041005
movss xmm0, dword [esp + 0x9c]
addss xmm0, dword [edi + 0x1568]
movss xmm1, dword [esp + 0x3c]
mov edx, esi
addss xmm1, dword [edi + 0x1554]
addss xmm0, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
push 0
movss dword [eax + 0xcc], xmm0
movss dword [eax + 0xd0], xmm1
call fcn.10035fb0
cmp byte [esp + 0x12], 0
je 0x100411b7
cmp dword [esp + 0x34], 0
jne 0x100411b7
cmp byte [esp + 0x13], 0
jne 0x10041070
movups xmm0, xmmword [esp + 0x4c]
cvtdq2ps xmm0, xmm0
mulps xmm0, xmmword [0x100b01d0]
movups xmmword [esp + 0x18], xmm0
nop dword [eax + eax]
mov eax, dword [ebp + 8]
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x100410cb
movss xmm0, dword [esp + 0x18]
lea eax, [esp + 0x20]
movss xmm1, dword [esp + 0x1c]
lea edx, [esp + 0x1c]
movss xmm2, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push eax
movss dword [edi + 0x2e58], xmm0
movss dword [edi + 0x2e5c], xmm1
call fcn.10012ae0
movq xmm0, qword [esp + 0x18]
mov eax, dword [esp + 0x20]
movq qword [edi + 0x2e60], xmm0
mov dword [edi + 0x2e68], eax
cmp dword [esp + 0x48], 0x10100000
jne 0x1004117e
movss xmm2, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x20]
comiss xmm0, xmm2
movss xmm4, dword [esp + 0x18]
jbe 0x100410fa
movss xmm5, dword [0x100b001c]
jmp 0x100410fd
xorps xmm5, xmm5
movaps xmm1, xmm2
maxss xmm2, xmm0
minss xmm1, xmm0
comiss xmm2, xmm4
jbe 0x1004111c
movss xmm0, dword [0x100b0000]
subss xmm0, xmm5
movaps xmm5, xmm0
movaps xmm3, xmm2
movaps xmm0, xmm1
minss xmm3, xmm4
maxss xmm2, xmm4
minss xmm0, xmm3
movaps xmm4, xmm2
movss dword [esp + 0x20], xmm2
subss xmm3, xmm1
subss xmm4, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x100aff34]
addss xmm0, dword [0x100afdf4]
divss xmm3, xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x100afdf4]
addss xmm3, xmm5
divss xmm4, xmm0
andps xmm3, xmmword [0x100b0590]
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x1c], xmm4
jmp 0x10041190
movss xmm2, dword [esp + 0x20]
movss xmm4, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x18]
cmp byte [esp + 0x40], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x7c]
movss dword [eax], xmm3
movss dword [ecx], xmm4
movss dword [eax + 8], xmm2
je 0x100411b7
movss xmm0, dword [esp + 0x24]
movss dword [eax + 0xc], xmm0
mov eax, dword [0x100bc128]
mov eax, dword [eax + 0x1a6c]
dec dword [eax + 0xc0]
call fcn.1001e1f0
mov edx, dword [esp + 0x14]
test byte [edx + 0x11c], 1
je 0x1004136c
test dword [ebp + 8], 0x200
jne 0x1004136c
mov esi, dword [0x100bc128]
cmp byte [esi + 0x1e6c], 0
je 0x10041326
mov ecx, dword [esi + 0x1a6c]
mov edx, dword [ecx + 0x11c]
test dl, 1
je 0x10041322
mov eax, dword [esi + 0x1a78]
mov dword [esp + 0x48], eax
test eax, eax
je 0x10041322
mov esi, dword [esp + 0x48]
mov eax, dword [ecx + 0x320]
cmp eax, dword [esi + 0x320]
mov esi, dword [0x100bc128]
jne 0x10041322
mov eax, dword [ecx + 0x118]
and edx, 2
or edx, 0x24
lea edx, [ecx + edx*8]
mov dword [esp + 0x48], edx
test eax, eax
jne 0x10041262
push edx
call fcn.10014320
mov edx, dword [esp + 0x48]
cmp dword [esi + 0x1e84], eax
je 0x10041322
movups xmm0, xmmword [edx]
xor edx, edx
mov dword [esi + 0x1ec4], eax
mov ecx, str._COL3F
mov byte [esi + 0x1e6e], 1
movups xmmword [esi + 0x1eb4], xmm0
mov byte [esp + 0x13], 0
call fcn.10022e40
mov esi, dword [esp + 0x28]
test eax, eax
je 0x100412b8
mov eax, dword [eax]
mov byte [esp + 0x13], 1
mov byte [esp + 0x12], 1
movq xmm0, qword [eax]
movq qword [esi], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
xor edx, edx
mov ecx, str._COL4F
call fcn.10022e40
mov ecx, eax
test ecx, ecx
je 0x100412e4
mov eax, dword [esp + 0x44]
shl eax, 2
push eax
push dword [ecx]
push esi
call fcn.10074650
add esp, 0xc
mov byte [esp + 0x12], 1
jmp 0x100412eb
cmp byte [esp + 0x13], 0
je 0x10041315
test dword [ebp + 8], 0x10000000
je 0x10041315
movss xmm2, dword [esi + 8]
lea eax, [esi + 8]
movss xmm0, dword [esi]
mov ecx, esi
push eax
mov eax, dword [esp + 0x80]
mov edx, eax
movss xmm1, dword [eax]
call fcn.10012a50
mov esi, dword [0x100bc128]
mov byte [esi + 0x1e6e], 0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x10041346
mov eax, dword [edi + 0x1aa4]
test eax, eax
je 0x10041346
cmp dword [edi + 0x1ad0], ecx
jne 0x10041346
mov dword [edx + 0x118], eax
mov al, byte [esp + 0x12]
test al, al
je 0x10041364
mov ecx, dword [esi + 0x1a6c]
mov word [esi + 0x1ab4], 0x101
or dword [ecx + 0x11c], 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
mov esi, dword [0x100bc128]
jmp 0x10041326