Function at 0x10039eb0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a9ba4
mov eax, dword fs:[0]
push eax
sub esp, 0x6fc
mov eax, dword [0x100dc0d8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x90], 0
mov byte [ebp - 0x89], 0
mov dword [ebp - 0x94], 0
mov ecx, dword [ebp - 0x88]
add ecx, 0xc4
call fcn.100066e0
movzx eax, al
test eax, eax
je 0x1003a00f
call fcn.1004ec30
mov dword [ebp - 0x98], eax
push 1
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x98]
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 0x13c], al
cmp byte [ebp - 0x13c], 1
je 0x10039f4c
jmp 0x1003a00a
push 0x100b7228
lea ecx, [ebp - 0x268]
call fcn.1000c2e0
mov dword [ebp - 4], 0
push 0x100b7224
lea ecx, [ebp - 0x1a8]
call fcn.1000c2e0
mov byte [ebp - 4], 1
call fcn.1004ec30
mov dword [ebp - 0x9c], eax
push str.param_error
push 0x36e
lea ecx, [ebp - 0x268]
push ecx
lea edx, [ebp - 0x1a8]
push edx
lea ecx, [ebp - 0x378]
call fcn.1000cda0
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x144]
call fcn.10006e50
push eax
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [edx + 0x1c]
call eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x378]
call fcn.1000e1d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a8]
call fcn.100045a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.100045a0
jmp 0x1003a796
call fcn.1004ec30
mov dword [ebp - 0xa0], eax
push 1
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xa0]
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 0x148], al
cmp byte [ebp - 0x148], 1
je 0x1003a043
jmp 0x1003a115
push 0x100b7298
lea ecx, [ebp - 0x160]
call fcn.1000c2e0
mov dword [ebp - 4], 3
push 0x100b72f0
lea ecx, [ebp - 0x280]
call fcn.1000c2e0
mov byte [ebp - 4], 4
call fcn.1004ec30
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x88]
add ecx, 0xc4
push ecx
push 0x100b72f4
push 0x371
lea edx, [ebp - 0x160]
push edx
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x410]
call fcn.1000cda0
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xe8], ecx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xe8]
call fcn.10006e50
mov ecx, eax
call fcn.10032890
push eax
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [eax + 0x1c]
call edx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x410]
call fcn.1000e1d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x280]
call fcn.100045a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x160]
call fcn.100045a0
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 1
jne 0x1003a130
mov dword [ebp - 0xa8], str.web_add_start_active
jmp 0x1003a13a
mov dword [ebp - 0xa8], str.web_add_start_passive
push 1
push 1
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.10010c90
mov ecx, eax
call fcn.10005630
push 4
lea ecx, [ebp - 0x14]
call fcn.10006260
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0xa4]
push eax
lea ecx, [ebp - 0x14]
push ecx
call fcn.10040f60
add esp, 8
mov dword [ebp - 4], 6
call fcn.1004ec30
mov dword [ebp - 0xac], eax
push 1
mov edx, dword [ebp - 0xac]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xac]
mov edx, dword [eax + 8]
call edx
mov byte [ebp - 0xec], al
cmp byte [ebp - 0xec], 1
je 0x1003a1af
jmp 0x1003a272
push 0x100b7360
lea ecx, [ebp - 0x190]
call fcn.1000c2e0
mov byte [ebp - 4], 7
push 0x100b73b8
lea ecx, [ebp - 0x178]
call fcn.1000c2e0
mov byte [ebp - 4], 8
call fcn.1004ec30
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x14]
push eax
push str.apppath
push 0x37a
lea ecx, [ebp - 0x190]
push ecx
lea edx, [ebp - 0x178]
push edx
lea ecx, [ebp - 0x4a8]
call fcn.1000cda0
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf4], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xf4]
call fcn.10006e30
mov ecx, eax
call fcn.10006eb0
push eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [edx + 0x1c]
call eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4a8]
call fcn.1000e1d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x178]
call fcn.100045a0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x190]
call fcn.100045a0
lea ecx, [ebp - 0x14]
call fcn.100050f0
movzx ecx, al
test ecx, ecx
je 0x1003a38f
call fcn.1004ec30
mov dword [ebp - 0xb4], eax
push 1
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [eax + 8]
call edx
mov byte [ebp - 0xf8], al
cmp byte [ebp - 0xf8], 1
je 0x1003a2b9
jmp 0x1003a371
push 0x100b73c8
lea ecx, [ebp - 0x1c0]
call fcn.1000c2e0
mov byte [ebp - 4], 0xa
push 0x100b7420
lea ecx, [ebp - 0x298]
call fcn.1000c2e0
mov byte [ebp - 4], 0xb
call fcn.1004ec30
mov dword [ebp - 0xb8], eax
push str.browser_path_empty
push 0x37c
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0x298]
push ecx
lea ecx, [ebp - 0x540]
call fcn.1000cda0
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x100]
call fcn.10006e30
push eax
mov eax, dword [ebp - 0xb8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x1c]
call eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x540]
call fcn.1000e1d0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x298]
call fcn.100045a0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1c0]
call fcn.100045a0
mov dword [ebp - 0x94], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.100044c0
jmp 0x1003a796
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0xa4], 0
je 0x1003a3d0
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0xa4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1003a3d0
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0xa4]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x1003a4da
call fcn.1004ec30
mov dword [ebp - 0xbc], eax
push 1
mov eax, dword [ebp - 0xbc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 0x104], al
cmp byte [ebp - 0x104], 1
je 0x1003a404
jmp 0x1003a4bc
push 0x100b7438
lea ecx, [ebp - 0x1f0]
call fcn.1000c2e0
mov byte [ebp - 4], 0xd
push 0x100b7490
lea ecx, [ebp - 0x1d8]
call fcn.1000c2e0
mov byte [ebp - 4], 0xe
call fcn.1004ec30
mov dword [ebp - 0xc0], eax
push str.browser_wnd_not_exist.
push 0x384
lea ecx, [ebp - 0x1f0]
push ecx
lea edx, [ebp - 0x1d8]
push edx
lea ecx, [ebp - 0x5d8]
call fcn.1000cda0
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x10c]
call fcn.10006e30
push eax
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x1c]
call eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x5d8]
call fcn.1000e1d0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1d8]
call fcn.100045a0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1f0]
call fcn.100045a0
mov dword [ebp - 0x94], 2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.100044c0
jmp 0x1003a796
push 4
lea ecx, [ebp - 0x18]
call fcn.10006260
lea ecx, [ebp - 0x18]
call fcn.10003ff0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x88]
add ecx, 0xc4
call fcn.100065a0
push eax
push str.__s_
lea ecx, [ebp - 0x18]
push ecx
call fcn.10004b70
add esp, 0xc
push 1
push 0
lea ecx, [ebp - 0x18]
call fcn.10004750
push eax
lea ecx, [ebp - 0x14]
call fcn.10004750
push eax
push 0x100b74b8
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [ebp - 0x20], eax
call fcn.1004ec30
mov dword [ebp - 0xc4], eax
push 1
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [eax + 8]
call edx
mov byte [ebp - 0x110], al
cmp byte [ebp - 0x110], 1
je 0x1003a56d
jmp 0x1003a625
push 0x100b74c8
lea ecx, [ebp - 0x220]
call fcn.1000c2e0
mov byte [ebp - 4], 0x11
push 0x100b74c4
lea ecx, [ebp - 0x208]
call fcn.1000c2e0
mov byte [ebp - 4], 0x12
call fcn.1004ec30
mov dword [ebp - 0xc8], eax
push str.shell_execute_end
push 0x392
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x208]
push ecx
lea ecx, [ebp - 0x670]
call fcn.1000cda0
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x118], edx
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x118]
call fcn.10006e30
push eax
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x1c]
call eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x670]
call fcn.1000e1d0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x208]
call fcn.100045a0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x220]
call fcn.100045a0
cmp dword [ebp - 0x20], 0x20
jg 0x1003a76c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x24], eax
call fcn.1004ec30
mov dword [ebp - 0xcc], eax
push 1
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 0x11c], al
cmp byte [ebp - 0x11c], 1
je 0x1003a66c
jmp 0x1003a746
push 0x100b7538
lea ecx, [ebp - 0x250]
call fcn.1000c2e0
mov byte [ebp - 4], 0x14
push 0x100b7534
lea ecx, [ebp - 0x238]
call fcn.1000c2e0
mov byte [ebp - 4], 0x15
call fcn.1004ec30
mov dword [ebp - 0xd0], eax
lea ecx, [ebp - 0x24]
push ecx
push str.__errcode
lea edx, [ebp - 0x20]
push edx
push str.open_fail__ret
push 0x396
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x238]
push ecx
lea ecx, [ebp - 0x708]
call fcn.1000cda0
mov dword [ebp - 0x120], eax
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x124], edx
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x124]
call fcn.10006e30
mov ecx, eax
call fcn.10006e70
mov ecx, eax
call fcn.10006e30
mov ecx, eax
call fcn.10006e90
push eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x1c]
call eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x708]
call fcn.1000e1d0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x238]
call fcn.100045a0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x250]
call fcn.100045a0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x94], ecx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x18]
call fcn.100044c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.100044c0
jmp 0x1003a796
mov byte [ebp - 0x89], 1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x18]
call fcn.100044c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.100044c0
xor edx, edx
jne 0x10039efc
movzx eax, byte [ebp - 0x89]
test eax, eax
je 0x1003aac0
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 1
jne 0x1003a818
mov edx, dword [ebp - 0x88]
add edx, 0x28
push edx
mov ecx, dword [ebp - 0x88]
add ecx, 0x40
call fcn.10022790
push 0xfde9
mov ecx, dword [ebp - 0x88]
add ecx, 0xc4
call fcn.100065a0
push eax
lea eax, [ebp - 0x2b0]
push eax
call fcn.100474e0
add esp, 0xc
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x128]
push ecx
mov ecx, dword [ebp - 0x88]
add ecx, 0x58
call fcn.1000e910
lea ecx, [ebp - 0x2b0]
call fcn.100045a0
mov edx, dword [ebp - 0x88]
cmp dword [edx + 0x88], 1
jne 0x1003a833
mov dword [ebp - 0xd4], str.web_add_success_active
jmp 0x1003a83d
mov dword [ebp - 0xd4], str.web_add_success_passive
push 1
push 1
mov eax, dword [ebp - 0xd4]
push eax
call fcn.10010c90
mov ecx, eax
call fcn.10005630
push 0xfde9
mov ecx, dword [ebp - 0x88]
add ecx, 0x8c
call fcn.10006550
push eax
lea ecx, [ebp - 0x54]
push ecx
call fcn.10047620
add esp, 0xc
mov dword [ebp - 4], 0x17
mov edx, dword [ebp - 0x88]
add edx, 0xac
push edx
lea eax, [ebp - 0x84]
push eax
call fcn.100472d0
add esp, 8
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x88]
add ecx, 0xc4
push ecx
lea edx, [ebp - 0x6c]
push edx
call fcn.100472d0
add esp, 8
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 1
jne 0x1003a8d6
mov dword [ebp - 0xd8], str.web_add_success_active2
jmp 0x1003a8e0
mov dword [ebp - 0xd8], str.web_add_success_passive2
push 0
lea ecx, [ebp - 0x6c]
call fcn.100065a0
push eax
lea ecx, [ebp - 0x84]
call fcn.100065a0
push eax
lea ecx, [ebp - 0x54]
call fcn.100065a0
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.10010c90
mov ecx, eax
call fcn.100057c0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x6c]
call fcn.100045f0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x84]
call fcn.100045f0
lea ecx, [ebp - 0x3c]
call fcn.10004270
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x88]
add edx, 0xdc
push edx
push str.web_add_
lea ecx, [ebp - 0x3c]
call fcn.10006320
mov ecx, eax
call fcn.100062e0
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 1
jne 0x1003a9b5
push str._active
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x2e0]
push edx
call fcn.10028fb0
add esp, 0xc
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x130], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x90]
or ecx, 1
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0xdc], edx
jmp 0x1003a9ee
push str._passive
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x2c8]
push ecx
call fcn.10028fb0
add esp, 0xc
mov dword [ebp - 0x134], eax
mov edx, dword [ebp - 0x90]
or edx, 2
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x138]
push edx
lea ecx, [ebp - 0x3c]
call fcn.1000e9a0
mov eax, dword [ebp - 0x90]
and eax, 2
je 0x1003aa26
and dword [ebp - 0x90], 0xfffffffd
lea ecx, [ebp - 0x2c8]
call fcn.100045f0
mov dword [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x90]
and ecx, 1
je 0x1003aa4a
and dword [ebp - 0x90], 0xfffffffe
lea ecx, [ebp - 0x2e0]
call fcn.100045f0
push 1
push 1
lea ecx, [ebp - 0x3c]
call fcn.100065a0
push eax
call fcn.10010c90
mov ecx, eax
call fcn.10005630
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x88]
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x1c
call fcn.10007260
mov ecx, eax
call fcn.10013840
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 0xf4]
add edx, 1
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xf4], edx
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x3c]
call fcn.100045f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.100045f0
jmp 0x1003ab45
push 4
lea ecx, [ebp - 0x1c]
call fcn.10006260
lea ecx, [ebp - 0x1c]
call fcn.10003ff0
mov dword [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 1
jne 0x1003aaf4
mov dword [ebp - 0xe0], str.web_add_failed_active
jmp 0x1003aafe
mov dword [ebp - 0xe0], str.web_add_failed_passive
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0xe0]
push eax
push str._s__d
lea ecx, [ebp - 0x1c]
push ecx
call fcn.10004b70
add esp, 0x10
push 1
push 1
lea ecx, [ebp - 0x1c]
call fcn.10004750
push eax
call fcn.10010c90
mov ecx, eax
call fcn.10005630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.100044c0
mov al, byte [ebp - 0x89]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004ce3a
mov esp, ebp
pop ebp
ret