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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10c
mov eax, dword [0x1017f528]
xor eax, esp
mov dword [esp + 0x108], eax
mov ebp, dword [0x1017f770]
mov eax, dword [ebp + 0x1b98]
mov byte [eax + 0x8c], 1
mov ebx, dword [ebp + 0x1b98]
cmp byte [ebx + 0x8f], 0
je 0x100554f1
xor ebx, ebx
jmp 0x1005633c
mov esi, dword [esp + 0x128]
mov edi, dword [esp + 0x120]
call fcn.100314e0
fstp dword [esp + 0x74]
vmovss xmm0, dword [esp + 0x74]
vmovss dword [esp + 0x3c], xmm0
call fcn.10031360
fstp dword [esp + 0x70]
vxorps xmm0, xmm0, xmm0
mov eax, esi
test al, 0x10
jne 0x10055535
vmovss xmm0, dword [esp + 0x3c]
vaddss xmm0, xmm0, dword [ebp + 0x156c]
vmovups xmmword [esp + 0x78], xmm0
vmovss xmm0, dword [esp + 0x70]
vmovss dword [esp + 0x40], xmm0
push 0
push edi
call fcn.1001e190
add esp, 8
mov dword [esp + 0x10], eax
mov dword [ebp + 0x1c24], 0
call fcn.10031510
push edi
call fcn.100309f0
add esp, 4
mov eax, esi
mov ecx, esi
and ecx, 0xff8ffff7
or ecx, 0x100008
test al, 0x20
cmove ecx, esi
test cl, 8
jne 0x1005559c
push ecx
push dword [esp + 0x128]
mov edi, ecx
call fcn.100563a0
mov ecx, edi
add esp, 8
test ecx, 0x700000
jne 0x100555b1
mov eax, 0x700000
and eax, dword [ebp + 0x2e84]
or ecx, eax
mov esi, dword [esp + 0x124]
test ecx, 0x1800000
jne 0x100555cd
mov eax, 0x1800000
and eax, dword [ebp + 0x2e84]
or ecx, eax
test ecx, 0x6000000
mov dword [esp + 0x1c], ebx
jne 0x100555e6
mov eax, 0x6000000
and eax, dword [ebp + 0x2e84]
or ecx, eax
mov edx, dword [ebp + 0x2e84]
mov eax, edx
and eax, 0x18000000
xor edi, edi
test ecx, 0x18000000
cmove edi, eax
mov dword [esp + 4], ecx
or edi, ecx
and edx, 0xe00fffff
or edx, edi
xor ecx, ecx
test dl, 2
sete bl
vmovsd xmm0, qword [esi]
vmovsd qword [esp + 0xf8], xmm0
vmovss xmm1, dword [esi + 8]
vmovss dword [esp + 0x100], xmm1
mov dword [esp], edx
test dl, 2
jne 0x1005563e
vmovss xmm2, dword [esi + 0xc]
jmp 0x10055646
vmovss xmm2, dword [0x10129710]
lea eax, [esp + 0xfc]
lea edx, [esp + 0x100]
vmovss dword [esp + 0x104], xmm2
mov esi, edi
and esi, 0x10100000
mov dword [esp + 0x54], esi
cmp esi, 0x10100000
jne 0x100556a9
sub esp, 0x18
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x110]
mov dword [esp + 0xc], eax
vmovss dword [esp + 8], xmm1
vextractps dword [esp + 4], xmm0, 1
vmovss dword [esp], xmm0
call fcn.1001d380
xor ecx, ecx
add esp, 0x18
jmp 0x100557a2
mov eax, edi
not eax
test eax, 0x8200000
jne 0x100557a2
sub esp, 0x18
mov dword [esp + 0x14], edx
lea eax, [esp + 0x114]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x110]
mov dword [esp + 0xc], eax
vmovss dword [esp + 8], xmm1
vextractps dword [esp + 4], xmm0, 1
vmovss dword [esp], xmm0
call fcn.1001d2d0
add esp, 0x18
mov eax, dword [0x1017f770]
mov esi, edi
mov dword [esp + 0x28], eax
mov edi, dword [eax + 0x2e90]
mov eax, dword [esp + 0x124]
vmovss xmm0, dword [eax + 8]
vmovsd xmm1, qword [eax]
vmovsd qword [esp + 0xa8], xmm1
vmovss dword [esp + 0xb0], xmm0
mov dword [esp + 0xb4], 0
lea eax, [esp + 0xa8]
push eax
call fcn.1001d220
xor ecx, ecx
add esp, 4
cmp edi, eax
mov edi, esi
jne 0x100557a2
vmovss xmm1, dword [esp + 0xfc]
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
jne 0x10056357
jp 0x10056357
mov eax, dword [esp + 0x28]
vmovss xmm0, dword [eax + 0x2e88]
vmovss dword [esp + 0xf8], xmm0
vmovss xmm0, dword [esp + 0x100]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jne 0x100557a2
jp 0x100557a2
mov eax, dword [esp + 0x28]
vmovss xmm0, dword [eax + 0x2e8c]
vmovss dword [esp + 0xfc], xmm0
mov cl, bl
vmovups xmm0, xmmword [esp + 0xf8]
vxorps xmm1, xmm1, xmm1
vcmpleps xmm1, xmm1, xmm0
vbroadcastss xmm2, dword [0x10129738]
vbroadcastss xmm3, dword [0x10129978]
vblendvps xmm1, xmm3, xmm2, xmm1
vbroadcastss xmm2, dword [0x1012973c]
vmovups xmmword [esp + 0x88], xmm2
vfmadd231ps xmm1, xmm2, xmm0
vcvttps2dq xmm0, xmm1
vmovdqu xmmword [esp + 0xe8], xmm0
mov eax, dword [esp + 0x1c]
vmovsd xmm4, qword [eax + 0xd0]
cmp dword [ebp + 0x15ac], 0
vmovups xmm2, xmmword [esp + 0x78]
vmovaps xmm1, xmm2
je 0x10055815
vxorps xmm1, xmm1, xmm1
vmovss xmm3, dword [esp + 0x40]
vsubss xmm2, xmm3, xmm2
vmovss dword [esp + 0xc], xmm2
add ecx, 3
lea esi, [esp + 0xec]
vaddss xmm1, xmm4, xmm1
vmovss dword [eax + 0xd0], xmm1
mov ebx, dword [esp]
mov eax, ebx
and eax, 0x20
test dword [esp + 4], 0x300000
mov dword [esp + 0x24], ecx
vmovups xmmword [esp + 0x28], xmm4
mov dword [esp + 0x18], ebp
mov dword [esp + 0x38], edi
je 0x100559d5
test eax, eax
jne 0x100559d5
lea eax, [ecx - 1]
vcvtsi2ss xmm1, xmm5, eax
vmovss xmm2, dword [ebp + 0x156c]
vcvtsi2ss xmm0, xmm5, ecx
vmovups xmmword [esp + 0x44], xmm1
vmovss dword [esp + 0x60], xmm2
vfnmadd213ss xmm1, xmm2, dword [esp + 0xc]
vdivss xmm0, xmm1, xmm0
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss xmm1, dword [0x10129710]
vmaxss xmm0, xmm1, xmm0
vmovss dword [esp + 0x14], xmm0
mov edi, dword [esp + 4]
test edi, 0x1000000
mov eax, str.M:000
mov ecx, str.M:0.000
cmove ecx, eax
lea eax, [esp + 0xa8]
push 0xbf800000
push 0
push 0
push ecx
push eax
call fcn.1001eab0
add esp, 0x14
and edi, 0x200000
cmp edi, 1
mov eax, 2
sbb eax, 0
vmovss xmm0, dword [esp + 0xa8]
xor edi, edi
vucomiss xmm0, dword [esp + 0x14]
cmovae eax, edi
mov dword [esp + 8], eax
vmovss xmm0, dword [0x10129710]
vmovss dword [esp + 0x20], xmm0
test ebx, 0x80000
je 0x10055929
vxorps xmm0, xmm0, xmm0
vmovss dword [esp + 0x20], xmm0
mov eax, 0xff
cmove edi, eax
add esp, 0xfffffffc
vmovss xmm0, dword [esp + 0x18]
vmovss dword [esp], xmm0
call fcn.1001d7b0
add esp, 4
vmovss xmm0, dword [esp + 0x14]
vaddss xmm0, xmm0, dword [esp + 0x60]
vmovups xmm1, xmmword [esp + 0x44]
vfnmadd213ss xmm1, xmm0, dword [esp + 0xc]
vcvttps2dq xmm0, xmm1
vmovups xmmword [esp + 0x60], xmm0
test dword [esp + 4], 0x1000000
jne 0x10055a88
mov eax, dword [esp + 8]
shl eax, 4
mov eax, dword [eax + 0x10131548]
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0xa0]
lea edx, [esp + 0xe8]
push 0
push eax
lea eax, [esp + 0xb0]
push eax
push ecx
push 0x3f800000
push edx
push 4
push 0x1016f0dc
call fcn.1004aef0
add esp, 0x20
mov ebx, eax
mov dword [esp + 0x44], 0
jmp 0x10055ae4
mov dword [esp + 0x44], 0
test dword [esp + 4], 0x400000
je 0x10055c8b
mov ebx, 0
test eax, eax
jne 0x10055ddc
vpextrd edx, xmm0, 2
vpextrd ecx, xmm0, 1
vmovd eax, xmm0
test byte [esp], 2
jne 0x10055c92
vpextrd ebx, xmm0, 3
cmp ebx, 0xff
mov edi, 0xff
cmovge ebx, edi
mov ebp, ebx
sar ebp, 0x1f
andn ebx, ebp, ebx
cmp edx, 0xff
cmovge edx, edi
mov ebp, edx
sar ebp, 0x1f
andn edx, ebp, edx
cmp ecx, 0xff
cmovge ecx, edi
mov ebp, ecx
sar ebp, 0x1f
andn ecx, ebp, ecx
cmp eax, 0xff
cmovl edi, eax
mov eax, edi
sar eax, 0x1f
andn eax, eax, edi
lea edi, [esp + 0xa8]
push ebx
push edx
push ecx
push eax
push str._02X_02X_02X_02X
push 0x40
push edi
call fcn.1001cbc0
add esp, 0x1c
jmp 0x10055ce9
mov eax, dword [esp + 8]
shl eax, 4
mov eax, dword [eax + 0x10131578]
vmovss xmm0, dword [esp + 0x20]
vmovss dword [esp + 0xa8], xmm0
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0xa0]
lea edx, [esp + 0xf8]
push 0
push eax
lea eax, [esp + 0xb0]
push eax
push ecx
push 0x3b808081
push edx
push 8
push 0x1016f0dc
call fcn.1004aef0
add esp, 0x20
mov dword [esp + 0x44], eax
mov ebx, eax
mov dword [esp + 0x5c], edi
vcvtdq2ps xmm1, xmmword [esp + 0x60]
test byte [esp], 8
jne 0x10055b0f
push 1
push str.context
vmovups xmmword [esp + 0x68], xmm1
call fcn.100322f0
vmovups xmm1, xmmword [esp + 0x68]
add esp, 8
vmovss xmm0, dword [0x10129710]
vmaxss xmm0, xmm0, xmm1
vmovss dword [esp + 0x58], xmm0
mov eax, dword [esp + 0x24]
neg eax
mov dword [esp + 0x60], eax
shl dword [esp + 8], 4
mov ebp, 2
lea edi, [esp + 0xfc]
jmp 0x10055b57
add esi, 4
add edi, 4
mov eax, dword [esp + 0x60]
add eax, ebp
inc eax
inc ebp
cmp eax, 1
je 0x10055ddc
mov eax, dword [esp + 0x18]
vmovss xmm0, dword [eax + 0x156c]
sub esp, 8
vmovss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.10031030
add esp, 8
vmovss xmm0, dword [esp + 0x14]
cmp ebp, dword [esp + 0x24]
jb 0x10055b8d
vmovss xmm0, dword [esp + 0x58]
sub esp, 4
vmovss dword [esp], xmm0
call fcn.1001d7b0
add esp, 4
test dword [esp + 4], 0x1000000
jne 0x10055c00
mov eax, dword [esp + 8]
mov ecx, dword [eax + ebp*4 + 0x10131544]
mov eax, dword [ebp*4 + 0x10131534]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], 0
push 0
push ecx
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0xac]
push ecx
push 0x3f800000
push esi
push 4
push eax
call fcn.1004aef0
add esp, 0x20
and bl, 1
or bl, al
jmp 0x10055c61
mov eax, dword [esp + 8]
mov ecx, dword [eax + ebp*4 + 0x10131574]
mov eax, dword [ebp*4 + 0x10131534]
vmovss xmm0, dword [esp + 0x20]
vmovss dword [esp + 0xa8], xmm0
mov dword [esp + 0xa0], 0
push 0
push ecx
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0xac]
push ecx
push 0x3b808081
push edi
push 8
push eax
call fcn.1004aef0
add esp, 0x20
and bl, 1
or bl, al
mov eax, dword [esp + 0x44]
and al, 1
or al, bl
mov dword [esp + 0x44], eax
vmovups xmm4, xmmword [esp + 0x28]
test byte [esp], 8
jne 0x10055b40
push 1
push str.context
call fcn.100322f0
vmovups xmm4, xmmword [esp + 0x30]
add esp, 8
jmp 0x10055b40
xor ebx, ebx
jmp 0x10055ddc
cmp edx, 0xff
mov edi, 0xff
cmovge edx, edi
mov ebx, edx
sar ebx, 0x1f
andn edx, ebx, edx
cmp ecx, 0xff
cmovge ecx, edi
mov ebx, ecx
sar ebx, 0x1f
andn ecx, ebx, ecx
cmp eax, 0xff
cmovl edi, eax
mov eax, edi
sar eax, 0x1f
andn eax, eax, edi
lea edi, [esp + 0xa8]
push edx
push ecx
push eax
push str._02X_02X_02X
push 0x40
push edi
call fcn.1001cbc0
add esp, 0x18
sub esp, 4
vmovss xmm0, dword [esp + 0x10]
vmovss dword [esp], xmm0
call fcn.1001d7b0
add esp, 4
vxorps xmm0, xmm0, xmm0
vmovlps qword [esp + 0xa0], xmm0
lea eax, [esp + 0xa0]
lea edi, [esp + 0xa8]
push 0
push 0
push 6
push eax
push 0x40
push edi
push 0
push str.Text
call fcn.10050660
add esp, 0x20
test al, al
je 0x10055d63
lea eax, [esp + 0xf0]
lea ecx, [esp + 0xf4]
mov edx, 0x4800001
nop word [eax + eax]
movzx ebx, byte [edi]
add ebx, 0xfffffff7
cmp ebx, 0x1a
ja 0x10055d67
bt edx, ebx
jae 0x10055d67
inc edi
jmp 0x10055d50
xor ebx, ebx
jmp 0x10055db3
vmovaps xmm0, xmmword [0x10131720]
vmovups xmmword [esp + 0xe8], xmm0
test byte [esp], 2
jne 0x10055d99
lea edx, [esp + 0xe8]
push ecx
push eax
push esi
push edx
push 0x1016f0b5
push edi
call fcn.10034aa0
add esp, 0x18
jmp 0x10055db1
lea ecx, [esp + 0xe8]
push eax
push esi
push ecx
push 0x1016f0c7
push edi
call fcn.10034aa0
add esp, 0x14
mov bl, 1
vmovups xmm4, xmmword [esp + 0x28]
test byte [esp], 8
jne 0x10055dd4
push 1
push str.context
call fcn.100322f0
vmovups xmm4, xmmword [esp + 0x30]
add esp, 8
mov dword [esp + 0x44], 0
mov eax, dword [esp]
test al, 0x10
jne 0x10055e16
vxorps xmm0, xmm0, xmm0
test al, 0x20
jne 0x10055e45
mov edi, dword [esp + 0x18]
cmp dword [edi + 0x15ac], 0
mov eax, dword [esp + 0x124]
mov ebp, dword [esp + 0x120]
je 0x10055e57
vmovss xmm0, dword [esp + 0xc]
vaddss xmm0, xmm0, dword [edi + 0x156c]
jmp 0x10055e57
mov dword [esp + 4], 0
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x120]
vmovups xmm0, xmmword [esp + 0x78]
lea esi, [esp + 0x100]
cmp dword [esp + 0x10], ebp
jne 0x1005605f
jmp 0x100560a6
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x124]
mov ebp, dword [esp + 0x120]
vaddss xmm0, xmm4, xmm0
mov ecx, dword [esp + 0x1c]
vmovss dword [ecx + 0xd0], xmm0
vextractps dword [ecx + 0xd4], xmm4, 1
test byte [esp], 2
jne 0x10055e7e
vmovss xmm0, dword [eax + 0xc]
jmp 0x10055e86
vmovss xmm0, dword [0x10129710]
vmovss xmm1, dword [eax + 8]
vmovsd xmm2, qword [eax]
vmovsd qword [esp + 0xa8], xmm2
vmovss dword [esp + 0xb0], xmm1
vmovss dword [esp + 0xb4], xmm0
lea eax, [esp + 0xa8]
push 0
push 0
mov esi, dword [esp + 8]
push esi
push eax
push str.ColorButton
call fcn.100567c0
mov ecx, esi
add esp, 0x14
test al, al
je 0x10055f56
mov eax, ecx
and eax, 4
jne 0x10055f56
vmovups xmm0, xmmword [esp + 0xa8]
vmovups xmmword [edi + 0x2e94], xmm0
push 0
push 0x1016d468
mov esi, ecx
call fcn.100318f0
add esp, 8
vxorps xmm0, xmm0, xmm0
vmovlps qword [esp + 0xa0], xmm0
vmovss xmm0, dword [edi + 0x1568]
vmovss xmm1, dword [edi + 0x1c44]
vaddss xmm0, xmm0, dword [edi + 0x1c50]
vaddss xmm1, xmm1, dword [0x101296d4]
vmovss dword [esp + 0x98], xmm1
vmovss dword [esp + 0x9c], xmm0
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x98]
push eax
push 0
push ecx
call fcn.10030410
mov ecx, esi
add esp, 0xc
test cl, 8
lea esi, [esp + 0x100]
jne 0x10055f71
push 1
push str.context
call fcn.100322f0
add esp, 8
mov dword [esp + 4], 0
push 0
push 0x1016d468
call fcn.10032200
add esp, 8
test al, al
je 0x1005604d
mov eax, dword [edi + 0x1b98]
mov dword [esp + 4], eax
cmp dword [esp + 0x10], ebp
je 0x10055ff2
push 0
push dword [esp + 0x14]
push ebp
call fcn.10043e10
add esp, 0xc
mov eax, dword [0x1017f770]
mov ecx, dword [eax + 0x1b98]
mov byte [ecx + 0x8c], 1
mov eax, dword [eax + 0x1b98]
cmp byte [eax + 0x8f], 0
jne 0x10055ff2
vxorps xmm0, xmm0, xmm0
vmovlps qword [esp + 0xa0], xmm0
lea eax, [esp + 0xa0]
push 0xbf800000
push eax
call fcn.1002eb70
add esp, 8
mov esi, dword [esp + 0x128]
and esi, 0x1f890002
or esi, 0x740080
vmovss xmm0, dword [esp + 0x3c]
vmulss xmm0, xmm0, dword [0x10129a08]
sub esp, 4
vmovss dword [esp], xmm0
call fcn.1001d7b0
add esp, 4
lea eax, [edi + 0x2e94]
push eax
push esi
push dword [esp + 0x12c]
push str.picker
call fcn.10056e10
add esp, 0x10
or bl, al
call fcn.100321b0
lea esi, [esp + 0x100]
vmovups xmm0, xmmword [esp + 0x78]
vmovups xmm4, xmmword [esp + 0x28]
cmp dword [esp + 0x10], ebp
je 0x100560a6
mov eax, dword [esp]
and eax, 0x80
jne 0x100560a6
test byte [esp], 0x20
jne 0x1005607d
vmovss xmm0, dword [esp + 0x40]
vaddss xmm0, xmm0, dword [edi + 0x156c]
vinsertps xmm0, xmm0, dword [edi + 0x1558], 0x10
vaddps xmm0, xmm4, xmm0
mov eax, dword [esp + 0x1c]
vmovlps qword [eax + 0xd0], xmm0
push 0
push dword [esp + 0x14]
push ebp
call fcn.10043e10
add esp, 0xc
test bl, bl
mov ebp, dword [esp + 4]
je 0x1005621c
test ebp, ebp
jne 0x1005621c
test byte [esp + 0x44], 1
jne 0x100560dc
vcvtdq2ps xmm0, xmmword [esp + 0xe8]
vdivps xmm0, xmm0, xmmword [esp + 0x88]
vmovups xmmword [esp + 0xf8], xmm0
mov eax, dword [esp + 0x38]
not eax
test eax, 0x8200000
jne 0x10056184
vmovsd xmm0, qword [esp + 0xf8]
vmovsd qword [edi + 0x2e88], xmm0
vmovss xmm1, dword [esp + 0x100]
sub esp, 0x18
mov dword [esp + 0x14], esi
lea eax, [esp + 0x114]
mov dword [esp + 0x10], eax
vextractps dword [esp + 4], xmm0, 1
lea eax, [esp + 0x110]
mov dword [esp + 0xc], eax
vmovss dword [esp + 8], xmm1
vmovss dword [esp], xmm0
call fcn.1001d380
add esp, 0x18
vmovss xmm0, dword [esp + 0x100]
vmovsd xmm1, qword [esp + 0xf8]
vmovsd qword [esp + 0xa8], xmm1
vmovss dword [esp + 0xb0], xmm0
mov dword [esp + 0xb4], 0
lea eax, [esp + 0xa8]
push eax
call fcn.1001d220
add esp, 4
mov dword [edi + 0x2e90], eax
cmp dword [esp + 0x54], 0x10100000
lea eax, [esp + 0xfc]
jne 0x100561df
vmovss xmm0, dword [esp + 0x100]
vmovss xmm1, dword [esp + 0xf8]
vmovss xmm2, dword [esp + 0xfc]
sub esp, 0x18
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
lea eax, [esp + 0x110]
mov dword [esp + 0xc], eax
vmovss dword [esp + 8], xmm0
vmovss dword [esp + 4], xmm2
vmovss dword [esp], xmm1
call fcn.1001d2d0
add esp, 0x18
vmovsd xmm0, qword [esp + 0xf8]
mov eax, dword [esp + 0x124]
vmovsd qword [eax], xmm0
vmovss xmm0, dword [esp + 0x100]
vmovss dword [eax + 8], xmm0
test byte [esp], 2
jne 0x1005621c
vmovss xmm0, dword [esp + 0x104]
mov eax, dword [esp + 0x124]
vmovss dword [eax + 0xc], xmm0
call fcn.10030dd0
call fcn.10030df0
test byte [edi + 0x1c40], 1
je 0x1005630b
and dword [esp], 0x200
jne 0x1005630b
call fcn.10033810
test al, al
je 0x1005630b
push 0
push str._COL3F
call fcn.100338a0
add esp, 8
test eax, eax
je 0x10056279
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x124]
mov dword [ebx + 8], edx
vmovsd xmm0, qword [ecx]
vmovsd qword [ebx], xmm0
mov bl, 1
test eax, eax
setne byte [esp + 0x28]
push 0
push str._COL4F
call fcn.100338a0
movzx ecx, byte [esp + 0x30]
add esp, 8
test eax, eax
je 0x100562b5
mov ecx, dword [esp + 0x24]
shl ecx, 2
push ecx
push dword [eax]
push dword [esp + 0x12c]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov bl, 1
mov cl, 1
test cl, cl
je 0x10056306
and dword [esp + 0x38], 0x10000000
je 0x10056306
mov edx, dword [esp + 0x124]
lea eax, [edx + 4]
lea ecx, [edx + 8]
vmovss xmm0, dword [edx + 8]
vmovss xmm1, dword [edx]
vmovss xmm2, dword [edx + 4]
sub esp, 0x18
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
vmovss dword [esp + 8], xmm0
vmovss dword [esp + 4], xmm2
vmovss dword [esp], xmm1
call fcn.1001d2d0
add esp, 0x18
call fcn.10033af0
test ebp, ebp
je 0x10056327
mov eax, dword [edi + 0x1bd0]
test eax, eax
je 0x10056327
cmp dword [edi + 0x1c00], ebp
jne 0x10056327
mov dword [edi + 0x1c38], eax
test bl, bl
setne bl
je 0x1005633c
push dword [edi + 0x1c38]
call fcn.100203f0
add esp, 4
mov ecx, dword [esp + 0x108]
xor ecx, esp
call fcn.100d7fe0
mov eax, ebx
add esp, 0x10c
pop esi
pop edi
pop ebx
pop ebp
ret
vmovss xmm1, dword [esp + 0xf8]
vucomiss xmm1, xmm0
jne 0x10055778
jp 0x10055778
mov eax, dword [esp + 0x28]
vmovss xmm1, dword [eax + 0x2e88]
vmovss xmm0, dword [0x10129710]
vucomiss xmm1, xmm0
jne 0x10055778
jnp 0x1005576f
jmp 0x10055778