Function at 0x408890
Capabilities:
Get hostname
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x13c
mov eax, dword [0x9320ac]
mov esi, dword [ebp + 0xc]
test eax, eax
je 0x408a10
mov ebx, dword [0x9320a0]
test ebx, ebx
je 0x408941
mov edi, 0x93209c
nop
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x4088e3
mov eax, dword [esi + 4]
test eax, eax
je 0x4088e3
mov eax, dword [esi]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call sym._strcmp
test eax, eax
js 0x408920
mov edi, ebx
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x4088c0
cmp edi, 0x93209c
je 0x408941
mov ebx, dword [esi + 4]
test ebx, ebx
jne 0x408925
mov ecx, dword [ebp + 8]
add edi, 0x18
mov dword [esp], edi
call method.xmrig::String.String_xmrig::String_const_
mov eax, dword [ebp + 8]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebx + 0xc]
jmp 0x4088e8
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x4088fb
mov eax, dword [edi + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esi]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jns 0x4088fb
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4089e2
mov ebx, dword [eax + 8]
lea edi, [eax + 4]
test ebx, ebx
je 0x4089e2
mov dword [ebp - 0x12c], edi
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x408986
mov eax, dword [esi + 4]
test eax, eax
je 0x408986
mov eax, dword [esi]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call sym._strcmp
test eax, eax
js 0x408a05
mov dword [ebp - 0x12c], ebx
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x408963
mov eax, dword [ebp - 0x12c]
cmp eax, edi
je 0x4089e2
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4089c0
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4089c0
mov eax, dword [eax + 0x10]
mov ebx, dword [esi]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._strcmp
test eax, eax
js 0x4089e4
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp + 8]
add edx, 0x18
mov dword [esp], edx
call method.xmrig::String.String_xmrig::String_const_
mov eax, dword [ebp + 8]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esi]
mov dword [esp], ebx
call sym._getenv
mov ecx, dword [ebp + 8]
mov dword [esp], eax
call method.xmrig::String.String_char_const_
mov eax, dword [ebp + 8]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebx + 0xc]
jmp 0x40898f
lea ebx, [ebp - 0x118]
mov dword [esp], str.XMRIG_VERSION
mov ecx, ebx
call method.xmrig::String.String_char_const_
lea ecx, [ebp - 0x110]
sub esp, 4
mov dword [esp], 0x7f1fe4
call method.xmrig::String.String_char_const_
sub esp, 4
mov ecx, 0x932098
mov dword [esp], ebx
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
mov ecx, ebx
mov dword [esp], str.XMRIG_KIND
call method.xmrig::String.String_char_const_
lea ecx, [ebp - 0x110]
sub esp, 4
mov dword [esp], 0x7f1ff6
call method.xmrig::String.String_char_const_
sub esp, 4
mov ecx, 0x932098
mov dword [esp], ebx
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
mov edi, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov dword [esp + 4], 0x100
mov dword [esp], ebx
call dword [sym.imp.WS2_32.dll_gethostname]
sub esp, 8
test eax, eax
je 0x408e60
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
mov dword [esp], str.XMRIG_HOSTNAME
mov ecx, ebx
call method.xmrig::String.String_char_const_
mov eax, dword [ebp - 0x120]
sub esp, 4
mov ecx, 0x932098
mov dword [esp], ebx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x10c], eax
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x408b31
mov dword [esp], eax
call sym.operator_delete___void_
lea edi, [ebp - 0x120]
mov dword [esp], edi
call method.xmrig::Process.exepath__
mov dword [esp], str.XMRIG_EXE
mov ecx, ebx
call method.xmrig::String.String_char_const_
mov eax, dword [ebp - 0x120]
sub esp, 4
mov ecx, 0x932098
mov dword [esp], ebx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x10c], eax
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x408ba5
mov dword [esp], eax
call sym.operator_delete___void_
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
call method.xmrig::Process.location_xmrig::Process::Location__char_const_
mov dword [esp], str.XMRIG_EXE_DIR
mov ecx, ebx
call method.xmrig::String.String_char_const_
mov eax, dword [ebp - 0x120]
sub esp, 4
mov ecx, 0x932098
mov dword [esp], ebx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x10c], eax
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x408c23
mov dword [esp], eax
call sym.operator_delete___void_
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], edi
call method.xmrig::Process.location_xmrig::Process::Location__char_const_
mov dword [esp], str.XMRIG_CWD
mov ecx, ebx
call method.xmrig::String.String_char_const_
mov eax, dword [ebp - 0x120]
sub esp, 4
mov ecx, 0x932098
mov dword [esp], ebx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x10c], eax
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x408ca1
mov dword [esp], eax
call sym.operator_delete___void_
mov dword [esp + 8], 0
mov dword [esp + 4], 3
mov dword [esp], edi
call method.xmrig::Process.location_xmrig::Process::Location__char_const_
mov dword [esp], str.XMRIG_HOME_DIR
mov ecx, ebx
call method.xmrig::String.String_char_const_
mov eax, dword [ebp - 0x120]
sub esp, 4
mov ecx, 0x932098
mov dword [esp], ebx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x10c], eax
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x408d1f
mov dword [esp], eax
call sym.operator_delete___void_
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], edi
call method.xmrig::Process.location_xmrig::Process::Location__char_const_
mov dword [esp], str.XMRIG_TEMP_DIR
mov ecx, ebx
call method.xmrig::String.String_char_const_
mov eax, dword [ebp - 0x120]
sub esp, 4
mov ecx, 0x932098
mov dword [esp], ebx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x10c], eax
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x408d9d
mov dword [esp], eax
call sym.operator_delete___void_
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], edi
call method.xmrig::Process.location_xmrig::Process::Location__char_const_
mov dword [esp], str.XMRIG_DATA_DIR
mov ecx, ebx
call method.xmrig::String.String_char_const_
mov eax, dword [ebp - 0x120]
sub esp, 4
mov ecx, 0x932098
mov dword [esp], ebx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x10c], eax
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x408e1b
mov dword [esp], eax
call sym.operator_delete___void_
lea ecx, [ebp - 0x128]
mov dword [esp], str.HOSTNAME
call method.xmrig::String.String_char_const_
mov eax, dword [ebp - 0x128]
sub esp, 4
mov dword [esp], eax
call sym._getenv
test eax, eax
je 0x408e80
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x4088ac
mov dword [esp], eax
call sym.operator_delete___void_
jmp 0x4088ac
lea ecx, [ebp - 0x120]
mov dword [esp], ebx
call method.xmrig::String.String_char_const_
sub esp, 4
jmp 0x408acb
mov dword [esp], edi
call method.xmrig::Env.hostname__
mov eax, dword [ebp - 0x128]
mov dword [esp], ebx
mov ecx, 0x932098
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x10c], eax
call sym.__ZNSt8_Rb_treeIN5xmrig6StringESt4pairIKS1_S1_ESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE16_M_insert_uniqueIRKS4_EES2_ISt17_Rb_tr
sub esp, 4
mov ecx, ebx
call method.std::pair_xmrig::String_const__xmrig::String_.pair__
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x408e42
mov dword [esp], eax
call sym.operator_delete___void_
jmp 0x408e42