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

Disassembly:
mov ecx, dword [0x4b1550]
sub esp, 0x38
test ecx, ecx
je 0x45b6d9
cmp dword [esp + 0x40], 0
jne 0x45b6d9
mov eax, ecx
cmp byte [eax], 0
je 0x45b6a8
jmp 0x45b6a0
add eax, 1
cmp byte [eax], 0
jne 0x45b6a0
lea edx, [esp + 0x58]
push edx
lea edx, [esp + 0x58]
push edx
lea edx, [esp + 0x58]
push edx
lea edx, [esp + 0x58]
push edx
push 0x15
lea edx, [esp + 0x5c]
push edx
lea edx, [esp + 0x5c]
push edx
lea edx, [esp + 0x5c]
push edx
sub eax, ecx
push eax
push ecx
call fcn.0047b740
add esp, 0x28
push ebx
mov ebx, dword [esp + 0x64]
cmp ebx, 1
push esi
push edi
je 0x45b6ef
cmp ebx, 5
je 0x45b6ef
cmp ebx, 0xa
jne 0x45b722
mov edi, dword [esp + 0x48]
test edi, edi
je 0x45b703
mov eax, dword [edi + 0x50]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
jmp 0x45b70f
xor eax, eax
cmp dword [0x4b1530], 3
sete al
xor ecx, ecx
test eax, eax
setne cl
lea ecx, [ecx + ecx + 1]
mov dword [esp + 0x6c], ecx
mov ebx, ecx
jmp 0x45b726
mov edi, dword [esp + 0x48]
cmp dword [esp + 0x74], 0
jne 0x45b763
push 0
push str.EVERYTHING
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x45b763
mov esi, dword [0x4b05ec]
test esi, esi
je 0x45b763
jmp 0x45b750
cmp dword [esi + 0x50], eax
je 0x45b8b8
mov esi, dword [esi + 0x9c]
test esi, esi
jne 0x45b750
push 0
push str.EVERYTHING
push 0xf
call dword [sym.imp.USER32.dll_GetSysColorBrush]
push eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
mov edx, dword [0x4b03bc]
push eax
push edx
push 0x45a3d0
push 8
call fcn.004490d0
add esp, 0x1c
test eax, eax
jne 0x45b7be
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Assertion_failed__d
push str.ui_t::create
push 0x2c2
push str.._srcui.cpp
call fcn.0043a6d0
add esp, 0x14
test edi, edi
push ebp
je 0x45b933
cmp dword [edi + 0x1fc], 0
je 0x45b933
mov ebx, dword [edi + 0x1dc]
mov esi, dword [edi + 0x1e4]
mov eax, dword [edi + 0x1e0]
mov edi, dword [edi + 0x1e8]
sub edi, eax
add eax, 0x16
sub esi, ebx
lea edx, [edi + eax]
add ebx, 0x16
mov dword [esp + 0x78], eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
lea ecx, [esi + ebx]
push eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
call fcn.00445fe0
add esp, 4
test eax, eax
jne 0x45ba5e
push 1
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.USER32.dll_MonitorFromRect]
test eax, eax
je 0x45ba5e
lea edx, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x28], 0x28
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x3c]
jle 0x45b860
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x40]
jle 0x45b872
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x10]
add ecx, esi
add edx, edi
push eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
call fcn.00445fe0
add esp, 4
test eax, eax
je 0x45ba5e
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
sub esi, ebx
mov dword [esp + 0x78], eax
sub edi, eax
jmp 0x45ba5e
push ebx
mov ecx, esi
call fcn.00456f40
mov edx, dword [esi + 0x50]
push edx
call fcn.00448c00
add esp, 4
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x45b92a
push eax
mov eax, dword [esi + 0x5c]
push eax
call fcn.00448ee0
mov ecx, dword [esi + 0x5c]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
add esp, 8
push 0xffffffffffffffff
push 0
push 0xb1
push ecx
call edi
mov edx, dword [esi + 0x5c]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xb1
push edx
call edi
mov eax, dword [esi + 0x5c]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xb1
push eax
call edi
mov ecx, dword [esi + 0x5c]
push 0xffffffffffffffff
push 0
push 0xb1
push ecx
call edi
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x38
ret
mov esi, dword [0x4b1504]
test esi, esi
jle 0x45ba51
mov edx, dword [0x4b1764]
test edx, edx
jle 0x45ba51
mov ecx, dword [0x4b1518]
mov eax, dword [0x4b1734]
add edx, ecx
mov dword [esp + 0x14], ecx
push 0
lea ecx, [esp + 0x14]
add esi, eax
push ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edx
call dword [sym.imp.USER32.dll_MonitorFromRect]
mov esi, eax
test esi, esi
je 0x45ba51
lea edx, [esp + 0x10]
push edx
call fcn.00445fe0
add esp, 4
test eax, eax
jne 0x45b89b
lea eax, [esp + 0x20]
push eax
push esi
mov dword [esp + 0x28], 0x28
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
sub eax, edx
sub ecx, edi
cmp edx, ebp
jge 0x45b9cc
mov edx, ebp
mov esi, dword [esp + 0x38]
cmp edi, esi
jge 0x45b9d6
mov edi, esi
lea esi, [edx + eax]
mov edx, dword [esp + 0x3c]
add edi, ecx
cmp esi, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
jle 0x45b9f1
mov esi, edx
mov dword [esp + 0x18], esi
mov ebx, dword [esp + 0x40]
cmp edi, ebx
jle 0x45b9ff
mov edi, ebx
mov dword [esp + 0x1c], edi
mov ebx, esi
sub ebx, eax
mov eax, edi
sub eax, ecx
cmp ebx, ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
jge 0x45ba19
mov ebx, ebp
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jge 0x45ba27
mov eax, ecx
mov dword [esp + 0x14], eax
cmp esi, edx
jle 0x45ba31
mov esi, edx
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x40]
cmp edi, ecx
jle 0x45ba3f
mov edi, ecx
mov dword [esp + 0x1c], edi
cmp ebx, esi
jge 0x45ba51
cmp eax, edi
jge 0x45ba51
sub esi, ebx
mov dword [esp + 0x78], eax
sub edi, eax
jmp 0x45ba5e
mov ebx, bind
mov dword [esp + 0x78], ebx
mov esi, ebx
mov edi, ebx
push 0x2b4
call fcn.00445590
mov ecx, dword [esp + 0x50]
add esp, 4
mov ebp, eax
push ecx
mov ecx, ebp
call fcn.00455740
mov edx, dword [0x4b03b4]
mov eax, dword [esp + 0x78]
push ebp
push edx
push 0
push 0
push edi
push esi
push eax
push ebx
push 0x6cf0044
push 0x49998a
push str.EVERYTHING
push 0x40100
call fcn.004491f0
mov esi, eax
xor edi, edi
add esp, 0x30
cmp esi, edi
jne 0x45bad4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Assertion_failed__d
push str.ui_t::create
push 0x391
push str.._srcui.cpp
call fcn.0043a6d0
add esp, 0x14
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
push ecx
push edx
mov ecx, ebp
call fcn.0045afd0
lea eax, [ebp + 0x1dc]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov esi, 1
mov ecx, ebp
mov dword [ebp + 0x1fc], esi
call fcn.004571c0
mov ecx, dword [esp + 0x70]
push ecx
mov ecx, ebp
call fcn.00456f40
mov ecx, dword [esp + 0x50]
cmp ecx, edi
je 0x45bb5a
cmp byte [ecx], 0
mov eax, ecx
je 0x45bb27
add eax, esi
cmp byte [eax], 0
jne 0x45bb20
sub eax, ecx
test eax, eax
jle 0x45bb5a
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x68]
push eax
push edx
push ecx
mov ecx, ebp
call fcn.00477e70
jmp 0x45bb75
call fcn.00430790
mov dword [ebp + 0x124], esi
mov eax, dword [0x4b0274]
test eax, eax
je 0x45bb75
mov ecx, ebp
call fcn.00477e30
cmp dword [0x4b05ec], edi
je 0x45bb97
mov ecx, dword [0x4b05f0]
mov dword [ecx + 0x9c], ebp
mov edx, dword [0x4b05f0]
mov dword [ebp + 0xa0], edx
jmp 0x45bba3
mov dword [0x4b05ec], ebp
mov dword [ebp + 0xa0], edi
mov dword [ebp + 0x9c], edi
add dword [0x4b05e8], esi
mov dword [0x4b05f0], ebp
mov eax, ebp
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x38
ret