Function at 0x458870
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x598d46
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x61ce74]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
cmp dword [ebp + 0x1c], 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x9c], esi
jne 0x459329
mov edi, dword [ebp + 0xc]
lea eax, [edi - 0x200]
cmp eax, 0xe
ja 0x458957
push dword [ebx + 0x2bc]
mov dword [ebx + 0x2c8], 1
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x45892e
mov eax, dword [ebx + 4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x2c]
push eax
push 0
push 0x407
push dword [ebx + 0x2bc]
mov dword [ebp - 0x28], edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebx + 0x2c8], 0
mov dword [esi], 0
cmp dword [ebx + 0x2c8], 0
jne 0x459322
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
cmp edi, 5
jne 0x458a9f
mov eax, dword [ebx + 0x258]
mov dword [ebx + 0x2c8], 1
test eax, eax
je 0x458989
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x458989
mov dword [ebx + 0x258], 0
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0
push eax
push dword [ebx + 4]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0xb8], eax
je 0x4591df
mov edi, dword [ebp - 0x44]
sub edi, dword [ebp - 0x4c]
push 0
call dword [sym.imp.USER32.dll_GetDC]
push edi
push dword [ebp - 0xb8]
mov dword [ebp - 0xb0], eax
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push dword [ebp - 0xb0]
mov esi, eax
mov dword [ebx + 0x258], esi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push esi
mov esi, eax
mov dword [ebp - 0xa8], eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x30], edi
mov edi, dword [sym.imp.GDI32.dll_SetBkColor]
push esi
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], eax
call edi
mov dword [ebp - 0xa8], eax
cmp eax, 0xffffffff
je 0x458a60
push 0
push 0
push 0
lea eax, [ebp - 0x3c]
push eax
push 2
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutW]
push dword [ebp - 0xa8]
push esi
call edi
push dword [ebp - 0xa0]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp - 0xb0]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
push 1
mov ecx, ebx
call fcn.00459640
mov esi, dword [ebp - 0x9c]
mov edi, dword [ebp + 0xc]
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 0x317
jne 0x458ac9
push edx
push ecx
mov eax, esp
mov dword [ebx + 0x2c8], 1
mov dword [eax], ecx
mov ecx, ebx
call fcn.0044eaa0
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 0xf
jne 0x458b3c
mov dword [ebx + 0x2c8], 1
mov dword [ebp - 0xac], ecx
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x90]
push ecx
push eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], eax
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x98], eax
push 0
push ecx
mov ecx, esp
mov byte [ebp - 4], 1
mov dword [ecx], eax
mov ecx, ebx
call fcn.0044eaa0
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x94]
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 2
jne 0x458b7d
mov eax, dword [ebx + 0x258]
mov dword [ebx + 0x2c8], 1
test eax, eax
je 0x4591df
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x4591df
mov dword [ebx + 0x258], 0
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 0x14
jne 0x458b97
mov dword [ebx + 0x2c8], 1
mov dword [esi], 1
jmp 0x4592ab
cmp edi, 0x200
jne 0x458bcd
mov eax, edx
movsx ecx, dx
shr eax, 0x10
cwde
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push eax
mov ecx, ebx
mov dword [ebx + 0x2c8], 1
call fcn.0044c610
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 0x2a3
jne 0x458d94
mov eax, dword [ebx + 0x268]
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebx + 0x2c8], 1
mov dword [ebx + 0x270], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], eax
test eax, eax
je 0x458cba
push 0x629a68
call ecx
call fcn.00457c10
lea ecx, [ebp - 0xac]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
lea ecx, [ebp - 0xb0]
push ecx
push dword [ebp - 0xa0]
mov ecx, eax
call fcn.00448660
push 0x629a68
mov dword [ebp - 0xa0], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x458ca2
mov eax, dword [eax + 4]
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x458caa
push 1
push 0
push eax
mov ecx, ebx
call fcn.00458120
mov ecx, dword [ebp - 0x9c]
lea edx, [ebp - 0xa0]
push edx
push 0
push 0
mov eax, dword [ecx]
push edi
push 0
mov dword [ebp - 0xa0], 0
mov dword [ecx + 0x98], 0
call dword [eax + 0x38]
jmp 0x458caa
xor eax, eax
mov dword [ebp - 0x9c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebx + 0x268], 0
mov eax, dword [ebx + 0x26c]
mov dword [ebp - 0xa0], eax
test eax, eax
je 0x458d40
push 0x629a68
call ecx
call fcn.00457c10
lea ecx, [ebp - 0xac]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
lea ecx, [ebp - 0xb0]
push ecx
push dword [ebp - 0xa0]
mov ecx, eax
call fcn.00448660
push 0x629a68
mov dword [ebp - 0xa0], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x458d2e
mov eax, dword [eax + 4]
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x458d36
push 2
push 0
push eax
mov ecx, ebx
call fcn.00458120
jmp 0x458d36
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebx + 0x26c], 0
mov eax, dword [ebx + 4]
push eax
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x24], eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x458d69
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x18], eax
jmp 0x458d70
mov dword [ebp - 0x18], 0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetParent]
lea ecx, [ebp - 0x24]
push ecx
push dword [ebp - 0x20]
push 0x4e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 0x201
jne 0x458dca
mov eax, edx
movsx ecx, dx
shr eax, 0x10
cwde
push eax
mov eax, dword [ebp - 0xa4]
push ecx
push eax
mov ecx, ebx
mov dword [ebx + 0x2c8], 1
call fcn.0044bef0
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 0x202
jne 0x458f98
push dword [ebx + 4]
movsx eax, dx
mov dword [ebp - 0xac], eax
mov eax, edx
shr eax, 0x10
mov dword [ebx + 0x2c8], 1
mov dword [ebp - 0xb8], eax
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [ebx + 0x278], 0
mov dword [ebp - 0xb0], 0
je 0x458e20
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov dword [ebx + 0x278], 0
mov eax, dword [ebx + 0x26c]
mov dword [ebp - 0xa0], eax
test eax, eax
je 0x4591df
push 0x629a68
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.00457c10
mov esi, eax
cmp dword [esi], 0
je 0x458e71
mov ecx, dword [ebp - 0xa0]
xor edx, edx
mov eax, ecx
div dword [esi + 8]
mov esi, dword [esi]
mov esi, dword [esi + edx*4]
test esi, esi
je 0x458e71
cmp dword [esi + 0xc], ecx
jne 0x458e6a
cmp dword [esi], ecx
je 0x458e73
mov esi, dword [esi + 8]
test esi, esi
jne 0x458e61
xor esi, esi
push 0x629a68
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x458f2e
mov esi, dword [esi + 4]
test esi, esi
je 0x458f30
push 2
push 0
push esi
mov ecx, ebx
call fcn.00458120
mov eax, dword [ebx + 0x26c]
cmp eax, dword [ebx + 0x268]
jne 0x458f30
mov edx, dword [esi]
lea eax, [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0xb8]
movzx ecx, ax
mov eax, dword [ebp - 0xac]
shl ecx, 0x10
movzx eax, ax
or ecx, eax
mov dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0xa4]
push ecx
push eax
push 0x202
push 0
mov ecx, esi
mov dword [esi + 0x98], 0
call dword [edx + 0x38]
mov eax, dword [esi + 0x40]
test eax, eax
je 0x458f1a
cmp word [eax], 0
je 0x458f1a
push 1
push 0
push 0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x458f30
mov eax, dword [esi + 0x10]
test eax, eax
je 0x458f30
mov ecx, 1
mov dword [ebp - 0xb0], eax
jmp 0x458f32
xor esi, esi
xor ecx, ecx
mov dword [ebx + 0x26c], 0
test ecx, ecx
je 0x45909b
mov eax, dword [ebx + 4]
push eax
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x40], eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [ebp - 0x3c], eax
mov ecx, esi
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x34], eax
mov eax, dword [esi]
call dword [eax + 8]
push dword [ebx + 4]
mov dword [ebp - 0x30], eax
call dword [sym.imp.USER32.dll_GetParent]
lea ecx, [ebp - 0x40]
push ecx
push dword [ebp - 0x3c]
push 0x4e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x9c]
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 0x203
jne 0x4590ac
mov eax, edx
movsx esi, dx
mov edx, dword [ebx + 0x24]
lea ecx, [ebx + 0x24]
shr eax, 0x10
push 1
cwde
push eax
push esi
mov dword [ebx + 0x2c8], 1
call dword [edx + 0x20]
mov esi, eax
test esi, esi
je 0x45909b
push 0x629a68
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.00457c10
lea ecx, [ebp - 0xac]
push ecx
lea ecx, [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
push esi
mov ecx, eax
call fcn.00448660
push 0x629a68
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x459011
mov esi, dword [esi + 4]
jmp 0x459013
xor esi, esi
mov eax, dword [esi]
mov ecx, esi
push 0x5b7f94
call dword [eax + 4]
test eax, eax
jne 0x45909b
mov eax, dword [esi]
mov ecx, esi
push str.imgbtn
call dword [eax + 4]
test eax, eax
jne 0x45909b
mov eax, dword [esi]
mov ecx, esi
push str.link
call dword [eax + 4]
test eax, eax
jne 0x45909b
cmp dword [ebx + 0x2a8], eax
je 0x45909b
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
push 0
test eax, 0x1000000
je 0x45908a
push 0xf122
push 0x112
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x9c]
mov dword [esi], 0
jmp 0x4592ab
push 0xf032
push 0x112
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x9c]
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 0x20
jne 0x45918d
mov eax, dword [ebx + 0x268]
mov dword [ebx + 0x2c8], 1
mov dword [ebp - 0xac], eax
test eax, eax
je 0x45916f
push 0x629a68
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.00457c10
mov esi, eax
cmp dword [esi], 0
je 0x459110
mov ecx, dword [ebp - 0xac]
xor edx, edx
mov eax, ecx
div dword [esi + 8]
mov esi, dword [esi]
mov esi, dword [esi + edx*4]
test esi, esi
je 0x459110
cmp dword [esi + 0xc], ecx
jne 0x459109
cmp dword [esi], ecx
je 0x459112
mov esi, dword [esi + 8]
test esi, esi
jne 0x459100
xor esi, esi
push 0x629a68
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x459169
mov esi, dword [esi + 4]
test esi, esi
je 0x459169
mov eax, dword [esi]
mov ecx, esi
push str.realwnd
call dword [eax + 4]
test eax, eax
je 0x459145
mov esi, dword [ebp - 0x9c]
xor eax, eax
jmp 0x4592a9
push 1
mov ecx, esi
call fcn.00449720
test eax, eax
jne 0x459169
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
mov esi, dword [ebp - 0x9c]
mov eax, 1
jmp 0x4592a9
mov esi, dword [ebp - 0x9c]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, 1
jmp 0x4592a9
cmp edi, 0x20a
je 0x4591d5
cmp edi, 0x87
jne 0x4591b2
mov dword [ebx + 0x2c8], 1
mov dword [esi], 0x85
jmp 0x4592ab
cmp edi, 7
jne 0x4591ea
push 0
push 0
push dword [ebx + 4]
mov dword [ebx + 0x2c8], 1
call dword [sym.imp.USER32.dll_GetNextDlgTabItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov dword [ebx + 0x2c8], 0
mov dword [esi], 0
jmp 0x4592ab
cmp edi, 0x4e
jne 0x459280
cmp dword [edx + 8], 0x3e8
jne 0x459238
lea eax, [edx + 0x10]
mov dword [ebx + 0x2c8], 1
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
lea eax, [ebp - 0x20]
mov ecx, ebx
push eax
call fcn.00457d80
mov dword [esi], 0
cmp dword [ebx + 0x2c8], 0
jne 0x459322
mov edx, dword [ebp - 0xb4]
cmp dword [edx + 8], 0xfffffff4
jne 0x459275
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], 1
push eax
mov eax, dword [ebp - 0xa4]
mov ecx, ebx
push edx
push eax
push 0x4e
call fcn.004510b0
cmp dword [ebp - 0x9c], 0
mov dword [esi], eax
jne 0x459322
mov edx, dword [ebp - 0xb4]
push edx
push dword [ebp - 0xa4]
push 0x4e
jmp 0x459298
cmp edi, 0x111
jne 0x45928d
push edx
push ecx
push edi
jmp 0x459298
cmp edi, 0x115
jne 0x4592bb
push edx
push ecx
push edi
mov ecx, ebx
mov dword [ebx + 0x2c8], 1
call fcn.0044b990
mov dword [esi], eax
cmp dword [ebx + 0x2c8], 0
je 0x4592e2
mov eax, 1
jmp 0x45932b
cmp edi, 0x114
jne 0x4592e2
push edx
push ecx
push edi
mov ecx, ebx
mov dword [ebx + 0x2c8], 1
call fcn.0044b990
mov dword [esi], eax
cmp dword [ebx + 0x2c8], 0
jne 0x459322
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], 1
push eax
mov eax, dword [ebp - 0xb4]
mov ecx, ebx
push eax
push dword [ebp - 0xa4]
push edi
call fcn.004510b0
mov dword [esi], eax
test eax, eax
jne 0x459319
lea eax, [edi - 0x132]
cmp eax, 6
jbe 0x459329
cmp dword [ebp - 0x9c], 0
je 0x459329
mov eax, 1
jmp 0x45932b
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0053d079
mov esp, ebp
pop ebp
ret 0x18