Function at 0x501040
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x58d680
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x5cca0c]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5cca0c]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
mov edi, ecx
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x6c]
push eax
lea ecx, [edi + 0x6c]
mov dword [esp + 0x64], 0
call fcn.0040a080
lea eax, [esp + 0x64]
lea esi, [esp + 0x30]
call fcn.004fd6c0
cmp dword [eax + 0x18], 8
mov byte [esp + 0x58], 1
jb 0x5010aa
mov ebx, dword [eax + 4]
jmp 0x5010ad
lea ebx, [eax + 4]
mov esi, dword [edi + 0x68]
mov ebp, dword [edi + 0x64]
call fcn.004a1350
test eax, eax
je 0x5010d3
push str.uiview_set_window_text
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x5010d3
push ebx
push 0xffffffffffffffff
push esi
push ebp
call eax
cmp dword [esp + 0x48], 8
mov byte [esp + 0x58], 0
jb 0x5010ec
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0055215c
add esp, 4
mov esi, dword [edi + 0x38]
mov ebp, dword [edi + 0x34]
call fcn.004a1350
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
je 0x501120
push str.uiview_show_window
push eax
call ebx
test eax, eax
je 0x501120
mov edx, dword [esp + 0x80]
neg edx
sbb edx, edx
and edx, 5
push edx
push esi
push ebp
call eax
mov esi, dword [edi + 0x40]
mov ebp, dword [edi + 0x3c]
call fcn.004a1350
test eax, eax
je 0x50114e
push str.uiview_show_window
push eax
call ebx
test eax, eax
je 0x50114e
mov cl, byte [esp + 0x84]
neg cl
sbb ecx, ecx
and ecx, 5
push ecx
push esi
push ebp
call eax
mov esi, dword [edi + 0x48]
mov ebp, dword [edi + 0x44]
call fcn.004a1350
test eax, eax
je 0x50117c
push str.uiview_show_window
push eax
call ebx
test eax, eax
je 0x50117c
mov dl, byte [esp + 0x88]
neg dl
sbb edx, edx
and edx, 5
push edx
push esi
push ebp
call eax
cmp dword [esp + 0x80], 0
je 0x50123e
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, 0x5ce6d8
call fcn.004c2bb0
cmp dword [esp + 0x44], 0
mov byte [esp + 0x58], 2
je 0x501204
lea eax, [esp + 0x30]
lea esi, [esp + 0x14]
call fcn.004fd6c0
cmp dword [eax + 0x18], 8
mov byte [esp + 0x58], 3
jb 0x5011c7
mov ebx, dword [eax + 4]
jmp 0x5011ca
lea ebx, [eax + 4]
mov esi, dword [edi + 0x38]
mov ebp, dword [edi + 0x34]
call fcn.004a1350
test eax, eax
je 0x5011ee
push str.uiview_set_tip_text
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x5011ee
push ebx
push esi
push ebp
call eax
cmp dword [esp + 0x2c], 8
jb 0x501225
mov edx, dword [esp + 0x18]
push edx
call fcn.0055215c
add esp, 4
jmp 0x501225
mov esi, dword [edi + 0x38]
mov ebp, dword [edi + 0x34]
call fcn.004a1350
test eax, eax
je 0x501225
push str.uiview_set_tip_text
push eax
call ebx
test eax, eax
je 0x501225
push 0
push esi
push ebp
call eax
cmp dword [esp + 0x48], 0x10
mov byte [esp + 0x58], 0
jb 0x50123e
mov eax, dword [esp + 0x34]
push eax
call fcn.0055215c
add esp, 4
mov ecx, edi
call fcn.00483710
cmp dword [esp + 0x7c], 0x10
jb 0x501259
mov ecx, dword [esp + 0x68]
push ecx
call fcn.0055215c
add esp, 4
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00552d63
add esp, 0x48
ret 0x2c