Function at 0x4455b0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
cmp dword [0x508c58], 0
jne 0x4455d1
call dword [sym.imp.MSVCR80.dll___iob_func]
add eax, 0x40
push eax
call fcn.00443960
add esp, 4
cmp dword [0x508130], 3
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
jl 0x445608
test esi, esi
mov eax, str._NULL_
je 0x4455f1
mov eax, esi
push ebx
push eax
push edi
push str.SncInit
push str._____.32s_prg_d__ini_fname_.256s__sec_avail_p__n
push 3
call fcn.004460a0
add esp, 0x18
cmp edi, 9
jge 0x445ebc
test ebx, ebx
je 0x445ebc
mov al, byte [0x500ccd]
mov byte [ebx], al
cmp byte [0x500ccc], 1
mov dword [0x500e00], esi
jne 0x445657
cmp dword [0x508130], 3
jl 0x44564c
push str.SncInit
push str._.32s__:_already_initialized__ignoring_this_call_n
push 3
call fcn.004460a0
add esp, 0xc
mov esi, dword [0x500cd0]
jmp 0x445ef2
cmp dword [0x508130], 0
je 0x445699
push str.SncInit
push str._.32s__:_Initializing_Secure_Network_Communication__SNC__n
push 1
call fcn.004460a0
add esp, 0xc
cmp dword [0x508130], 0
je 0x445699
mov ecx, dword [str.PC_with_Windows_NT]
push 0x20
push 0x20
push 8
push ecx
push str._______.80s__mt_ascii_SAP_UC_size_t_void___u__u__u__n
push 1
call fcn.004460a0
add esp, 0x18
push str.SNC_GLOBAL_MTX
mov dword [0x4be6e4], edi
mov byte [0x500ccd], 0
push 0x508c40
mov byte [ebx], 0
call fcn.004568d0
mov esi, eax
add esp, 8
test esi, esi
je 0x44570d
cmp dword [0x508130], 1
jl 0x445703
call fcn.0044c570
push 0x131
push str.sncxxpar.c
call fcn.0044c350
push esi
call fcn.00456960
mov edx, dword [0x508c58]
push eax
push str.SncInit
push str._.32s__:_ThrMtxInit_snc_global_mtx__failed:__.64s_n
push edx
call fcn.0044df10
add esp, 0x1c
call fcn.0044c580
mov esi, 0xffffffd2
jmp 0x445ec1
mov byte [0x500e0c], 1
mov dword [0x500e10], 0x508c40
mov byte [0x500ccc], 1
call fcn.004461c0
mov esi, dword [sym.imp.MSVCR80.dll_getenv]
lea eax, [edi + edi*2]
movzx ecx, byte [eax + eax + 0x4be9a4]
mov edx, dword [ecx*4 + 0x4be990]
movzx ecx, byte [eax + eax + 0x4be9a5]
add eax, eax
mov dword [ebp - 0x20], edx
movzx edx, byte [eax + 0x4be9a6]
mov byte [ebp - 3], cl
movzx ecx, byte [eax + 0x4be9a7]
mov byte [ebp - 2], dl
movzx edx, byte [eax + 0x4be9a8]
mov al, byte [eax + 0x4be9a9]
push str.SNC_REF_WATERMARK
mov dword [0x508c80], 0
mov dword [0x508c7c], 0xffffffff
mov byte [ebp - 0x1c], cl
mov byte [ebp + 0xb], dl
mov byte [ebp - 1], al
mov byte [0x508c72], 0x75
mov byte [0x508c73], 0
mov byte [0x508c74], 0x73
mov byte [0x508c71], 0x6e
mov byte [0x508c75], 0x63
mov byte [0x508c76], 0x70
mov byte [0x508c77], 0x78
mov byte [0x508c78], 0x79
mov byte [0x508c79], 0x7a
mov dword [0x4be6ec], 0x258
call esi
mov ebx, dword [sym.imp.MSVCR80.dll_strtol]
add esp, 4
test eax, eax
je 0x445844
cmp byte [eax], 0
je 0x445844
push 0xa
lea ecx, [ebp - 0x24]
push ecx
push eax
call ebx
add esp, 0xc
cmp eax, 0x5460
jl 0x44580e
mov dword [0x4be6ec], 0x5460
jmp 0x44581a
cmp eax, 0x258
jl 0x44581a
mov dword [0x4be6ec], eax
cmp dword [0x508130], 2
jl 0x445844
mov edx, dword [0x4be6ec]
push edx
call fcn.00445420
push eax
push str.SncInit
push str._.32s__:_security_context_refresh_watermark_at__.64s_n
push 2
call fcn.004460a0
add esp, 0x14
push str.SNC_CTX_LIFETIME
mov dword [0x4be6e8], 0xffffffff
call esi
add esp, 4
test eax, eax
je 0x4458d0
cmp byte [eax], 0
je 0x4458d0
push 0xa
lea ecx, [ebp - 0x24]
push ecx
push eax
call ebx
add esp, 0xc
test eax, eax
jge 0x445882
mov dword [0x4be6e8], 0xffffffff
mov eax, str.indefinite
jmp 0x4458b2
jne 0x445895
mov dword [0x4be6e8], 0
mov eax, str.mechanism_default
jmp 0x4458b2
mov ecx, dword [0x4be6ec]
add ecx, 0xa
cmp eax, ecx
ja 0x4458a4
mov eax, ecx
push eax
mov dword [0x4be6e8], eax
call fcn.00445420
add esp, 4
cmp dword [0x508130], 2
jl 0x4458d0
push eax
push str.SncInit
push str._.32s__:_will_ask_for_security_context_lifetime__.64s_n
push 2
call fcn.004460a0
add esp, 0x10
push str.SNC_QOP
mov ebx, 3
mov dword [ebp - 0x14], 2
call esi
add esp, 4
test eax, eax
je 0x445935
push eax
call dword [sym.imp.MSVCR80.dll_atoi]
mov ebx, eax
add esp, 4
cmp ebx, 1
jge 0x445907
cmp ebx, 3
jle 0x445907
mov ebx, 3
jmp 0x445935
cmp dword [0x508130], 0
je 0x44592d
mov edx, dword [ebx*4 + 0x4be97c]
push edx
push ebx
push str.SncInit
push str._.32s__:_from_environment_SNC_QOP_d___.30s__n
push 1
call fcn.004460a0
add esp, 0x14
cmp ebx, 2
jge 0x445935
mov dword [ebp - 0x14], ebx
test edi, edi
jne 0x4459ad
push str.SncInit
call fcn.004454f0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x500e04]
push eax
push ecx
push edi
call fcn.0044b4c0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x445ec1
mov eax, dword [0x508c80]
test eax, eax
je 0x445ef2
mov edx, dword [ebp - 0x14]
push 0
add eax, 0x38
push eax
push 2
mov dword [0x500cd8], 3
mov dword [0x500cd4], edx
mov dword [0x500cdc], ebx
call fcn.00444fb0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x445ec1
mov byte [0x500ccd], 1
jmp 0x445ef2
mov eax, dword [0x500e00]
test eax, eax
je 0x4459d4
cmp dword [0x508130], 0
je 0x4459d4
push eax
push str.SncInit
push str._.32s__:_Reading_configuration_from__.256s._n
push 1
call fcn.004460a0
add esp, 0x10
cmp byte [ebp + 0xb], 1
jne 0x445a39
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp + 0xb]
push edx
push 0x45a214
push str.enable
push 0x468444
call fcn.00445210
add esp, 0x18
cmp dword [ebp - 0x10], 0
jne 0x445a39
cmp byte [ebp + 0xb], 0
jne 0x445a32
cmp dword [0x508130], 0
je 0x445a32
push 0
push str.enable
push 0x468444
push str.SncInit
push str._.32s__:__.16s__.40s_d__external_security_disabled_n
push 1
call fcn.004460a0
add esp, 0x18
xor esi, esi
jmp 0x445ef2
mov eax, dword [0x4be978]
mov cl, byte [eax + 3]
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 8]
push eax
mov byte [ebp - 0xc], cl
lea ecx, [ebp + 0xb]
push ecx
lea edx, [ebp - 0xc]
push edx
push str.data_protection_max
push 0x468444
mov byte [ebp - 0xb], 0
call fcn.00445210
mov esi, dword [ebp - 0x28]
add esp, 0x18
cmp esi, 3
jl 0x445a79
mov esi, 3
jmp 0x445a83
cmp esi, 1
jg 0x445a83
mov esi, 1
cmp byte [ebp - 1], 1
mov cl, byte [ebp + 0xb]
je 0x445a90
test cl, cl
jne 0x445ad8
cmp dword [0x508130], 0
je 0x445ad8
test cl, cl
mov eax, 0x466e58
jne 0x445aa5
mov eax, dword [ebp - 8]
mov edx, dword [esi*4 + 0x4be97c]
push edx
push esi
push eax
push str.data_protection_max
movzx eax, cl
mov ecx, dword [eax*4 + 0x4be95c]
push 0x468444
push ecx
push str.SncInit
push str._.32s__:__.32s__.16s__.40s_.32s__using__d___.30s__n
push 1
call fcn.004460a0
add esp, 0x24
mov edx, dword [0x4be978]
mov eax, dword [ebp - 0x14]
mov dword [0x500cd8], esi
mov cl, byte [edx + eax]
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 8]
push eax
mov byte [ebp - 0xc], cl
lea ecx, [ebp + 0xb]
push ecx
lea edx, [ebp - 0xc]
push edx
push str.data_protection_min
push 0x468444
mov byte [ebp - 0xb], 0
call fcn.00445210
mov edi, dword [ebp - 0x10]
add esp, 0x18
cmp edi, esi
jl 0x445b1c
mov edi, esi
cmp edi, 1
jg 0x445b26
mov edi, 1
cmp esi, edi
jge 0x445b5f
cmp dword [0x508130], 0
je 0x445b57
mov eax, dword [str._ERROR__]
push str.data_protection_max
push str.data_protection_min
push str.SncInit
push eax
push str._.16s_.32s__:__.40s____.40s_____n
push 1
call fcn.004460a0
add esp, 0x18
mov esi, edi
mov dword [0x500cd8], edi
cmp byte [ebp - 1], 1
mov cl, byte [ebp + 0xb]
je 0x445b6c
test cl, cl
jne 0x445bb4
cmp dword [0x508130], 0
je 0x445bb4
test cl, cl
mov eax, 0x466e58
jne 0x445b81
mov eax, dword [ebp - 8]
mov edx, dword [edi*4 + 0x4be97c]
push edx
push edi
push eax
push str.data_protection_min
movzx eax, cl
mov ecx, dword [eax*4 + 0x4be95c]
push 0x468444
push ecx
push str.SncInit
push str._.32s__:__.32s__.16s__.40s_.32s__using__d___.30s__n
push 1
call fcn.004460a0
add esp, 0x24
cmp ebx, edi
mov dword [0x500cd4], edi
jg 0x445bc0
mov ebx, edi
mov edx, dword [0x4be978]
mov al, byte [edx + ebx]
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 8]
push edx
mov byte [ebp - 0xc], al
lea eax, [ebp + 0xb]
push eax
lea ecx, [ebp - 0xc]
push ecx
push str.data_protection_use
push 0x468444
mov byte [ebp - 0xb], 0
call fcn.00445210
mov eax, dword [ebp - 0x28]
add esp, 0x18
cmp eax, esi
jge 0x445bfb
mov esi, eax
cmp esi, edi
jg 0x445c01
mov esi, edi
mov bl, byte [ebp - 1]
cmp bl, 1
mov cl, byte [ebp + 0xb]
je 0x445c10
test cl, cl
jne 0x445c58
cmp dword [0x508130], 0
je 0x445c58
test cl, cl
mov eax, 0x466e58
jne 0x445c25
mov eax, dword [ebp - 8]
mov edx, dword [esi*4 + 0x4be97c]
push edx
push esi
push eax
push str.data_protection_use
movzx eax, cl
mov ecx, dword [eax*4 + 0x4be95c]
push 0x468444
push ecx
push str.SncInit
push str._.32s__:__.32s__.16s__.40s_.32s__using__d___.30s__n
push 1
call fcn.004460a0
add esp, 0x24
push 0
mov dword [0x500cdc], esi
call fcn.004454f0
add esp, 4
test bl, bl
je 0x445ca5
cmp dword [0x500e08], 3
jne 0x445ca5
cmp dword [0x508130], 0
je 0x445cf0
mov edx, dword [0x500e04]
push edx
push str.gssapi_lib
push 0x468444
push str.SncInit
push str._.32s__:_found___.16s__.40s_.256s_n
push 1
call fcn.004460a0
add esp, 0x18
jmp 0x445cf0
push str.SncInit
call fcn.004454f0
add esp, 4
test bl, bl
je 0x445cf0
cmp dword [0x500e08], 2
jg 0x445cf0
cmp dword [0x508130], 0
je 0x445cf0
push str.gssapi_lib
push 0x468444
push str.gssapi_lib
push 0x468444
push str.SncInit
push str._.32s__:__.16s__.40s_UNDEFINED_in_profile__n______YOU_DEFINITELY_SHOULD_SET__.16s__.40s____n
push 1
call fcn.004460a0
add esp, 0x1c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x500e04]
push eax
push ecx
push 0
call fcn.0044b4c0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x445ec1
mov eax, dword [0x508c80]
test eax, eax
je 0x445ef2
push 0
add eax, 0x38
push eax
push 1
call fcn.00444fb0
mov ebx, dword [ebp - 0x20]
mov edx, dword [0x508c80]
mov edi, dword [edx + 0x38]
add esp, 0xc
test ebx, ebx
je 0x445e4b
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp + 0xb]
push edx
push str.void
push ebx
push 0x468444
call fcn.00445210
add esp, 0x18
cmp byte [ebp + 0xb], 0
je 0x445d90
mov eax, dword [str.sncxxpar.c]
push ebx
push 0x468444
push str.SncInit
push str._.32s__:_Missing_profile_paramter___.16s__.40s__n
push 0x266
push eax
call fcn.00446100
add esp, 0x18
or esi, 0xffffffff
jmp 0x445ec1
mov ecx, dword [ebp - 8]
push 0
push 0
push ecx
lea ebx, [edi + 0xa4]
push ebx
push edi
call fcn.00449c30
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x445ec1
cmp dword [0x508130], eax
je 0x445de2
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov ecx, dword [str.__found]
push edx
push eax
push 0x468444
push ecx
push str.SncInit
push str._.32s__:__.32s__.16s__.40s_.256s_n
push 1
call fcn.004460a0
add esp, 0x1c
cmp byte [ebp - 2], 0
je 0x445e4b
lea edx, [ebp - 0x18]
push edx
push 2
push ebx
push edi
call fcn.00449df0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x445e24
cmp dword [0x508130], 0
je 0x445ec1
push str.SncInit
push str._.32s__:_Fatal____Accepting_Credentials_not_available__n
push 1
call fcn.004460a0
add esp, 0xc
jmp 0x445ec1
cmp dword [0x508130], 0
je 0x445e4b
mov eax, dword [ebp - 0x18]
push eax
call fcn.00445420
push eax
push str.SncInit
push str._.32s__:_Accepting__Credentials_available__lifetime_.64s_n
push 1
call fcn.004460a0
add esp, 0x14
cmp byte [ebp - 3], 0
je 0x445eb3
lea ecx, [ebp - 0x18]
push ecx
push 1
lea edx, [edi + 0xa4]
push edx
push edi
call fcn.00449df0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x445e8c
cmp dword [0x508130], 0
je 0x445ec1
push str.SncInit
push str._.32s__:_Fatal____Initiating_Credentials_not_available__n
push 1
call fcn.004460a0
add esp, 0xc
jmp 0x445ec1
cmp dword [0x508130], 0
je 0x445eb3
mov eax, dword [ebp - 0x18]
push eax
call fcn.00445420
push eax
push str.SncInit
push str._.32s__:_Initiating_Credentials_available__lifetime_.64s_n
push 1
call fcn.004460a0
add esp, 0x14
mov byte [0x500ccd], 1
jmp 0x445ef2
mov esi, 0xfffffff9
mov eax, dword [0x500e10]
test eax, eax
je 0x445ee4
push eax
call fcn.00456930
add esp, 4
mov byte [0x500e0c], 0
mov dword [0x500e10], 0
mov byte [0x500ccd], 0
mov byte [0x500ccc], 0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x445f01
mov cl, byte [0x500ccd]
mov byte [eax], cl
cmp dword [0x508130], 2
jge 0x445f0e
test esi, esi
je 0x445f3b
cmp byte [0x500ccd], 0
mov eax, str.false
je 0x445f21
mov eax, str.true
push 0
push eax
push str.sec_avail
push 1
push esi
push str.SncInit
push 0
call fcn.004439a0
add esp, 0x1c
pop edi
mov eax, esi
mov dword [0x500cd0], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret