Function at 0x543320
Capabilities:
Create thread

Disassembly:
push 0x398
mov eax, 0x5d3a8d
call fcn.00573e45
mov ebx, ecx
mov dword [ebp - 0x39c], ebx
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x3a4], eax
inc eax
mov dword [ebx + 0xcc], eax
lea eax, [ebx + 0x84]
push 8
pop ecx
mov dword [ebp - 0x3a0], eax
cmp dword [eax + 0x14], ecx
jb 0x543366
mov eax, dword [eax]
mov dword [ebp - 0x3a0], eax
mov esi, dword [ebx + 0x168]
mov edi, dword [ebx + 0x164]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
push dword [ebp - 0x3a4]
mov eax, dword [ebx + 0x170]
mov edx, str.STATIC
push dword [ebx + 0x1cc]
sub eax, esi
xor ecx, ecx
push eax
mov eax, dword [ebx + 0x16c]
sub eax, edi
push eax
push esi
push edi
push 0x5000008b
push dword [ebp - 0x3a0]
call fcn.0046bfc2
push 1
mov dword [ebx + 0x1e4], eax
call fcn.005407ea
push eax
push 0x30
push dword [ebx + 0x1e4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebx + 0xcc]
push ecx
push 0
lea eax, [esi + 1]
mov dword [ebx + 0xcc], eax
mov edi, dword [ebx + 0x158]
mov ebx, dword [ebx + 0x154]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
push esi
mov esi, dword [ebp - 0x39c]
mov edx, str.msctls_progress32
push dword [esi + 0x1cc]
mov eax, dword [esi + 0x160]
sub eax, edi
push eax
mov eax, dword [esi + 0x15c]
sub eax, ebx
push eax
push edi
push ebx
xor eax, eax
cmp dword [esi + 0x78], 2
push 8
pop ecx
cmove eax, ecx
xor edi, edi
or eax, 0x50000000
xor ecx, ecx
push eax
push edi
call fcn.0046bfc2
mov ecx, 0x630c88
mov dword [esi + 0x1e0], eax
push ecx
push ecx
push eax
call dword [sym.imp.UxTheme.dll_SetWindowTheme]
movzx eax, word [0x6d47c4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
shl eax, 0x10
push eax
push edi
push 0x401
push dword [esi + 0x1e0]
call ebx
push edi
push 1
push 0x404
push dword [esi + 0x1e0]
call ebx
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push edi
push 0x2001
push dword [esi + 0x1e0]
call ebx
push 0x3ceb
push edi
push 0x409
push dword [esi + 0x1e0]
call ebx
cmp dword [esi + 0x78], 2
jne 0x5434ba
push 0x64
push 1
push 0x40a
push dword [esi + 0x1e0]
call ebx
cmp dword [esi + 0x7c], edi
je 0x5435a8
push 0x2c
call fcn.0056ef3f
pop ecx
mov dword [ebp - 0x39c], eax
mov dword [ebp - 4], edi
test eax, eax
je 0x5434e4
push ecx
push 1
mov ecx, eax
call fcn.00519c18
jmp 0x5434e6
mov eax, edi
or dword [ebp - 4], 0xffffffff
lea ebx, [esi + 0x104]
push eax
mov ecx, ebx
call fcn.0051cd73
push edi
push edi
push esi
push 0x541313
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
test edi, edi
jne 0x543538
push str.CreateThread_call_failed.
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xf
lea ecx, [ebp - 0x398]
call fcn.0050b4a0
push 0x6bd4a4
lea eax, [ebp - 0x398]
push eax
call fcn.00575c7a
push 0x14
call fcn.0056ef3f
mov dword [ebp - 0x39c], eax
pop ecx
test eax, eax
je 0x54356d
mov dword [eax], vtable.RefCounted.0
mov dword [eax + 4], 0
mov dword [eax], vtable.OHandle.0
mov dword [eax + 8], edi
mov byte [eax + 0xc], 1
mov dword [eax + 0x10], 0x55
jmp 0x54356f
xor eax, eax
test eax, eax
je 0x543577
lock inc dword [eax + 4]
mov ecx, dword [esi + 0x9c]
mov dword [esi + 0x9c], eax
mov dword [ebp - 4], 1
test ecx, ecx
je 0x543593
call fcn.0050c47a
or dword [ebp - 4], 0xffffffff
mov ecx, ebx
call fcn.0050c5f7
or edx, 0xffffffff
mov ecx, eax
call fcn.0050c494
call fcn.00573def
ret