Function at 0x40b050
Capabilities:
Create thread

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov edi, eax
mov esi, edi
call fcn.0040a9d0
test al, al
jne 0x40b077
push edi
call fcn.0040b720
mov eax, 0xfffffffc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
xor ebx, ebx
cmp byte [edi + 0x32], bl
jne 0x40b0d9
mov esi, dword [edi + 0x4c]
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xfffffff7
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 3
push ebx
push ebx
push ebx
push ebx
push 0xfffffffffffffffe
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
push ebx
push ebx
push edi
push 0x40ae40
push ebx
push ebx
call fcn.0041cb24
push ebx
push ebx
push edi
push 0x40af40
push ebx
push ebx
mov dword [edi + 0x68], eax
call fcn.0041cb24
push ebx
push ebx
push edi
push 0x40ad80
push ebx
push ebx
call fcn.0041cb24
add esp, 0x48
call fcn.004c2ce0
mov ecx, dword [edi + 0x4c]
mov dword [eax], ecx
push ebx
xor eax, eax
push ebx
push ebx
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
call dword [sym.imp.USER32.dll_GetMessageW]
cmp eax, ebx
je 0x40b28d
mov ebp, dword [sym.imp.USER32.dll_ReleaseCapture]
lea ecx, [ecx]
cmp eax, 0xffffffff
je 0x40b28d
mov eax, dword [esp + 0x1c]
push eax
push str.msg_before_:__p
push 0xffffffffffffffff
call fcn.004ce850
add esp, 0xc
lea eax, [esp + 0x18]
call fcn.0040b800
test al, al
jne 0x40b277
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
cmp eax, 0x200
jne 0x40b1a3
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x14]
push ecx
call fcn.0040bc00
cmp dword [esp + 0x14], ebx
jne 0x40b247
mov ecx, dword [edi + 0xe6c]
cmp ecx, ebx
je 0x40b247
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push eax
call edx
jmp 0x40b247
cmp eax, 0x201
jne 0x40b1e8
mov eax, dword [esp + 0x24]
call fcn.0040bc90
cmp dword [esp + 0x14], ebx
jne 0x40b247
mov ecx, dword [edi + 0xe6c]
cmp ecx, ebx
je 0x40b247
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push edx
call eax
jmp 0x40b247
cmp eax, 0x202
jne 0x40b232
call ebp
xor eax, eax
mov byte [edi + 0xe74], bl
mov dword [edi + 0xe78], eax
mov dword [edi + 0xe7c], eax
cmp dword [esp + 0x14], ebx
jne 0x40b247
mov ecx, dword [edi + 0xe6c]
cmp ecx, ebx
je 0x40b247
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push eax
call edx
jmp 0x40b247
cmp eax, 0x100
jne 0x40b247
cmp dword [esp + 0x20], 0x1b
jne 0x40b247
mov esi, edi
call fcn.0040c400
mov eax, dword [esp + 0x1c]
push eax
push str.msg_after_:__p
push 0xffffffffffffffff
call fcn.004ce850
add esp, 0xc
cmp dword [esp + 0x14], ebx
jne 0x40b277
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push ebx
push ebx
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
cmp eax, ebx
jne 0x40b120
mov ecx, dword [edi + 0x4c]
push ecx
call dword [sym.imp.USER32.dll_CloseWindow]
mov dword [edi + 0x4c], ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret