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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
push esi
push edi
mov edi, dword [0x471270]
mov dword [esp + 0x14], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x1c], edi
mov eax, dword [edi + 0x3e30]
mov byte [eax + 0x90], 1
mov eax, dword [edi + 0x3e30]
mov dword [esp + 0x38], eax
cmp byte [eax + 0x93], 0
je 0x4368c8
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test byte [edi + 0x3ec8], 1
movss xmm2, dword [edi + 0x37f0]
addss xmm2, xmm2
addss xmm2, dword [edi + 0x3bcc]
movss dword [esp + 0x78], xmm2
je 0x4368f5
movss xmm0, dword [edi + 0x3ecc]
jmp 0x4368fd
movss xmm0, dword [eax + 0x188]
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x43693f
cmp dword [eax + 0x178], 0
movss xmm1, dword [eax + 0x210]
jne 0x43691f
cmp dword [edi + 0x41f8], 0
je 0x436927
movss xmm1, dword [eax + 0x1e0]
subss xmm1, dword [eax + 0xd4]
addss xmm1, xmm0
movss xmm0, dword [0x4563f0]
maxss xmm0, xmm1
test byte [ebp + 8], 0x10
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
je 0x436955
xorps xmm0, xmm0
jmp 0x436960
movaps xmm0, xmm2
addss xmm0, dword [edi + 0x3804]
movss dword [esp + 0x10], xmm0
subss xmm3, xmm0
mov dword [esp + 0x68], ecx
movss dword [esp + 0x70], xmm3
cmp ecx, 0xffffffff
jae 0x43699e
mov edi, ecx
nop dword [eax + eax]
mov cl, byte [edi]
test cl, cl
je 0x43699a
cmp cl, 0x23
jne 0x436990
cmp byte [edi + 1], cl
je 0x43699a
inc edi
mov dword [esp + 0x68], edi
cmp edi, 0xffffffff
jb 0x436980
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x3ec8], 0
call fcn.00411b60
mov eax, dword [0x471270]
push ecx
push dword [esp + 0x70]
mov esi, dword [eax + 0x3e30]
mov ecx, esi
call fcn.004055c0
mov ecx, dword [esi + 0xc8]
add esi, 0xc8
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x4369fc
inc ecx
test eax, eax
je 0x4369ea
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x4369ef
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.0041a3b0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp + 8]
inc dword [esi]
mov dword [esp + 0x7c], ecx
test cl, 0x20
je 0x436a25
and ecx, 0xff9fffff
or ecx, 0x100008
mov dword [ebp + 8], ecx
mov esi, dword [esp + 0x14]
test cl, 8
jne 0x436a3a
mov edx, ecx
mov ecx, esi
call fcn.0043ae40
mov ecx, dword [ebp + 8]
test ecx, 0x700000
jne 0x436a4f
mov eax, dword [edi + 0x5158]
and eax, 0x700000
or ecx, eax
test ecx, 0x1800000
jne 0x436a64
mov eax, dword [edi + 0x5158]
and eax, 0x1800000
or ecx, eax
test ecx, 0x6000000
jne 0x436a79
mov eax, dword [edi + 0x5158]
and eax, 0x6000000
or ecx, eax
test ecx, 0x18000000
jne 0x436a8e
mov eax, dword [edi + 0x5158]
and eax, 0x18000000
or ecx, eax
mov eax, dword [edi + 0x5158]
and eax, 0xe00fffff
or ecx, eax
mov edx, ecx
mov dword [ebp + 8], ecx
and edx, 0x700000
je 0x436aaf
lea eax, [edx - 1]
test edx, eax
je 0x436aca
push 0x1379
push 0x4543e8
push str.ImIsPowerOfTwo_flags__ImGuiColorEditFlags_DisplayMask__
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp + 8]
add esp, 0xc
mov edx, ecx
and edx, 0x18000000
je 0x436adb
lea eax, [edx - 1]
test edx, eax
je 0x436af6
push 0x137a
push 0x4543e8
push str.ImIsPowerOfTwo_flags__ImGuiColorEditFlags_InputMask__
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, dword [ebp + 8]
add esp, 0xc
movss xmm0, dword [esi]
mov edx, ecx
movss xmm1, dword [esi + 4]
mov eax, ecx
movss xmm2, dword [esi + 8]
shr edx, 1
not dl
shr eax, 0x13
and edx, 0xffffff01
movss dword [esp + 0x28], xmm0
mov dword [esp + 0x48], edx
and eax, 0xffffff01
movzx edx, dl
add edx, 3
mov dword [esp + 0x4c], eax
cmp byte [esp + 0x48], 0
mov dword [esp + 0x18], edx
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x30], xmm2
je 0x436b4c
movss xmm3, dword [esi + 0xc]
jmp 0x436b54
movss xmm3, dword [0x4563f0]
movss xmm6, dword [0x456354]
mov eax, ecx
and eax, 0x10100000
movss dword [esp + 0x34], xmm3
cmp eax, 0x10100000
jne 0x436b8a
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x30]
lea ecx, [esp + 0x2c]
call fcn.00403aa0
add esp, 4
jmp 0x436c37
mov eax, ecx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x436c56
comiss xmm2, xmm1
xorps xmm4, xmm4
movaps xmm3, xmm1
jbe 0x436bb5
movss xmm4, dword [0x456544]
movaps xmm3, xmm2
movaps xmm2, xmm1
comiss xmm3, xmm0
movaps xmm5, xmm0
jbe 0x436bd2
movaps xmm5, xmm3
movaps xmm3, xmm0
movss xmm0, dword [0x456530]
subss xmm0, xmm4
movaps xmm4, xmm0
movaps xmm0, xmm3
movss dword [esp + 0x30], xmm5
minss xmm0, xmm2
movaps xmm1, xmm5
subss xmm3, xmm2
mov ecx, esi
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x30]
subss xmm1, xmm0
push eax
lea edx, [esp + 0x30]
movaps xmm0, xmm1
mulss xmm0, dword [0x456468]
addss xmm0, xmm6
divss xmm3, xmm0
movaps xmm0, xmm5
addss xmm0, xmm6
addss xmm3, xmm4
divss xmm1, xmm0
andps xmm3, xmmword [0x456640]
movss dword [esp + 0x30], xmm3
movss dword [esp + 0x34], xmm1
call fcn.00436790
add esp, 8
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
movss xmm0, dword [esp + 0x28]
movss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x30]
movss xmm3, dword [esp + 0x34]
comiss xmm0, dword [0x456340]
movss xmm4, dword [0x456534]
movss xmm6, dword [0x4563b4]
jb 0x436c74
movaps xmm5, xmm6
jmp 0x436c77
movaps xmm5, xmm4
comiss xmm1, dword [0x456340]
movss xmm7, dword [0x4564d4]
mulss xmm0, xmm7
addss xmm0, xmm5
cvttss2si eax, xmm0
mov dword [esp + 0x50], eax
jb 0x436c9d
movaps xmm0, xmm6
jmp 0x436ca0
movaps xmm0, xmm4
comiss xmm2, dword [0x456340]
mulss xmm1, xmm7
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [esp + 0x54], eax
jb 0x436cbe
movaps xmm0, xmm6
jmp 0x436cc1
movaps xmm0, xmm4
comiss xmm3, dword [0x456340]
mulss xmm2, xmm7
addss xmm2, xmm0
cvttss2si eax, xmm2
mov dword [esp + 0x58], eax
jb 0x436cdd
movaps xmm4, xmm6
cmp dword [edi + 0x3844], 0
mulss xmm3, xmm7
mov byte [esp + 0xe], 0
mov byte [esp + 0xf], 0
addss xmm3, xmm4
cvttss2si eax, xmm3
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x38]
movss xmm2, dword [eax + 0xd4]
movss xmm3, dword [eax + 0xd8]
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x40], xmm3
jne 0x436d28
movss xmm1, dword [esp + 0x10]
jmp 0x436d2b
xorps xmm1, xmm1
movaps xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + 0xd4], xmm0
test ecx, 0x300000
je 0x4370fc
test cl, 0x20
jne 0x4370fc
movss xmm2, dword [edi + 0x3804]
lea eax, [edx - 1]
movss xmm1, dword [esp + 0x70]
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
movss xmm1, dword [0x4563f0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
movss xmm0, dword [esp + 0x70]
movss dword [esp + 0x44], xmm1
addss xmm1, xmm2
mulss xmm1, xmm3
movss xmm3, dword [0x45651c]
subss xmm0, xmm1
movss xmm1, dword [0x4563f0]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, ecx
and eax, 0x1000000
mov ecx, str.M:000
mov dword [esp + 0x10], eax
mov eax, str.M:0.000
cmove eax, ecx
mov ecx, dword [0x471270]
push ecx
cvtdq2ps xmm0, xmm0
push 0
push eax
lea eax, [esp + 0x2c]
push ecx
movss xmm2, dword [ecx + 0x3bcc]
mov ecx, dword [ecx + 0x3bc8]
maxss xmm1, xmm0
mov dword [esp], 0xbf800000
push eax
movss dword [esp + 0x30], xmm1
call fcn.004294d0
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [0x4563e8]
movss xmm1, dword [esp + 0x44]
mov ecx, dword [ebp + 8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x436e3e
xor eax, eax
jmp 0x436e4c
mov eax, ecx
and eax, 0x200000
neg eax
sbb eax, eax
neg eax
inc eax
mov edx, dword [esp + 0x18]
xor esi, esi
test edx, edx
je 0x43731d
shl eax, 4
cmp dword [esp + 0x10], esi
je 0x436fb5
and ecx, 8
mov dword [esp + 0x20], ecx
lea ecx, [eax + 0x455744]
mov dword [esp + 0x10], ecx
test esi, esi
je 0x436e9a
movss xmm1, dword [edi + 0x3804]
xorps xmm0, xmm0
call fcn.00411950
movss xmm1, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
lea eax, [esi + 1]
cmp eax, edx
jge 0x436ea6
movaps xmm0, xmm1
jmp 0x436eac
movss xmm0, dword [esp + 0x1c]
mov eax, dword [0x471270]
or dword [eax + 0x3ec8], 1
cmp byte [esp + 0x4c], 0
movss dword [eax + 0x3ecc], xmm0
je 0x436ecc
xorps xmm0, xmm0
jmp 0x436ed4
movss xmm0, dword [0x4563f0]
movss xmm3, dword [0x45636c]
lea eax, [esp + 0x74]
push ecx
push dword [ecx]
mov ecx, dword [esi*4 + 0x455774]
mov edx, 8
push eax
lea eax, [esp + 0x6c]
movss dword [esp + 0x80], xmm0
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x70], 0
lea eax, [eax + esi*4]
push eax
call fcn.0042eca0
mov ah, byte [esp + 0x22]
add esp, 0x14
or ah, al
or byte [esp + 0xf], ah
cmp dword [esp + 0x20], 0
mov byte [esp + 0xe], ah
jne 0x436f90
mov eax, dword [0x471270]
cmp byte [eax + 0x368f], 0
mov ecx, dword [eax + 0x3e30]
mov dword [esp + 0x60], ecx
je 0x436f90
mov ecx, 0x20
call fcn.004058d0
test al, al
je 0x436f90
push ecx
mov ecx, dword [esp + 0x64]
push str.context
call fcn.004055c0
mov dword [esp + 0x60], eax
test eax, eax
jne 0x436f84
push 0x24ac
push 0x44a3d0
push str.id___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esp + 0x6c]
add esp, 0xc
mov edx, 1
mov ecx, eax
call fcn.004128e0
mov ecx, dword [esp + 0x10]
inc esi
movss xmm1, dword [esp + 0x44]
add ecx, 4
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
cmp esi, dword [esp + 0x18]
jl 0x436e78
jmp 0x43731a
xor esi, esi
mov edx, 0xff
cmp byte [esp + 0x4c], 0
cmovne edx, esi
and ecx, 8
mov dword [esp + 0x74], ecx
lea ecx, [eax + 0x4556ec]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x10], ecx
nop dword [eax]
test esi, esi
jle 0x437002
movss xmm1, dword [edi + 0x3804]
xorps xmm0, xmm0
call fcn.00411950
movss xmm1, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
lea eax, [esi + 1]
cmp eax, dword [esp + 0x18]
jge 0x437010
movaps xmm0, xmm1
jmp 0x437016
movss xmm0, dword [esp + 0x1c]
mov eax, dword [0x471270]
movss xmm3, dword [0x4563f0]
push ecx
push dword [ecx]
or dword [eax + 0x3ec8], 1
mov ecx, dword [esi*4 + 0x455774]
movss dword [eax + 0x3ecc], xmm0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x2c], edx
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x70], 0
lea eax, [eax + esi*4]
mov edx, 4
push eax
call fcn.0042eca0
or byte [esp + 0x22], al
add esp, 0x14
cmp dword [esp + 0x74], 0
jne 0x4370d7
mov eax, dword [0x471270]
cmp byte [eax + 0x368f], 0
mov ecx, dword [eax + 0x3e30]
mov dword [esp + 0x20], ecx
je 0x4370d7
mov ecx, 0x20
call fcn.004058d0
test al, al
je 0x4370d7
push ecx
mov ecx, dword [esp + 0x24]
push str.context
call fcn.004055c0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4370cb
push 0x24ac
push 0x44a3d0
push str.id___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov edx, 1
mov ecx, eax
call fcn.004128e0
mov ecx, dword [esp + 0x10]
inc esi
movss xmm1, dword [esp + 0x44]
add ecx, 4
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
cmp esi, dword [esp + 0x18]
jl 0x436fe0
jmp 0x43731a
test ecx, 0x400000
je 0x437331
test cl, 0x20
jne 0x437331
cmp byte [esp + 0x48], 0
mov eax, 0xff
je 0x43718b
mov ecx, dword [esp + 0x58]
test ecx, ecx
jns 0x43712f
mov dword [esp + 0x1c], 0
jmp 0x437138
cmp ecx, eax
cmovg ecx, eax
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0x54]
test esi, esi
jns 0x437144
xor esi, esi
jmp 0x437149
cmp esi, eax
cmovg esi, eax
mov edx, dword [esp + 0x5c]
test edx, edx
jns 0x437155
xor edx, edx
jmp 0x43715a
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0x50]
test ecx, ecx
jns 0x437166
xor ecx, ecx
jmp 0x43716b
cmp ecx, eax
cmovg ecx, eax
push edx
push dword [esp + 0x20]
lea eax, [esp + 0x98]
push esi
push ecx
push 0x4553f8
push 0x40
push eax
call fcn.00403320
add esp, 0x1c
jmp 0x4371d8
mov esi, dword [esp + 0x54]
test esi, esi
jns 0x437197
xor esi, esi
jmp 0x43719c
cmp esi, eax
cmovg esi, eax
mov edx, dword [esp + 0x58]
test edx, edx
jns 0x4371a8
xor edx, edx
jmp 0x4371ad
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0x50]
test ecx, ecx
jns 0x4371b9
xor ecx, ecx
jmp 0x4371be
cmp ecx, eax
cmovg ecx, eax
push edx
push esi
push ecx
push 0x45540c
lea eax, [esp + 0xa0]
push 0x40
push eax
call fcn.00403320
add esp, 0x18
mov eax, dword [0x471270]
xor edx, edx
movss xmm5, dword [esp + 0x70]
mov ecx, str.Text
push 0
push 0
or dword [eax + 0x3ec8], 1
movss dword [eax + 0x3ecc], xmm5
lea eax, [esp + 0x68]
push 6
push eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x70], 0
push 0x40
push eax
mov dword [esp + 0x7c], 0
call fcn.00432410
add esp, 0x18
test al, al
je 0x4372b9
mov byte [esp + 0xe], 1
lea ecx, [esp + 0x90]
nop word [eax + eax]
mov al, byte [ecx]
cmp al, 0x23
je 0x43724e
cmp al, 0x20
je 0x43724e
cmp al, 9
jne 0x437251
inc ecx
jmp 0x437240
cmp byte [esp + 0x48], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x5c], 0xff
je 0x43729c
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x5c]
push eax
push str._02X_02X_02X_02X
push ecx
call fcn.00401290
add esp, 0x18
jmp 0x4372b9
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
push eax
push str._02X_02X_02X
push ecx
call fcn.00401290
add esp, 0x14
mov ecx, dword [ebp + 8]
test cl, 8
jne 0x43731d
mov eax, dword [0x471270]
cmp byte [eax + 0x368f], 0
mov esi, dword [eax + 0x3e30]
je 0x43731d
mov ecx, 0x20
call fcn.004058d0
test al, al
je 0x43731a
push ecx
push str.context
mov ecx, esi
call fcn.004055c0
mov esi, eax
test esi, esi
jne 0x43730e
push 0x24ac
push 0x44a3d0
push str.id___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov edx, 1
mov ecx, esi
call fcn.004128e0
mov ecx, dword [ebp + 8]
movss xmm2, dword [esp + 0x3c]
movss xmm3, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], 0
test cl, 0x10
jne 0x43760e
test cl, 0x20
jne 0x437360
cmp dword [edi + 0x3844], 0
je 0x437360
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [edi + 0x3804]
jmp 0x437363
xorps xmm0, xmm0
cmp byte [esp + 0x48], 0
addss xmm2, xmm0
movss dword [eax + 0xd8], xmm3
movss dword [eax + 0xd4], xmm2
je 0x437385
movss xmm1, dword [esi + 0xc]
jmp 0x43738d
movss xmm1, dword [0x4563f0]
movss xmm0, dword [esi]
lea eax, [esp + 0x20]
movss dword [esp + 0x80], xmm0
lea edx, [esp + 0x80]
movss xmm0, dword [esi + 4]
push eax
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esi + 8]
push ecx
mov ecx, str.ColorButton
movss dword [esp + 0x90], xmm0
movss dword [esp + 0x94], xmm1
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.0043a580
mov ecx, dword [ebp + 8]
add esp, 8
test al, al
je 0x4374ad
test cl, 4
jne 0x4374ad
movups xmm0, xmmword [esp + 0x80]
mov esi, dword [0x471270]
push ecx
movups xmmword [edi + 0x5168], xmm0
push str.picker
mov ecx, dword [esi + 0x3e30]
call fcn.004055c0
test byte [esi + 0x5280], 4
mov dword [esp + 0x20], eax
je 0x437447
push eax
push str.picker
push str._popup__OpenPopup___s_____0x_08X_n
call fcn.004199e0
mov eax, dword [esp + 0x2c]
add esp, 0xc
xor edx, edx
mov ecx, eax
call fcn.004128e0
movss xmm1, dword [edi + 0x3ee8]
movss xmm0, dword [edi + 0x3800]
addss xmm0, dword [edi + 0x3ef4]
mov eax, dword [0x471270]
addss xmm1, dword [0x456340]
mov ecx, dword [ebp + 8]
or dword [eax + 0x3f18], 1
movss dword [eax + 0x3f2c], xmm0
movss dword [eax + 0x3f28], xmm1
mov dword [eax + 0x3f30], 0
mov dword [eax + 0x3f34], 0
mov dword [eax + 0x3f1c], 1
test cl, 8
jne 0x43750e
mov eax, dword [0x471270]
cmp byte [eax + 0x368f], 0
mov esi, dword [eax + 0x3e30]
je 0x43750e
mov ecx, 0x20
call fcn.004058d0
test al, al
je 0x43750b
push ecx
push str.context
mov ecx, esi
call fcn.004055c0
mov esi, eax
test esi, esi
jne 0x4374ff
push 0x24ac
push 0x44a3d0
push str.id___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov edx, 1
mov ecx, esi
call fcn.004128e0
mov ecx, dword [ebp + 8]
mov edx, dword [0x471270]
mov eax, dword [edx + 0x3fc0]
cmp eax, dword [edx + 0x3fcc]
jg 0x437531
mov dword [edx + 0x3f18], 0
jmp 0x43760e
push ecx
mov ecx, dword [edx + 0x3e30]
push str.picker
call fcn.004055c0
mov ecx, eax
call fcn.00412ff0
test al, al
je 0x43760b
mov eax, dword [edi + 0x3e30]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
cmp ecx, eax
je 0x4375b6
push 0
mov edx, eax
call fcn.0042bbb0
mov ecx, dword [0x471270]
add esp, 4
mov eax, dword [ecx + 0x3e30]
mov byte [eax + 0x90], 1
mov eax, dword [ecx + 0x3e30]
cmp byte [eax + 0x93], 0
jne 0x4375b6
movss xmm1, dword [0x456544]
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.004115d0
mov eax, dword [0x471270]
mov ecx, 0x452d90
movss xmm0, dword [esp + 0x78]
mulss xmm0, dword [0x45647c]
mov edx, dword [esp + 0x14]
or dword [eax + 0x3ec8], 1
movss dword [eax + 0x3ecc], xmm0
lea eax, [edi + 0x5168]
push eax
mov eax, dword [esp + 0x80]
and eax, 0x1f890002
or eax, 0x740080
push eax
call fcn.00437c60
or byte [esp + 0x16], al
add esp, 8
call fcn.004131e0
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x68]
cmp dword [esp + 0x6c], esi
je 0x43763c
test cl, cl
js 0x43763c
movss xmm1, dword [edi + 0x3804]
xorps xmm0, xmm0
call fcn.00411950
mov ecx, dword [esp + 0x6c]
mov edx, esi
push 0
call fcn.0042bbb0
add esp, 4
cmp byte [esp + 0xe], 0
je 0x437827
cmp dword [esp + 0x10], 0
jne 0x437827
cmp byte [esp + 0xf], 0
jne 0x43766d
movups xmm0, xmmword [esp + 0x50]
cvtdq2ps xmm0, xmm0
divps xmm0, xmmword [0x456630]
movups xmmword [esp + 0x28], xmm0
mov eax, dword [ebp + 8]
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x43774a
movss xmm0, dword [esp + 0x28]
lea eax, [esp + 0x30]
movss xmm1, dword [esp + 0x2c]
lea edx, [esp + 0x2c]
movss xmm2, dword [esp + 0x30]
lea ecx, [esp + 0x28]
push eax
movss dword [edi + 0x515c], xmm0
movss dword [edi + 0x5160], xmm1
call fcn.00403aa0
movss xmm1, dword [esp + 0x2c]
xorps xmm4, xmm4
movss xmm5, dword [0x4563f0]
add esp, 4
comiss xmm4, xmm1
jbe 0x4376d2
xorps xmm0, xmm0
jmp 0x4376d9
movaps xmm0, xmm5
minss xmm0, xmm1
movss xmm7, dword [0x4564d4]
movss xmm6, dword [0x4563b4]
movss xmm2, dword [esp + 0x2c]
comiss xmm4, xmm2
mulss xmm0, xmm7
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x437705
xorps xmm0, xmm0
jmp 0x43770c
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm3, dword [esp + 0x30]
mulss xmm0, xmm7
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm4, xmm3
jbe 0x43772d
xorps xmm5, xmm5
jmp 0x437731
minss xmm5, xmm3
mulss xmm5, xmm7
addss xmm5, xmm6
cvttss2si eax, xmm5
shl eax, 0x10
or eax, ecx
mov dword [edi + 0x5164], eax
jmp 0x43775f
movss xmm3, dword [esp + 0x30]
xorps xmm4, xmm4
movss xmm2, dword [esp + 0x2c]
movss xmm1, dword [esp + 0x28]
mov eax, dword [ebp + 8]
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x437803
movaps xmm5, xmm1
movaps xmm1, xmm2
movaps xmm0, xmm1
movaps xmm6, xmm5
comiss xmm3, xmm0
jbe 0x437791
movss xmm4, dword [0x456544]
movaps xmm1, xmm3
movaps xmm3, xmm0
comiss xmm1, xmm6
jbe 0x4377ab
movss xmm0, dword [0x456530]
movaps xmm5, xmm1
subss xmm0, xmm4
movaps xmm1, xmm6
movaps xmm4, xmm0
movaps xmm0, xmm1
movaps xmm2, xmm5
minss xmm0, xmm3
subss xmm1, xmm3
movaps xmm3, xmm5
movss dword [esp + 0x30], xmm3
subss xmm2, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x456468]
addss xmm0, dword [0x456354]
divss xmm1, xmm0
movaps xmm0, xmm5
addss xmm0, dword [0x456354]
addss xmm1, xmm4
divss xmm2, xmm0
andps xmm1, xmmword [0x456640]
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x2c], xmm2
cmp byte [esp + 0x48], 0
mov eax, dword [esp + 0x14]
movss dword [eax], xmm1
movss dword [eax + 4], xmm2
movss dword [eax + 8], xmm3
je 0x437827
movss xmm0, dword [esp + 0x34]
movss dword [eax + 0xc], xmm0
mov eax, dword [0x471270]
mov esi, dword [eax + 0x3e30]
cmp dword [esi + 0xc8], 1
jg 0x437853
push 0x1d5a
push 0x44a3d0
push str.window__IDStack.Size___1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp dword [esi + 0xc8], 0
jg 0x437874
push 0x719
push 0x44a2c8
push str.Size___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
dec dword [esi + 0xc8]
call fcn.00411cc0
test byte [edi + 0x3ee4], 1
je 0x4379fd
test dword [ebp + 8], 0x200
jne 0x4379fd
call fcn.00418300
test al, al
je 0x4379fd
mov ecx, str._COL3F
mov byte [esp + 0xf], 0
call fcn.004183f0
mov esi, dword [esp + 0x14]
test eax, eax
je 0x4378d7
mov eax, dword [eax]
mov byte [esp + 0xf], 1
mov byte [esp + 0xe], 1
movq xmm0, qword [eax]
movq qword [esi], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov ecx, str._COL4F
call fcn.004183f0
test eax, eax
je 0x4378ff
mov ecx, dword [esp + 0x18]
shl ecx, 2
push ecx
push dword [eax]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esp + 0xe], 1
jmp 0x43790a
cmp byte [esp + 0xf], 0
je 0x4379ae
test dword [ebp + 8], 0x10000000
je 0x4379ae
movss xmm2, dword [esi + 4]
movss xmm5, dword [esi + 8]
comiss xmm5, xmm2
movss xmm3, dword [esi]
jbe 0x43793d
movss xmm4, dword [0x456544]
movaps xmm0, xmm2
movaps xmm2, xmm5
movaps xmm5, xmm0
jmp 0x437940
xorps xmm4, xmm4
comiss xmm2, xmm3
jbe 0x43795d
movaps xmm0, xmm3
movaps xmm3, xmm2
movaps xmm2, xmm0
movss xmm0, dword [0x456530]
subss xmm0, xmm4
movaps xmm4, xmm0
movaps xmm0, xmm2
movss dword [esi + 8], xmm3
minss xmm0, xmm5
movaps xmm1, xmm3
subss xmm2, xmm5
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x456468]
addss xmm0, dword [0x456354]
divss xmm2, xmm0
movaps xmm0, xmm3
addss xmm0, dword [0x456354]
addss xmm2, xmm4
divss xmm1, xmm0
andps xmm2, xmmword [0x456640]
movss dword [esi], xmm2
movss dword [esi + 4], xmm1
mov esi, dword [0x471270]
cmp byte [esi + 0x4158], 0
jne 0x4379d5
push 0x2c61
push 0x44a3d0
push str.g.DragDropActive
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp byte [esi + 0x415a], 0
jne 0x4379f6
push 0x2c62
push 0x44a3d0
push str.g.DragDropWithinTarget
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov byte [esi + 0x415a], 0
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x437a1d
mov eax, dword [edi + 0x3e68]
test eax, eax
je 0x437a1d
cmp dword [edi + 0x3e84], ecx
jne 0x437a1d
mov dword [edi + 0x3edc], eax
mov cl, byte [esp + 0xe]
test cl, cl
je 0x437a72
mov esi, dword [0x471270]
mov eax, dword [esi + 0x3e68]
cmp eax, dword [edi + 0x3edc]
je 0x437a62
test eax, eax
je 0x437a62
cmp byte [esi + 0x4158], 0
jne 0x437a62
push 0xd8d
push 0x44a3d0
push str.g.ActiveId__id__g.ActiveId__0__g.DragDropActive
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov cl, byte [esp + 0x1a]
add esp, 0xc
or dword [esi + 0x3ee4], 4
mov word [esi + 0x3e78], 0x101
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret