Function at 0x45ca00
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5984d6
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x62819c]
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 0x45d4b9
mov edi, dword [ebp + 0xc]
lea eax, [edi - 0x200]
cmp eax, 0xe
ja 0x45cae7
push dword [ebx + 0x2bc]
mov dword [ebx + 0x2c8], 1
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x45cabe
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 0x45d4b2
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa4]
cmp edi, 5
jne 0x45cc2f
mov eax, dword [ebx + 0x258]
mov dword [ebx + 0x2c8], 1
test eax, eax
je 0x45cb19
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x45cb19
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 0x45d36f
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 0x45cbf0
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.0045d7d0
mov esi, dword [ebp - 0x9c]
mov edi, dword [ebp + 0xc]
mov dword [esi], 0
jmp 0x45d43b
cmp edi, 0x317
jne 0x45cc59
push edx
push ecx
mov eax, esp
mov dword [ebx + 0x2c8], 1
mov dword [eax], ecx
mov ecx, ebx
call fcn.00452b80
mov dword [esi], 0
jmp 0x45d43b
cmp edi, 0xf
jne 0x45cccc
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.00452b80
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x94]
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [esi], 0
jmp 0x45d43b
cmp edi, 2
jne 0x45cd0d
mov eax, dword [ebx + 0x258]
mov dword [ebx + 0x2c8], 1
test eax, eax
je 0x45d36f
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x45d36f
mov dword [ebx + 0x258], 0
mov dword [esi], 0
jmp 0x45d43b
cmp edi, 0x14
jne 0x45cd27
mov dword [ebx + 0x2c8], 1
mov dword [esi], 1
jmp 0x45d43b
cmp edi, 0x200
jne 0x45cd5d
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.004506c0
mov dword [esi], 0
jmp 0x45d43b
cmp edi, 0x2a3
jne 0x45cf24
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 0x45ce4a
push 0x6317fc
call ecx
call fcn.0045bda0
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.0044c720
push 0x6317fc
mov dword [ebp - 0xa0], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x45ce32
mov eax, dword [eax + 4]
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x45ce3a
push 1
push 0
push eax
mov ecx, ebx
call fcn.0045c2b0
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 0x45ce3a
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 0x45ced0
push 0x6317fc
call ecx
call fcn.0045bda0
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.0044c720
push 0x6317fc
mov dword [ebp - 0xa0], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x45cebe
mov eax, dword [eax + 4]
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x45cec6
push 2
push 0
push eax
mov ecx, ebx
call fcn.0045c2b0
jmp 0x45cec6
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 0x45cef9
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x18], eax
jmp 0x45cf00
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 0x45d43b
cmp edi, 0x201
jne 0x45cf5a
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.0044ffa0
mov dword [esi], 0
jmp 0x45d43b
cmp edi, 0x202
jne 0x45d128
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 0x45cfb0
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 0x45d36f
push 0x6317fc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.0045bda0
mov esi, eax
cmp dword [esi], 0
je 0x45d001
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 0x45d001
cmp dword [esi + 0xc], ecx
jne 0x45cffa
cmp dword [esi], ecx
je 0x45d003
mov esi, dword [esi + 8]
test esi, esi
jne 0x45cff1
xor esi, esi
push 0x6317fc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x45d0be
mov esi, dword [esi + 4]
test esi, esi
je 0x45d0c0
push 2
push 0
push esi
mov ecx, ebx
call fcn.0045c2b0
mov eax, dword [ebx + 0x26c]
cmp eax, dword [ebx + 0x268]
jne 0x45d0c0
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 0x45d0aa
cmp word [eax], 0
je 0x45d0aa
push 1
push 0
push 0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x45d0c0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x45d0c0
mov ecx, 1
mov dword [ebp - 0xb0], eax
jmp 0x45d0c2
xor esi, esi
xor ecx, ecx
mov dword [ebx + 0x26c], 0
test ecx, ecx
je 0x45d22b
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 0x45d43b
cmp edi, 0x203
jne 0x45d23c
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 0x45d22b
push 0x6317fc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.0045bda0
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.0044c720
push 0x6317fc
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x45d1a1
mov esi, dword [esi + 4]
jmp 0x45d1a3
xor esi, esi
mov eax, dword [esi]
mov ecx, esi
push 0x5b45ec
call dword [eax + 4]
test eax, eax
jne 0x45d22b
mov eax, dword [esi]
mov ecx, esi
push str.imgbtn
call dword [eax + 4]
test eax, eax
jne 0x45d22b
mov eax, dword [esi]
mov ecx, esi
push str.link
call dword [eax + 4]
test eax, eax
jne 0x45d22b
cmp dword [ebx + 0x2a8], eax
je 0x45d22b
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 0x45d21a
push 0xf122
push 0x112
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x9c]
mov dword [esi], 0
jmp 0x45d43b
push 0xf032
push 0x112
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x9c]
mov dword [esi], 0
jmp 0x45d43b
cmp edi, 0x20
jne 0x45d31d
mov eax, dword [ebx + 0x268]
mov dword [ebx + 0x2c8], 1
mov dword [ebp - 0xac], eax
test eax, eax
je 0x45d2ff
push 0x6317fc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.0045bda0
mov esi, eax
cmp dword [esi], 0
je 0x45d2a0
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 0x45d2a0
cmp dword [esi + 0xc], ecx
jne 0x45d299
cmp dword [esi], ecx
je 0x45d2a2
mov esi, dword [esi + 8]
test esi, esi
jne 0x45d290
xor esi, esi
push 0x6317fc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
je 0x45d2f9
mov esi, dword [esi + 4]
test esi, esi
je 0x45d2f9
mov eax, dword [esi]
mov ecx, esi
push str.realwnd
call dword [eax + 4]
test eax, eax
je 0x45d2d5
mov esi, dword [ebp - 0x9c]
xor eax, eax
jmp 0x45d439
push 1
mov ecx, esi
call fcn.0044d7e0
test eax, eax
jne 0x45d2f9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
mov esi, dword [ebp - 0x9c]
mov eax, 1
jmp 0x45d439
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 0x45d439
cmp edi, 0x20a
je 0x45d365
cmp edi, 0x87
jne 0x45d342
mov dword [ebx + 0x2c8], 1
mov dword [esi], 0x85
jmp 0x45d43b
cmp edi, 7
jne 0x45d37a
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 0x45d43b
cmp edi, 0x4e
jne 0x45d410
cmp dword [edx + 8], 0x3e8
jne 0x45d3c8
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.0045bf10
mov dword [esi], 0
cmp dword [ebx + 0x2c8], 0
jne 0x45d4b2
mov edx, dword [ebp - 0xb4]
cmp dword [edx + 8], 0xfffffff4
jne 0x45d405
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.00455240
cmp dword [ebp - 0x9c], 0
mov dword [esi], eax
jne 0x45d4b2
mov edx, dword [ebp - 0xb4]
push edx
push dword [ebp - 0xa4]
push 0x4e
jmp 0x45d428
cmp edi, 0x111
jne 0x45d41d
push edx
push ecx
push edi
jmp 0x45d428
cmp edi, 0x115
jne 0x45d44b
push edx
push ecx
push edi
mov ecx, ebx
mov dword [ebx + 0x2c8], 1
call fcn.0044fa50
mov dword [esi], eax
cmp dword [ebx + 0x2c8], 0
je 0x45d472
mov eax, 1
jmp 0x45d4bb
cmp edi, 0x114
jne 0x45d472
push edx
push ecx
push edi
mov ecx, ebx
mov dword [ebx + 0x2c8], 1
call fcn.0044fa50
mov dword [esi], eax
cmp dword [ebx + 0x2c8], 0
jne 0x45d4b2
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.00455240
mov dword [esi], eax
test eax, eax
jne 0x45d4a9
lea eax, [edi - 0x132]
cmp eax, 6
jbe 0x45d4b9
cmp dword [ebp - 0x9c], 0
je 0x45d4b9
mov eax, 1
jmp 0x45d4bb
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.00545ec7
mov esp, ebp
pop ebp
ret 0x18