Function at 0x40abdf
Capabilities:
Create process on windows
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4cc
mov eax, dword [0x421148]
xor eax, esp
mov dword [esp + 0x4c8], eax
push ebx
push esi
push edi
xor ebx, ebx
movzx edi, dx
mov eax, edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], ecx
mov esi, ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x10], 1
cmp eax, 0x301
ja 0x40b644
cmp eax, 0x300
jae 0x40b657
cmp eax, 0x18
ja 0x40b14f
je 0x40b116
cmp eax, 7
ja 0x40afb5
je 0x40afac
sub eax, 1
je 0x40af98
sub eax, 1
je 0x40ae96
sub eax, 1
je 0x40ad3a
sub eax, 1
je 0x40ad6f
sub eax, 1
je 0x40aca5
sub eax, 1
jne case.0x40b16a.30
inc word [0x421c9e]
push 0xfffffffffffffffe
call dword [sym.imp.USER32.dll_SetThreadDpiAwarenessContext]
xor ecx, ecx
mov edi, eax
call fcn.0041c38d
push edi
call dword [sym.imp.USER32.dll_SetThreadDpiAwarenessContext]
jmp 0x40b744
mov edi, 0x421cd0
jmp 0x40acd8
call dword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
cmp eax, 0x100b
je 0x40acc7
cmp eax, 0x1009
je 0x40acc7
cmp eax, 0x100c
jne 0x40ad30
call fcn.00409f2d
mov dword [0x421cdc], ebx
mov dword [0x421cd8], ebx
mov ecx, edi
call fcn.0040d511
test eax, eax
je 0x40acac
push 0x421ea8
push 0x28
pop edx
mov ecx, 0x421e08
call fcn.0040577c
push 0x421ef8
push 0x28
pop edx
mov ecx, 0x421e58
call fcn.0040577c
mov eax, dword [esp + 0x10]
mov dword [0x422a64], eax
cmp word [0x421e08], bx
jne 0x40ad22
cmp word [0x421e58], bx
je 0x40ad24
mov ebx, eax
mov ecx, ebx
call fcn.0041d31a
jmp 0x40b744
call fcn.0040cffa
jmp 0x40b744
inc word [0x421c9a]
mov eax, dword [0x421d4c]
mov dword [0x421ccc], eax
cmp dword [0x421244], ebx
jne 0x40ad6f
push ebx
push ebx
mov edx, 0x422800
call fcn.0040e7c3
test al, al
je 0x40ad6f
mov cl, 1
call fcn.0040caa8
jmp 0x40b744
cmp edi, 4
jne 0x40ad7b
inc word [0x421c9c]
mov edi, 0x401a30
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x1b], bl
cmp dword [0x421244], ebx
jne 0x40ad9a
mov edi, dword [0x422800]
push ebx
lea ecx, [esp + 0x20]
call fcn.0040d536
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x20]
mov edx, edi
push eax
call fcn.0040a9d9
mov edi, eax
test edi, edi
jns 0x40adf8
cmp edi, 0x800704c7
je 0x40adeb
mov edx, 0x401a30
cmp dword [0x421244], ebx
jne 0x40adda
mov edx, dword [0x422800]
lea eax, [esp + 0x1c]
push eax
call fcn.0040a800
mov edi, eax
mov byte [esp + 0x1b], 1
test edi, edi
jns 0x40adf8
mov ecx, edi
call fcn.0040cfd4
jmp 0x40ae61
push 0x1fa
lea eax, [esp + 0x2d4]
push ebx
push eax
call sub.msvcrt.dll_memset
mov ecx, dword [esp + 0x34]
add esp, 0xc
test ecx, ecx
je 0x40ae25
push ecx
lea edx, [esp + 0x2d4]
call fcn.0041e01c
mov edi, eax
test edi, edi
js 0x40ae36
lea eax, [esp + 0x2d0]
cmp byte [esp + 0x1b], bl
je 0x40ae38
mov eax, ebx
push eax
push 1
lea edx, [esp + 0x24]
call fcn.0040e7c3
test al, al
je 0x40ae61
push dword [esp + 0x1c]
mov ecx, 0x422800
call fcn.0040d536
mov cl, 1
mov dword [esp + 0x1c], ebx
call fcn.0040caa8
cmp dword [esp + 0x1c], ebx
je 0x40ae71
push dword [esp + 0x1c]
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x40b744
mov dword [esp + 0x28], ebx
mov eax, dword [ecx]
push ecx
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x4234b4]
call edi
jmp 0x40b744
call fcn.0040b9ae
test eax, eax
je 0x40b744
mov eax, dword [0x421d4c]
lea ecx, [esp + 0x20]
push ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], eax
call fcn.0040d536
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x20]
call fcn.0040a6db
mov edi, eax
test edi, edi
jns 0x40aee8
cmp edi, 0x800704c7
je 0x40aee0
lea edx, [esp + 0x20]
call fcn.0040a572
mov edi, eax
test edi, edi
js 0x40af6f
mov eax, dword [0x421cc0]
push ebx
push 0x80
push 3
push ebx
push 3
push 0x80000000
push dword [esp + 0x38]
mov dword [esp + 0x2c], eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov dword [0x421cc0], eax
lea eax, [esp + 0xac]
push eax
push ebx
push dword [0x422800]
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesExW]
neg eax
push ecx
sbb eax, eax
and eax, dword [esp + 0xd0]
push ecx
mov edx, eax
mov ecx, 0x421c98
call fcn.0041cdf0
call fcn.0040c28f
mov ecx, eax
call fcn.0041d091
mov edx, dword [0x421d4c]
lea ecx, [esp + 0x20]
call fcn.0040edca
test al, al
jne 0x40af6b
mov eax, dword [esp + 0x10]
mov edi, 0x80004005
mov dword [0x421cc0], eax
test edi, edi
jns 0x40af7f
mov eax, dword [esp + 0x30]
mov ecx, edi
mov dword [0x421d4c], eax
call fcn.0040cfd4
cmp dword [esp + 0x20], ebx
je 0x40b744
push dword [esp + 0x20]
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
jmp 0x40b744
inc word [0x421c98]
xor ecx, ecx
inc ecx
call fcn.0040f6e3
jmp 0x40b744
push ebx
push ebx
push 0x10
jmp 0x40b73d
sub eax, 8
je 0x40b0d0
sub eax, 7
je 0x40b744
sub eax, 1
je 0x40b0bd
sub eax, 5
je 0x40b1be
sub eax, 1
je case.0x40b16a.29
sub eax, 1
jne case.0x40b16a.30
inc word [0x421cac]
mov eax, dword [0x422c88]
mov dword [0x422a5c], 1
test eax, eax
je 0x40b010
push ebx
push ebx
push 0x10
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
test byte [0x421c84], 0x30
mov dword [0x421d30], 0x10001
jne 0x40b028
call fcn.0040d85f
xor eax, eax
mov byte [esp + 0x14], 3
mov dword [esp + 0x10], eax
sub esp, 0xc
mov dword [esp + 0x4c], eax
mov edx, 0x10d8158
mov ax, word [esp + 0x20]
mov ecx, 0x421c84
mov word [esp + 0x50], ax
lea eax, [esp + 0x4c]
push eax
call fcn.0040e37a
movzx ecx, byte [0x422c9d]
movzx eax, byte [0x422c9e]
neg ecx
sbb ecx, ecx
and ecx, 0x100000
neg eax
sbb eax, eax
and eax, 4
or ecx, eax
or ecx, 0x40000
or dword [0x421d30], ecx
call fcn.0041b059
push 0x421d24
mov dword [0x421d38], 0x422a88
mov dword [0x421d3c], 0x800080
mov dword [0x421d34], 0x422b88
call dword [sym.imp.COMDLG32.dll_ReplaceTextW]
mov dword [0x422c88], eax
jmp 0x40b744
inc word [0x421ca0]
push ebx
push ebx
push 0xc7
jmp 0x40b18c
lea eax, [esp + 0x34]
push eax
call fcn.0040db49
mov edi, eax
test edi, edi
jns 0x40b0fc
mov ecx, dword [ebp + 4]
mov edx, 0x350
push edi
push 0x401ac4
call fcn.00406251
mov esi, dword [esp + 0x34]
jmp 0x40b747
mov esi, dword [esp + 0x34]
push 5
push ebx
push 0x401c14
push esi
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x40b744
inc word [0x421cae]
push ebx
push 0x40d090
push dword [0x422c94]
push 0xe
push dword [0x421dc0]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
jne 0x40b744
mov ecx, dword [0x421dd8]
call fcn.0040a08b
jmp 0x40b744
cmp eax, 0x40
ja 0x40b5e1
je 0x40b5c6
sub eax, 0x19
cmp eax, 0xb
ja case.0x40b16a.30
jmp dword [eax*4 + 0x40b76b]
push 0xffffffffffffffff
push ebx
push 0xb1
push dword [0x422c8c]
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0xb7
push dword [0x422c8c]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x40b744
cmp dword [0x422a5c], ebx
je 0x40b1be
cmp word [0x422b88], bx
je 0x40b1be
cmp edi, 0x1d
sete dl
call fcn.0041ae54
jmp 0x40b744
mov dword [0x422a5c], 1
cmp edi, 0x15
jne 0x40b1d4
inc word [0x421caa]
mov eax, dword [0x422c88]
test eax, eax
je 0x40b1e8
push ebx
push ebx
push 0x10
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
test byte [0x421c84], 0x30
mov dword [0x421d30], 0x10000
jne 0x40b200
call fcn.0040d85f
xor eax, eax
mov byte [esp + 0x14], 3
mov dword [esp + 0x10], eax
sub esp, 0xc
mov dword [esp + 0x54], eax
mov edx, 0x10d8158
mov ax, word [esp + 0x20]
mov ecx, 0x421c84
mov word [esp + 0x58], ax
lea eax, [esp + 0x54]
push eax
call fcn.0040e37a
movzx eax, byte [0x422c9d]
xor ecx, ecx
cmp byte [0x422c9c], cl
sete cl
neg eax
sbb eax, eax
and eax, 0x100000
or ecx, eax
movzx eax, byte [0x422c9e]
neg eax
sbb eax, eax
and eax, 4
or ecx, eax
or ecx, 0x40000
or dword [0x421d30], ecx
call fcn.0041b059
push 0x421d24
mov dword [0x421d38], ebx
mov dword [0x421d3c], 0x80
mov dword [0x421d34], 0x422b88
call dword [sym.imp.COMDLG32.dll_FindTextW]
jmp 0x40b0b3
xor ecx, ecx
call fcn.0040e4f1
jmp 0x40b744
mov ecx, dword [0x422a78]
neg ecx
sbb ecx, ecx
and ecx, 0x100000
add ecx, 0x50200104
call fcn.0041b0ed
test eax, eax
je 0x40b2df
xor eax, eax
mov dword [0x422a68], 1
cmp dword [0x422a78], eax
sete al
mov dword [0x422a78], eax
jmp 0x40b2f9
push 0x30
push dword [0x421220]
push dword [0x421204]
push dword [0x422c94]
call dword [sym.imp.USER32.dll_MessageBoxW]
test byte [0x421c78], 0x30
jne 0x40b307
call fcn.0040da4e
xor eax, eax
mov byte [esp + 0x14], 3
mov dword [esp + 0x10], eax
sub esp, 0xc
mov dword [esp + 0x5c], eax
mov edx, 0x71cda0
mov ax, word [esp + 0x20]
mov ecx, 0x421c78
mov word [esp + 0x60], ax
lea eax, [esp + 0x5c]
push eax
call fcn.0040e37a
jmp 0x40b744
lea eax, [esp + 0x9c]
push eax
push dword [0x422c94]
call dword [sym.imp.USER32.dll_GetClientRect]
cmp dword [0x422a84], ebx
je 0x40b38e
push ebx
push dword [0x422c90]
mov dword [0x422a84], ebx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
sub edx, dword [esp + 0xa0]
sub ecx, dword [esp + 0x9c]
call fcn.0040a01f
jmp 0x40b3cc
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
sub edx, dword [esp + 0xa0]
sub ecx, dword [esp + 0x9c]
mov dword [0x422a84], 1
call fcn.0040a01f
call fcn.0040c567
push 5
push dword [0x422c90]
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [0x422a68], 1
jmp 0x40b744
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x3c]
push eax
push 0x4e0
push dword [0x422c8c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x40b406
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x40b414
xor ecx, ecx
xor eax, eax
inc ecx
inc eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], eax
imul eax, eax, 0x64
xor edx, edx
div ecx
mov ecx, 0x1f4
add eax, 0xa
cmp eax, ecx
jb 0x40b429
mov eax, ecx
push 0x64
push eax
push 0x4e1
push dword [0x422c8c]
call dword [sym.imp.USER32.dll_SendMessageW]
call fcn.0040c963
jmp 0x40b744
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x30]
push eax
push 0x4e0
push dword [0x422c8c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x40b472
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x40b480
xor ecx, ecx
xor eax, eax
inc ecx
inc eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], eax
imul eax, eax, 0x64
xor edx, edx
div ecx
sub eax, 0xa
cmp eax, 0xa
ja 0x40b429
push 0xa
pop eax
jmp 0x40b429
push 0x64
push 0x64
jmp 0x40b42c
inc word [0x421cb0]
lea eax, [esp + 0x60]
push 0x3c
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
test edi, edi
je 0x40b744
mov eax, dword [esp + 0x24]
push 0x2d0
push 0x5a
push edi
mov dword [esp + 0x6c], 0x3c
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], 0x421d60
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push dword [0x421248]
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
neg eax
mov dword [esp + 0x74], 0x1010041
mov dword [0x421d60], eax
mov eax, 0x2000
push edi
push ebx
mov word [esp + 0x98], ax
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0xfffffffffffffffe
call dword [sym.imp.USER32.dll_SetThreadDpiAwarenessContext]
mov ebx, eax
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.COMDLG32.dll_ChooseFontW]
push ebx
mov edi, eax
call dword [sym.imp.USER32.dll_SetThreadDpiAwarenessContext]
test edi, edi
je 0x40b744
push dword [0x421dc8]
call dword [sym.imp.USER32.dll_SetCursor]
push 0x2d0
push dword [0x422c94]
call dword [sym.imp.USER32.dll_GetDpiForWindow]
push eax
push dword [esp + 0x78]
call dword [sym.imp.api_ms_win_core_largeinteger_l1_1_0.dll_MulDiv]
neg eax
push 0x421d60
mov dword [0x421d60], eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov edi, eax
test edi, edi
je 0x40b5ab
push dword [0x421dbc]
call dword [sym.imp.GDI32.dll_DeleteObject]
push 1
push edi
push 0x30
push dword [0x422c8c]
mov dword [0x421dbc], edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x70]
mov dword [0x421248], eax
push dword [0x421dcc]
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x422a60], 1
jmp 0x40b744
push 1
push ebx
push ebx
push 0x401b40
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
call fcn.0041d299
jmp 0x40b744
sub eax, 0x41
je 0x40b5f9
sub eax, 1
jne case.0x40b16a.30
push 1
push ebx
push ebx
push 0x401af0
jmp 0x40b109
mov eax, dword [0x421dc0]
mov edi, ebx
mov dword [esp + 0x58], eax
mov eax, dword [0x421dc4]
mov dword [esp + 0x5c], eax
push 2
push dword [esp + edi*4 + 0x5c]
call dword [sym.imp.USER32.dll_LoadIconW]
test eax, eax
jne 0x40b625
inc edi
cmp edi, 2
jb 0x40b60d
jmp 0x40b627
mov ebx, eax
push ebx
push 0x401c14
push dword [0x421220]
push dword [0x422c94]
call dword [sym.imp.SHELL32.dll_ShellAboutW]
jmp 0x40b744
sub eax, 0x302
je 0x40b6c3
sub eax, 1
je 0x40b657
mov edi, ebx
jmp 0x40b747
mov eax, 0x300
cmp di, ax
jne 0x40b66a
inc word [0x421ca2]
jmp 0x40b684
mov eax, 0x301
cmp di, ax
jne 0x40b67d
inc word [0x421ca4]
jmp 0x40b684
inc word [0x421ca8]
lea eax, [esp + 0x10]
mov dword [esp + 0x30], ebx
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x14], ebx
push eax
push 0xb0
push dword [0x422c8c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x10]
je 0x40b744
mov edx, dword [esp + 0x2c]
cmp edi, 0x1c
jne 0x40b6c3
mov edx, 0x150f
movzx edi, dx
mov eax, 0x302
cmp di, ax
jne 0x40b722
inc word [0x421ca6]
cmp dword [0x422a58], ebx
jne 0x40b722
push 0x1fa
lea eax, [esp + 0xd4]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [esp + 0xd0]
call fcn.0041e10f
test eax, eax
js 0x40b722
cmp word [esp + 0xd0], bx
je 0x40b722
lea ecx, [esp + 0xd0]
call fcn.0040d459
inc word [0x421cb6]
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [0x422c8c]
cmp eax, ecx
je 0x40b73a
cmp eax, dword [0x422c94]
jne 0x40b744
push ebx
push ebx
push edi
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
xor edi, edi
inc edi
test esi, esi
je 0x40b752
push esi
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
mov ecx, dword [esp + 0x4d4]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0041fb30
mov esp, ebp
pop ebp
ret 4