Function at 0x401450
Capabilities:
Get common file path
Get program files directory
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x868
push ebx
push ebp
push esi
push edi
push str.SSLTray:_run_...
call fcn.00402a90
call fcn.0041b600
push str.SSLTray:_run_end
mov dword [0x4ac7a4], eax
call fcn.00402a90
mov eax, dword [0x4ac7a4]
add esp, 8
test eax, eax
jne 0x401495
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x5030f8]
test eax, eax
mov ecx, dword [0x5030fc]
mov esi, dword [0x503100]
jg 0x4014b6
test ecx, ecx
jg 0x4014b6
test esi, esi
jle 0x4015c5
xor edx, edx
mov dword [esp + 0x39], edx
mov dword [esp + 0x3d], edx
mov dword [esp + 0x41], edx
mov dword [esp + 0x45], edx
mov dword [esp + 0x49], edx
mov dword [esp + 0x4d], edx
mov dword [esp + 0x51], edx
mov word [esp + 0x55], dx
mov byte [esp + 0x57], dl
mov byte [esp + 0x18], dl
push esi
mov byte [esp + 0x3c], 0
mov dword [esp + 0x1d], edx
mov dword [esp + 0x21], edx
mov dword [esp + 0x25], edx
mov dword [esp + 0x29], edx
mov dword [esp + 0x2d], edx
mov dword [esp + 0x31], edx
mov dword [esp + 0x35], edx
mov word [esp + 0x39], dx
mov byte [esp + 0x3b], dl
mov byte [esp + 0x5c], dl
mov dword [esp + 0x5d], edx
mov dword [esp + 0x61], edx
mov dword [esp + 0x65], edx
mov dword [esp + 0x69], edx
mov dword [esp + 0x6d], edx
mov dword [esp + 0x71], edx
mov dword [esp + 0x75], edx
mov word [esp + 0x79], dx
mov byte [esp + 0x7b], dl
lea edx, [esp + 0x5c]
push edx
push ecx
lea ecx, [esp + 0x44]
push ecx
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.0041c000
xor eax, eax
mov byte [esp + 0x490], 0
mov ecx, 0xff
lea edi, [esp + 0x491]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x49c]
push str.SSLTray:_ExtendCommand_Addr_is_IP_s_MAC_s_HOST_s.
push eax
call fcn.0044dd9b
lea ecx, [esp + 0x4a4]
push ecx
call fcn.00402a90
lea edx, [esp + 0x88]
push edx
mov edx, dword [0x49f060]
lea eax, [esp + 0x6c]
push eax
mov eax, dword [0x4ac7a4]
lea ecx, [esp + 0x50]
push ecx
push 0x4ac7c8
push edx
push 0x4d3ed0
push eax
call fcn.004025b0
add esp, 0x4c
mov ecx, dword [0x4ac7a4]
push ecx
call fcn.0040fac0
mov edx, dword [0x4ac7a4]
push edx
call fcn.0040fc20
mov eax, dword [0x4ac7a4]
push eax
call fcn.0040fd70
mov ecx, dword [0x4ac7a4]
push ecx
call fcn.0040ff30
mov edx, dword [0x4ac7a4]
push edx
call fcn.0040f950
mov eax, dword [0x4ac7a4]
push eax
call fcn.0040f760
add esp, 0x18
test eax, eax
jne 0x40161f
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004105b0
test eax, eax
jne 0x401635
mov eax, 0xfffffffd
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00410730
test eax, eax
jne 0x40164b
mov eax, 0xfffffffc
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00410710
mov ecx, dword [0x4ac7a0]
push ecx
push 0x5030b0
call fcn.004182b0
mov edi, eax
add esp, 8
cmp edi, 0xffffffff
je 0x40168b
mov edx, dword [0x4ac7a4]
push edx
call fcn.00410080
add esp, 4
test eax, eax
jne 0x40168b
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ebx, 1
xor esi, esi
cmp edi, ebx
sete al
push 0x5030b0
push eax
mov dword [esp + 0x1c], eax
call fcn.00418460
add esp, 8
test eax, eax
je 0x4016d5
nop
call fcn.00418120
test eax, eax
jne 0x4016e2
cmp esi, 3
jge 0x4016e2
push 0x5030b0
push ebx
mov dword [esp + 0x1c], ebx
inc esi
call fcn.00418460
add esp, 8
test eax, eax
jne 0x4016b0
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00417a70
mov edi, dword [sym.imp.WS2_32.dll_inet_addr]
push 0x4d3f8c
call edi
push eax
call fcn.00416e70
mov eax, dword [0x49f270]
mov ebp, dword [sym.imp.WS2_32.dll_htons]
add esp, 4
xor ebx, ebx
test eax, eax
jle 0x40176a
mov esi, 0x4d4e9c
mov eax, dword [esi + 0x48]
test eax, eax
je 0x40175a
xor eax, eax
mov ax, word [esi]
push eax
call ebp
xor ecx, ecx
mov cx, word [esi - 4]
push eax
push ecx
call ebp
mov edx, dword [esi - 0x14]
push eax
push edx
lea eax, [esi - 0x28]
push eax
call edi
push eax
mov eax, dword [esi - 8]
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
push ecx
mov ecx, dword [esi - 0x10]
test ecx, ecx
sete dl
push edx
call fcn.00416f30
add esp, 0x18
test eax, eax
jne 0x4017c1
mov eax, dword [0x49f270]
inc ebx
add esi, 0xb8
cmp ebx, eax
jl 0x401713
cmp dword [0x5030d0], 1
je 0x40177c
mov eax, dword [0x49f268]
test eax, eax
jne 0x4017a0
push 0x35
call ebp
push eax
push 0x35
call ebp
push eax
push 0x20
push 0x4d3ed0
call edi
push eax
push 0
push 0
call fcn.00416f30
add esp, 0x18
test eax, eax
jne 0x4017c1
push 0x4d3ed0
call edi
push eax
call fcn.004172e0
add esp, 4
test eax, eax
je 0x4017ce
mov eax, 0xfffffff7
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x5030d4]
push eax
call fcn.00417390
add esp, 4
test eax, eax
je 0x4017ed
mov eax, 0xfffffff6
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x5030d4]
test eax, eax
je 0x40182f
mov eax, dword [0x5030d8]
test eax, eax
jle 0x40182f
xor ebp, ebp
test eax, eax
jle 0x40182f
mov esi, 0x502e40
lea ebx, [ebx]
lea ecx, [esi - 0x10]
push ecx
call edi
mov edx, dword [esi]
push edx
push eax
call fcn.00417440
mov eax, dword [0x5030d8]
add esp, 8
inc ebp
add esi, 0x14
cmp ebp, eax
jl 0x401810
mov eax, dword [0x5030f0]
xor ebp, ebp
test eax, eax
jle 0x40185f
mov esi, 0x4d3fc0
nop
lea eax, [esi - 0x10]
push eax
call edi
mov ecx, dword [esi]
push ecx
push eax
call fcn.004175b0
mov eax, dword [0x5030f0]
add esp, 8
inc ebp
add esi, 0x14
cmp ebp, eax
jl 0x401840
mov eax, dword [0x5030f4]
xor ebp, ebp
test eax, eax
jle 0x40188f
mov esi, 0x4d4940
nop
lea edx, [esi - 0x10]
push edx
call edi
mov ecx, dword [esi]
push ecx
push eax
call fcn.00417680
mov eax, dword [0x5030f4]
add esp, 8
inc ebp
add esi, 0x14
cmp ebp, eax
jl 0x401870
push 0x200
lea edx, [esp + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea edi, [esp + 0x78]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4018a4
mov ax, word [0x47a898]
mov word [edi], ax
lea edi, [esp + 0x78]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4018c0
mov ecx, dword [str.SA_Config.txt]
mov edx, dword [0x47a88c]
mov eax, dword [0x47a890]
mov dword [edi], ecx
mov cx, word [0x47a894]
mov dword [edi + 4], edx
lea edx, [esp + 0x78]
mov dword [edi + 8], eax
push 0x47a884
push edx
mov word [edi + 0xc], cx
call fcn.0044dd88
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x401964
mov eax, dword [0x5030d4]
push eax
push 0x4d3ed0
push str._s_d
push ebp
call fcn.0044dcce
mov eax, dword [0x5030d8]
add esp, 0x10
xor edi, edi
test eax, eax
jle 0x401950
mov esi, 0x502e30
lea ecx, [ecx]
mov ecx, dword [esi + 0x10]
push ecx
push esi
push 0x47a874
push ebp
call fcn.0044dcce
mov eax, dword [0x5030d8]
add esp, 0x10
inc edi
add esi, 0x14
cmp edi, eax
jl 0x401930
push 0x47a870
push ebp
call fcn.0044dcce
push ebp
call fcn.0044dc7d
add esp, 0xc
push 0
push 0x26
lea edx, [esp + 0x280]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea edi, [esp + 0x278]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x401980
mov eax, dword [0x47a868]
mov cx, word [0x47a86c]
mov dword [edi], eax
mov word [edi + 4], cx
lea edi, [esp + 0x278]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4019a2
mov edx, dword [str.X_Debug.txt]
mov eax, dword [0x47a860]
mov ecx, dword [0x47a864]
mov dword [edi], edx
lea edx, [esp + 0x278]
mov dword [edi + 4], eax
push 0x47a858
mov ebp, 1
push edx
mov dword [edi + 8], ecx
mov esi, ebp
call fcn.0044dd88
add esp, 8
test eax, eax
jne 0x4019f4
push str.SSLTray:_RdrSetAccess_is_00
call fcn.00402a90
add esp, 4
xor esi, esi
jmp 0x401a07
push eax
call fcn.0044dc7d
push str.SSLTray:_RdrSetAccess_is_11
call fcn.00402a90
add esp, 8
push esi
call fcn.00417750
add esp, 4
test eax, eax
jne 0x4017e0
mov eax, dword [0x49f268]
xor ebx, ebx
test eax, eax
jl 0x401be5
mov eax, dword [0x4ac7a4]
push eax
call fcn.004103c0
add esp, 4
test eax, eax
jne 0x401a46
mov eax, 0xfffffff1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x5030dc]
push ecx
push 0x4ac7a8
call fcn.00405a10
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
je 0x401a81
mov edx, dword [0x4ac7a4]
push edx
call fcn.00410210
add esp, 4
test eax, eax
jne 0x401a81
mov eax, 0xfffffff0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp esi, ebp
sete bl
push 0x4ac7a8
push ebx
call fcn.00405bc0
add esp, 8
test eax, eax
jne 0x401aa7
mov eax, 0xffffffef
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004058d0
test eax, eax
jne 0x401abd
mov eax, 0xffffffee
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x49f268]
push eax
lea ecx, [esp + 0x47c]
push str.SSLTray:_ICMP_config_is__d
push ecx
call fcn.0044dd9b
lea edx, [esp + 0x484]
push edx
call fcn.00402a90
add esp, 0x10
call fcn.004107b0
test eax, eax
jne 0x401afb
mov eax, 0xffffffed
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00410920
call fcn.00410af0
push 0x4d3ed0
call fcn.004109d0
mov eax, dword [0x49f268]
push eax
call fcn.00410970
mov ecx, dword [0x49f270]
push ecx
lea edx, [esp + 0x484]
push str.SSLTray:_ICMP_itemsCount_is__d
push edx
call fcn.0044dd9b
lea eax, [esp + 0x48c]
push eax
call fcn.00402a90
mov eax, dword [0x49f270]
add esp, 0x18
xor edi, edi
test eax, eax
jle 0x401b79
mov esi, 0x4d4e88
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x401b69
mov ecx, dword [esi]
push ecx
lea edx, [esi - 0x14]
push edx
call fcn.00410890
add esp, 8
mov eax, dword [0x49f270]
inc edi
add esi, 0xb8
cmp edi, eax
jl 0x401b53
mov eax, dword [0x5030f0]
xor edi, edi
test eax, eax
jle 0x401baa
mov esi, 0x4d3fb0
lea esp, [esp]
mov eax, dword [esi + 0x10]
push eax
push esi
call fcn.00410a30
mov eax, dword [0x5030f0]
add esp, 8
inc edi
add esi, 0x14
cmp edi, eax
jl 0x401b90
mov eax, dword [0x5030f4]
xor edi, edi
test eax, eax
jle 0x401bda
mov esi, 0x4d4930
lea ebx, [ebx]
mov ecx, dword [esi + 0x10]
push ecx
push esi
call fcn.00410a90
mov eax, dword [0x5030f4]
add esp, 8
inc edi
add esi, 0x14
cmp edi, eax
jl 0x401bc0
push ebp
mov ecx, 0x503104
call fcn.00406200
mov eax, dword [0x49f274]
xor edi, edi
test eax, eax
jle 0x401c2a
mov esi, 0x4acf64
mov eax, dword [esi + 4]
test eax, eax
je 0x401c1a
mov edx, dword [esi]
mov ecx, dword [esi - 0x14]
push edx
lea eax, [esi - 0x10]
push eax
push ecx
lea edx, [esi - 0x94]
push edx
call fcn.00410750
add esp, 0x10
cmp eax, ebp
jne 0x401c98
mov eax, dword [0x49f274]
inc edi
add esi, 0x9c
cmp edi, eax
jl 0x401bf5
mov eax, dword [0x5030ec]
xor edi, edi
test eax, eax
jle 0x401c5e
mov esi, 0x4d44b0
lea ebx, [ebx]
mov eax, dword [esi + 0x20]
push eax
push esi
call fcn.00410780
add esp, 8
cmp eax, ebp
jne 0x401cb2
mov eax, dword [0x5030ec]
inc edi
add esi, 0x24
cmp edi, eax
jl 0x401c40
cmp dword [0x5030d0], ebp
jne 0x401ccc
mov eax, 0x4d3ed0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401c70
sub eax, edx
push eax
push 0x4d3ed0
call fcn.00410690
add esp, 8
test eax, eax
jne 0x401ccc
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push str.SSLTray:_nspAdd_failed
call fcn.00402a90
add esp, 4
mov eax, 0xfffffff5
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push str.SSLTray:_nspAddDomain_failed
call fcn.00402a90
add esp, 4
mov eax, 0xfffffff5
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004106f0
test eax, eax
jne 0x401ce2
mov eax, 0xfffffff3
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00417820
test eax, eax
je 0x401cf8
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x14], ebp
je 0x401d02
cmp ebx, ebp
jne 0x401d20
push 4
push 0x47a7a9
push 0x47a748
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x401d20
call fcn.004013d0
pop edi
xor eax, eax
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret