Function at 0x140001bd0
Capabilities:
Query environment variable

Disassembly:
push rbp
push rbx
push r14
lea rbp, [rsp - 0x1000]
mov eax, 0x1100
call fcn.140010710
sub rsp, rax
mov rax, qword [0x140017008]
xor rax, rsp
mov qword [rbp + 0xfd0], rax
movsxd rbx, edx
mov r14, r8
mov qword [rsp + 0x40], r8
cmp ebx, 1
jne 0x140001c21
lea rdx, str.No_valid_arguments_recieved_by_Process
lea ecx, [rbx + 1]
call fcn.14000d370
xor eax, eax
jmp 0x14000222a
mov qword [rsp + 0x1120], rsi
xorps xmm0, xmm0
xorps xmm1, xmm1
mov qword [rsp + 0x10f8], rdi
mov qword [rsp + 0x10f0], r12
lea rcx, str.argc__d__n
movdqa xmmword [0x140017cc0], xmm0
movdqa xmmword [0x140017cd0], xmm1
movdqa xmmword [0x140017ce0], xmm0
mov edx, ebx
mov qword [rsp + 0x10e8], r13
mov dword [0x140017974], 0
movdqa xmmword [0x140017cf0], xmm1
mov qword [rsp + 0x10e0], r15
mov qword [0x140017d00], 0
call qword [sym.imp.LIBSAPUCUM.dll_printfU16]
xor esi, esi
xor edi, edi
or r12, 0xffffffffffffffff
lea r15d, [rsi + 1]
mov r13, rbx
test ebx, ebx
jle 0x140001e55
lea rbx, [0x140017cc0]
sub r14, rbx
nop dword [rax]
nop dword [rax + rax]
lea rax, [r14 + rdi*8]
lea rcx, str.argv__d__s_n
mov edx, esi
mov r8, qword [rax + rbx]
mov qword [rbx + rdi*8], r8
call qword [sym.imp.LIBSAPUCUM.dll_printfU16]
mov r9, qword [rbx + rdi*8]
mov r8, r9
mov ecx, 2
lea rdx, [0x140011ccc]
nop
movzx eax, word [rdx]
cmp word [r8], ax
jne 0x140001d08
add r8, 2
add rdx, 2
dec rcx
jne 0x140001cf0
jmp 0x140001d4d
cmp word [r8], ax
mov ecx, r15d
cmovb ecx, r12d
test ecx, ecx
je 0x140001d4d
mov ecx, 2
lea rdx, [0x140011cd4]
mov r8, r9
movzx eax, word [rdx]
cmp word [r8], ax
jne 0x140001d3e
add r8, 2
add rdx, 2
dec rcx
jne 0x140001d26
jmp 0x140001d4d
cmp word [r8], ax
mov ecx, r15d
cmovb ecx, r12d
test ecx, ecx
jne 0x140001d54
mov dword [0x140017974], r15d
mov ecx, 2
lea rdx, [0x140011ccc]
mov r8, r9
movzx eax, word [rdx]
cmp word [r8], ax
jne 0x140001d7b
add r8, 2
add rdx, 2
dec rcx
jne 0x140001d63
jmp 0x140001d8a
cmp word [r8], ax
mov ecx, r15d
cmovb ecx, r12d
test ecx, ecx
jne 0x140001db4
lea rax, [r14 + rdi*8]
lea rdx, [0x140017980]
mov rcx, qword [rax + rbx + 8]
nop word [rax + rax]
movzx eax, word [rcx]
lea rdx, [rdx + 2]
lea rcx, [rcx + 2]
mov word [rdx - 2], ax
test ax, ax
jne 0x140001da0
mov ecx, 2
lea rdx, [0x140011cdc]
movzx eax, word [rdx]
cmp word [r9], ax
jne 0x140001dd8
add r9, 2
add rdx, 2
dec rcx
jne 0x140001dc0
jmp 0x140001de7
cmp word [r9], ax
mov ecx, r15d
cmovb ecx, r12d
test ecx, ecx
jne 0x140001e42
lea rcx, str.TRILLTRACEFILE
call qword [sym.imp.MSVCR120.dll_getenv]
mov rbx, rax
test rax, rax
je 0x140001e3b
mov rax, r12
nop
inc rax
cmp byte [rbx + rax], 0
jne 0x140001e00
test rax, rax
je 0x140001e3b
lea rdx, [0x140011cf8]
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_fopen]
test rax, rax
je 0x140001e3b
mov rcx, rax
call qword [sym.imp.MSVCR120.dll_fclose]
mov rcx, rbx
call qword [sym.imp.TGenClient.dll_TD_SetTraceFile]
call qword [sym.imp.TGenClient.dll_TD_SetTraceOn]
lea rbx, [0x140017cc0]
inc rdi
inc esi
cmp rdi, r13
jl 0x140001cc0
mov r14, qword [rsp + 0x40]
call qword [sym.imp.SAPNWRFC.dll_RfcInit]
call fcn.140008880
test eax, eax
jne 0x140001e98
mov r8, qword [0x140017978]
lea rdx, str.LoadDynamicStructs:_No_connectable_hosts_in__s.
lea rcx, [rbp + 0x6a0]
call qword [sym.imp.MSVCR120.dll_sprintf]
lea rdx, [rbp + 0x6a0]
mov ecx, 2
call fcn.14000d370
mov eax, r12d
jmp 0x140002202
cmp eax, 0xffffffff
jne 0x140001ec2
lea rdx, str.LoadDynamicStructs:_Errors_have_been_detected
lea rcx, [rbp + 0x6a0]
call qword [sym.imp.MSVCR120.dll_sprintf]
lea rdx, [rbp + 0x6a0]
mov ecx, 2
call fcn.14000d370
lea r8, [0x140017980]
lea rdx, str.Destination_s
lea rcx, [rbp + 0x7d0]
call fcn.140001440
lea rdx, [rbp + 0x7d0]
xor ecx, ecx
call fcn.14000d400
lea r8, str.Unicode
lea rdx, str.Trillium__s_SAP_Client_initialization_complete
lea rcx, [rbp + 0x6a0]
call qword [sym.imp.MSVCR120.dll_sprintf]
lea rdx, [rbp + 0x6a0]
xor ecx, ecx
call fcn.14000d370
xor ebx, ebx
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov esi, ebx
mov r12d, ebx
mov edi, ebx
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], ebx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [0x140017b90], rax
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [0x140017b98], rax
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x140017b88], rax
call fcn.140001130
test r13, r13
jle 0x140002064
or rdi, 0xffffffffffffffff
nop word [rax + rax]
mov r9, qword [r14 + rbx*8]
mov ecx, 2
lea rdx, [0x140011db0]
mov r8, r9
movzx eax, word [rdx]
cmp word [r8], ax
jne 0x140001fab
add r8, 2
add rdx, 2
dec rcx
jne 0x140001f93
jmp 0x140001fbd
cmp word [r8], ax
mov ecx, r15d
cmovb ecx, edi
test ecx, ecx
jne 0x140002051
mov rax, rdi
inc rax
cmp word [r9 + rax*2], r12w
jne 0x140001fc0
cmp eax, 2
jne 0x140002051
mov rcx, qword [r14 + rbx*8 + 8]
inc rbx
mov rdx, rdi
cmp rbx, r13
jge 0x140001ffc
inc rdx
cmp word [rcx + rdx*2], r12w
jne 0x140001fe3
mov rax, rdi
inc rax
cmp word [rcx + rax*2], r12w
jne 0x140001ff0
jmp 0x14000201a
add rcx, 4
inc rdx
cmp word [rcx + rdx*2], r12w
jne 0x140002000
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rcx + rax*2], r12w
jne 0x140002010
add eax, 2
lea r9, [rsp + 0x34]
lea r8, [rsp + 0x30]
mov dword [rsp + 0x34], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
call qword [sym.imp.SAPNWRFC.dll_RfcSAPUCToUTF8]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MSVCR120.dll_atoi]
mov esi, eax
inc rbx
cmp rbx, r13
jl 0x140001f80
mov edi, r12d
test esi, esi
jne 0x140002067
mov esi, r15d
mov ebx, r15d
cmp esi, ebx
jl 0x140002090
mov r14, r15
mov r8, r14
mov ecx, ebx
call fcn.140001190
inc ebx
inc r14
cmp ebx, esi
jle 0x140002071
nop dword [rax]
nop dword [rax + rax]
mov ebx, r15d
xor r14d, r14d
cmp esi, ebx
jl 0x140002198
nop
lea rdx, [rsp + 0x3c]
mov ecx, ebx
call fcn.140001250
cmp eax, 0x10
jne 0x1400020b9
mov r14d, r15d
jmp 0x140002143
cmp eax, 9
je 0x140002143
test eax, eax
jne 0x140002116
mov r9d, dword [rsp + 0x3c]
test r9d, r9d
jne 0x1400020d5
inc r12d
jmp 0x140002143
mov r8d, ebx
lea rcx, [rbp + 0x660]
cmp r9d, 0x63
jne 0x1400020f4
lea rdx, str.RFC_ERROR_OCCURS_on_Thread__d_exited
call qword [sym.imp.MSVCR120.dll_sprintf]
jmp 0x140002101
lea rdx, str.Thread__d_exited_with_rc_d
call qword [sym.imp.MSVCR120.dll_sprintf]
lea rdx, [rbp + 0x660]
mov ecx, 2
inc edi
call fcn.14000d370
jmp 0x140002143
lea rdx, str.Thread__d_returned__d
lea rcx, [rbp + 0x660]
mov r9d, eax
mov r8d, ebx
call qword [sym.imp.MSVCR120.dll_sprintf]
lea rdx, [rbp + 0x660]
mov ecx, 2
call fcn.14000d370
inc edi
inc ebx
cmp ebx, esi
jle 0x1400020a0
test r14d, r14d
je 0x140002198
lea rcx, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], r15d
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140002175
cmp dword [rsp + 0x50], 0x12
je 0x140002185
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140002090
mov r9d, r15d
mov ecx, r9d
call fcn.140001370
inc r9d
cmp r9d, esi
jle 0x140002188
test r12d, r12d
je 0x1400021c2
lea rdx, str._d_thread_s__successfully_terminated.
lea rcx, [rbp + 0x660]
mov r8d, r12d
call qword [sym.imp.MSVCR120.dll_sprintf]
lea rdx, [rbp + 0x660]
xor ecx, ecx
call fcn.14000d370
test edi, edi
je 0x1400021eb
lea rdx, str._d_thread_s__terminated_with_an_error.
lea rcx, [rbp + 0x660]
mov r8d, edi
call qword [sym.imp.MSVCR120.dll_sprintf]
lea rdx, [rbp + 0x660]
xor ecx, ecx
call fcn.14000d370
cmp esi, r15d
jl 0x140002200
mov ecx, r15d
call fcn.140001390
inc r15d
cmp r15d, esi
jle 0x1400021f0
xor eax, eax
mov r13, qword [rsp + 0x10e8]
mov r12, qword [rsp + 0x10f0]
mov rdi, qword [rsp + 0x10f8]
mov rsi, qword [rsp + 0x1120]
mov r15, qword [rsp + 0x10e0]
mov rcx, qword [rbp + 0xfd0]
xor rcx, rsp
call fcn.14000fad0
add rsp, 0x1100
pop r14
pop rbx
pop rbp
ret