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

Disassembly:
mov eax, 0x153c
call fcn.004ab980
mov eax, dword [0x4e2204]
xor eax, esp
mov dword [esp + 0x1534], eax
push ebx
mov ebx, dword [esp + 0x1544]
push ebp
push esi
push edi
lea esi, [ebx + 0x68]
mov dword [esp + 0x34], ebx
call fcn.0044a720
fld qword [0x4c8900]
fcompi st(1)
fstp st(0)
jbe 0x436cf9
call fcn.0044a720
fdiv qword [0x4c8900]
xor esi, esi
fstp dword [esp + 0x1c]
cmp dword [ebx + 0xac], esi
je 0x43740e
push 0x17
push str.Waiting_for_Hue_changes
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], esi
call fcn.0043c200
push 7
push str.Waiting
lea ecx, [esp + 0x30]
push ecx
mov dword [esp + 0x34], esi
call fcn.0043c200
fld qword [0x4d33d0]
movss xmm0, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xac]
mov edx, dword [ecx]
mov edx, dword [edx]
sub esp, 0x10
fstp qword [esp + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3c]
push eax
call edx
lea ecx, [esp + 0x28]
call fcn.00401420
lea ecx, [esp + 0x24]
jmp 0x437409
mov eax, dword [ebx + 0x64]
mov esi, dword [esp + 0x1554]
shr eax, 1
cmp eax, esi
ja 0x436d24
mov edi, ebx
call fcn.00437620
push esi
push ebx
call fcn.00436090
test eax, eax
jne 0x437410
call fcn.00437620
movss xmm0, dword [ebx + 0xcc]
movss dword [esp + 0x1c], xmm0
fld dword [esp + 0x1c]
fistp dword [esp + 0x18]
cmp dword [esp + 0x18], 0
xorps xmm0, xmm0
jne 0x436d70
movss xmm1, dword [ebx + 0xdc]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x436d70
movss xmm1, dword [ebx + 0xe0]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x436d70
mov eax, 0xffffffff
jmp 0x437410
mov ecx, dword [ebx + 0x60]
lea ebp, [esi + esi*2]
add ebp, ebp
add ebp, ebp
add ebp, ebp
cmp byte [ecx + ebp + 8], 0
lea eax, [ecx + ebp]
jne 0x436dad
mov eax, dword [eax + 0x14]
test eax, eax
je 0x436dad
add eax, 4
je 0x436dad
cmp byte [eax], 0
je 0x436dad
push esi
push ebx
call fcn.00436090
test eax, eax
jne 0x437410
mov edi, ebx
call fcn.00437620
lea esi, [ebx + 0x68]
call fcn.0044a720
fld qword [0x4c8900]
fcompi st(1)
fstp st(0)
jbe 0x436e38
call fcn.0044a720
fdiv qword [0x4c8900]
cmp dword [ebx + 0xac], 0
fstp dword [esp + 0x1c]
je 0x43740e
mov edx, str.Waiting_for_Hue_changes
lea esi, [esp + 0x34]
call fcn.004011f0
mov edx, str.Waiting
lea esi, [esp + 0x18]
call fcn.004011f0
fld qword [0x4d33d0]
movss xmm0, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xac]
mov edx, dword [ecx]
mov edx, dword [edx]
sub esp, 0x10
fstp qword [esp + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
lea eax, [esp + 0x44]
push eax
mov eax, esi
push eax
call edx
mov ecx, esi
call fcn.00401420
lea ecx, [esp + 0x34]
jmp 0x437409
mov edi, dword [ebx + 0x60]
add edi, ebp
cmp byte [edi + 8], 0xff
mov dword [esp + 0x48], edi
je 0x43740e
add edi, 0xc
xor ebp, ebp
cmp dword [edi], ebp
je 0x436e6b
push 1
mov ecx, str.not_available
mov esi, edi
call fcn.0043c480
cmp eax, 0xffffffff
jne 0x43740e
mov eax, dword [esp + 0x1554]
push eax
lea ecx, [esp + 0x20]
push ecx
push ebx
call fcn.00436a20
push edi
lea esi, [esp + 0x4bc]
mov byte [esp + 0x1b], 0
call fcn.00403e50
lea edx, [esp + 0xcf8]
push edx
mov eax, edi
call fcn.00437bf0
test dword [esp + 0x4c8], 0xfffffffc
mov dword [esp + 0x18], ebp
mov dword [esp + 0x28], ebp
jbe 0x4373b9
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov edx, dword [esp + 0x38]
cmp byte [edx + ecx], 0
je 0x437396
mov eax, ebp
lea esi, [esp + 0x2c]
lea ecx, [esp + 0x4b8]
call fcn.0042bf70
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x436ef4
add eax, 4
je 0x436ef4
cmp byte [eax], 0
jne 0x436f02
lea ecx, [esp + 0x2c]
call fcn.00401420
jmp 0x437396
push eax
call fcn.0049d2bd
mov dword [esp + 0x54], eax
add esp, 4
lea eax, [esp + 0x3c]
push eax
mov eax, ebp
lea ecx, [esp + 0xcfc]
call fcn.00404be0
lea ecx, [ebx + 0x48]
lea edx, [esp + 0x3c]
call fcn.0041e240
cmp eax, 0xffffffff
je 0x436f4a
lea ecx, [esp + 0x3c]
call fcn.00401420
lea ecx, [esp + 0x2c]
call fcn.00401420
jmp 0x437396
mov esi, 0xfffffffe
test dword [ebx + 0x58], esi
je 0x436fca
lea ecx, [esp + 0x4c]
push ecx
mov eax, ebp
lea ecx, [esp + 0xcfc]
call fcn.00404a30
xor edi, edi
mov byte [esp + 0x16], 0
test dword [ebx + 0x58], esi
jbe 0x436fb3
mov edx, dword [ebx + 0x54]
lea eax, [edx + edi*4]
mov eax, dword [eax]
test eax, eax
je 0x436f84
lea ecx, [eax + 4]
jmp 0x436f86
xor ecx, ecx
cmp dword [esp + 0x4c], 0
je 0x436fa2
push 1
lea esi, [esp + 0x50]
call fcn.0043c480
cmp eax, 0xffffffff
je 0x436fa2
mov byte [esp + 0x16], 1
mov eax, dword [ebx + 0x58]
inc edi
shr eax, 1
cmp edi, eax
jb 0x436f73
cmp byte [esp + 0x16], 0
jne 0x436fc1
lea ecx, [esp + 0x4c]
call fcn.00401420
jmp 0x436f33
lea ecx, [esp + 0x4c]
call fcn.00401420
mov esi, dword [esp + 0x28]
lea ebp, [ebx + 0xc8]
mov eax, esi
lea ecx, [esp + 0xcf8]
mov dword [esp + 0x20], ebp
call fcn.00404710
test al, al
je 0x437001
add ebx, 0xec
mov ecx, ebx
call fcn.00434e70
test al, al
je 0x437001
mov dword [esp + 0x20], ebx
mov ebp, ebx
mov eax, esi
lea esi, [esp + 0x8d8]
lea ecx, [esp + 0x4b8]
call fcn.00404060
mov eax, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x24], esi
cmp eax, esi
je 0x43702b
add eax, 4
cmp eax, esi
jne 0x437030
mov eax, 0x4cb498
mov ecx, dword [esp + 0x50]
push ecx
push eax
push str._s_lights__d_state
lea ecx, [esp + 0x30]
call fcn.00401480
add esp, 0xc
lea edx, [esp + 0x5c]
push edx
push ecx
push str.type
lea eax, [esp + 0x8e4]
mov dword [esp + 0x3c], esi
push eax
lea esi, [esp + 0xac]
call fcn.00403f90
add esp, 4
mov ecx, eax
call fcn.00403f20
lea eax, [esp + 0x5c]
lea edi, [esp + 0x40]
call fcn.00401220
lea ecx, [esp + 0x5c]
call fcn.00401420
mov ecx, esi
push ecx
call fcn.00404120
xor bl, bl
mov eax, str.Color_light
mov ecx, edi
mov byte [esp + 0x16], bl
call fcn.00401310
test al, al
je 0x4370aa
mov bl, 1
movss xmm1, dword [ebp + 0x14]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x4370c9
movss xmm1, dword [ebp + 0x18]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x4370cb
mov bl, 1
mov eax, str.Dimmable_light
lea ecx, [esp + 0x40]
call fcn.00401310
test al, al
je 0x4370e2
mov byte [esp + 0x16], 1
movss xmm0, dword [ebp + 4]
movss dword [esp + 0x74], xmm0
fld dword [esp + 0x74]
fistp dword [esp + 0x44]
cvtsi2ss xmm0, dword [esp + 0x44]
movss dword [esp + 0x70], xmm0
fld dword [esp + 0x70]
fistp dword [esp + 0x54]
mov edx, dword [esp + 0x54]
mov eax, str.Color_temperature_light
lea ecx, [esp + 0x40]
mov dword [esp + 0x50], edx
call fcn.00401310
test al, al
je 0x437134
xor bl, bl
mov eax, ebp
mov byte [esp + 0x16], bl
call fcn.00434dc0
mov dword [esp + 0x50], eax
movss xmm0, dword [ebp]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x4d36b8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x6c], xmm0
fld dword [esp + 0x6c]
fistp dword [esp + 0x64]
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x64]
add eax, edi
lea esi, [eax + 0x18]
call fcn.0044a720
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fld dword [0x4c3fa0]
fcompi st(1)
fstp st(0)
ja 0x437354
mov esi, dword [esp + 0x34]
add esi, 0x68
call fcn.0044a720
fld qword [0x4c8900]
fcompi st(1)
fstp st(0)
ja 0x437354
movss xmm0, dword [esp + 0x60]
movsd xmm1, qword [0x4d3c28]
cvtps2pd xmm2, xmm0
comisd xmm1, xmm2
jbe 0x43720e
mov ecx, dword [esp + 0x48]
movsd xmm3, qword [0x4bab50]
mov edx, dword [ecx]
cvtps2pd xmm0, xmm0
divsd xmm0, xmm1
cvtsi2sd xmm1, dword [edx + edi + 0x28]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm2, xmm0
subsd xmm3, xmm2
cvtsi2ss xmm2, ebp
cvtss2sd xmm0, xmm0
cvtss2sd xmm2, xmm2
mulsd xmm2, xmm0
mulsd xmm1, xmm3
addsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x68], xmm0
fld dword [esp + 0x68]
fistp dword [esp + 0x58]
mov ebp, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
push eax
push ebp
push str._bri_:__d__ct_:_d
lea ecx, [esp + 0x3c]
call fcn.00401480
add esp, 0xc
test bl, bl
je 0x43726e
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x78]
push ecx
lea edi, [esp + 0x84]
call fcn.00437df0
fld qword [esp + 0x80]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [esp + 0x40]
fld qword [esp + 0x88]
fstp qword [esp]
push ebp
push str._bri_:__d___xy_:__f___f_
call fcn.00401480
mov edi, dword [esp + 0x50]
add esp, 0x18
jmp 0x437287
cmp byte [esp + 0x16], 0
je 0x437287
push ebp
push str._bri_:__d
lea ecx, [esp + 0x38]
call fcn.00401480
add esp, 8
push 0xffffffffffffffff
push ecx
push 0x4cfac8
lea edx, [esp + 0x8e4]
push edx
lea esi, [esp + 0xac]
call fcn.00403f90
add esp, 4
mov ecx, eax
call fcn.00403ec0
mov eax, esi
push eax
call fcn.00404120
lea esi, [esp + 0x88]
mov dword [esp + 0x20], 0
call fcn.0044a610
push 0x4cfc44
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x3c]
call fcn.00460f70
inc dword [esp + 0x24]
add esp, 0xc
cmp dword [esp + 0x20], 0
je 0x437316
push 1
mov ecx, str.error__503
lea esi, [esp + 0x24]
call fcn.0043c480
cmp eax, 0xffffffff
je 0x437316
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [esp + 0x17], 1
jmp 0x437326
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov byte [edi + ecx], 0
mov edx, dword [eax]
mov dword [edx + edi + 0x2c], ebp
lea ecx, [esp + 0x20]
call fcn.00401420
lea ecx, [esp + 0x40]
call fcn.00401420
lea ecx, [esp + 0x30]
call fcn.00401420
lea ecx, [esp + 0x24]
call fcn.00401420
lea eax, [esp + 0x8d8]
push eax
jmp 0x437377
lea ecx, [esp + 0x40]
call fcn.00401420
lea ecx, [esp + 0x30]
call fcn.00401420
lea ecx, [esp + 0x24]
call fcn.00401420
lea ecx, [esp + 0x8d8]
push ecx
call fcn.00404120
lea ecx, [esp + 0x3c]
call fcn.00401420
lea ecx, [esp + 0x2c]
call fcn.00401420
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c8]
add dword [esp + 0x38], 0x30
inc ebp
shr edx, 2
mov dword [esp + 0x28], ebp
cmp ebp, edx
jb 0x436ebc
cmp byte [esp + 0x17], 0
jne 0x4373d6
lea esi, [ebx + 0xc8]
call fcn.00434e10
lea esi, [ebx + 0xec]
call fcn.00434e10
mov byte [ebx + 0x110], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4373ec
push eax
push str.Sent_hue_update_to__d_n
call fcn.0049d024
add esp, 8
lea esi, [esp + 0xcf8]
call fcn.0041cbe0
lea eax, [esp + 0x4b8]
push eax
call fcn.00404120
lea ecx, [esp + 0x1c]
call fcn.00401420
xor eax, eax
mov ecx, dword [esp + 0x1544]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0049ca20
add esp, 0x153c
ret 8