Function at 0x41b6b9
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov esi, dword [ebp + 8]
mov dword [esp + 0xc], str.saving_keys_and_certs
mov dword [esp + 8], 0x443
mov dword [esp + 4], str.src_userpref.c
mov dword [esp], str.userpref_set_keys_and_certs
call fcn.004208c9
cmp dword [ebp + 0x10], 0
je 0x41b703
test esi, esi
je 0x41b703
cmp dword [ebp + 0x14], 0
je 0x41b703
cmp dword [ebp + 0xc], 0
sete byte [ebp - 0x19]
jne 0x41b748
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], eax
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x18], edx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.missing_key_or_cert__root_key_p__host_key_p__rootcert_p__host_cert_p
mov dword [esp + 8], 0x446
mov dword [esp + 4], str.src_userpref.c
mov dword [esp], str.userpref_set_keys_and_certs
call fcn.004208c9
or esi, 0xffffffff
jmp 0x41ba96
call fcn.0041ac3c
call fcn.0041aaa8
mov ebx, eax
or ecx, 0xffffffff
mov edi, eax
mov al, byte [ebp - 0x19]
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x13
mov dword [esp], ecx
call sub.msvcrt.dll_malloc
mov edi, eax
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], 0x67634a
mov dword [esp], edi
call fcn.005a0e90
mov dword [esp + 4], str.RootPrivateKey.pem
mov dword [esp], edi
call fcn.005a0e90
mov dword [esp + 4], 0x6763cc
mov dword [esp], edi
call sub.msvcrt.dll_fopen
mov edx, eax
test eax, eax
je 0x41b7de
mov dword [esp + 0xc], eax
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esi]
mov dword [esp], eax
mov dword [ebp - 0x20], edx
call sub.msvcrt.dll_fwrite
mov edx, dword [ebp - 0x20]
mov dword [esp], edx
call fcn.005a0ec8
xor esi, esi
jmp 0x41b81e
call sub.msvcrt.dll__errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.could_not_open__s_for_writing:__s
mov dword [esp + 8], 0x459
mov dword [esp + 4], str.src_userpref.c
mov dword [esp], str.userpref_set_keys_and_certs
call fcn.004208c9
mov esi, 0xfffffffb
mov dword [esp], edi
call fcn.005a0e48
xor eax, eax
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x13
mov dword [esp], ecx
call sub.msvcrt.dll_malloc
mov edi, eax
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], 0x67634a
mov dword [esp], edi
call fcn.005a0e90
mov dword [esp + 4], str.HostPrivateKey.pem
mov dword [esp], edi
call fcn.005a0e90
mov dword [esp + 4], 0x6763cc
mov dword [esp], edi
call sub.msvcrt.dll_fopen
mov edx, eax
test eax, eax
je 0x41b8b0
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ecx]
mov dword [esp], eax
mov dword [ebp - 0x20], edx
call sub.msvcrt.dll_fwrite
mov edx, dword [ebp - 0x20]
mov dword [esp], edx
call fcn.005a0ec8
jmp 0x41b8f0
call sub.msvcrt.dll__errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.could_not_open__s_for_writing:__s
mov dword [esp + 8], 0x467
mov dword [esp + 4], str.src_userpref.c
mov dword [esp], str.userpref_set_keys_and_certs
call fcn.004208c9
mov esi, 0xfffffffb
mov dword [esp], edi
call fcn.005a0e48
xor eax, eax
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x14
mov dword [esp], ecx
call sub.msvcrt.dll_malloc
mov edi, eax
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], 0x67634a
mov dword [esp], edi
call fcn.005a0e90
mov dword [esp + 4], str.RootCertificate.pem
mov dword [esp], edi
call fcn.005a0e90
mov dword [esp + 4], 0x6763cc
mov dword [esp], edi
call sub.msvcrt.dll_fopen
mov edx, eax
test eax, eax
je 0x41b982
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ecx]
mov dword [esp], eax
mov dword [ebp - 0x20], edx
call sub.msvcrt.dll_fwrite
mov edx, dword [ebp - 0x20]
mov dword [esp], edx
call fcn.005a0ec8
jmp 0x41b9c2
call sub.msvcrt.dll__errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.could_not_open__s_for_writing:__s
mov dword [esp + 8], 0x475
mov dword [esp + 4], str.src_userpref.c
mov dword [esp], str.userpref_set_keys_and_certs
call fcn.004208c9
mov esi, 0xfffffffb
mov dword [esp], edi
call fcn.005a0e48
xor eax, eax
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x14
mov dword [esp], ecx
call sub.msvcrt.dll_malloc
mov edi, eax
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], 0x67634a
mov dword [esp], edi
call fcn.005a0e90
mov dword [esp + 4], str.HostCertificate.pem
mov dword [esp], edi
call fcn.005a0e90
mov dword [esp + 4], 0x6763cc
mov dword [esp], edi
call sub.msvcrt.dll_fopen
mov ebx, eax
test eax, eax
je 0x41ba4e
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 4]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov dword [esp], ebx
call fcn.005a0ec8
jmp 0x41ba8e
call sub.msvcrt.dll__errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.could_not_open__s_for_writing:__s
mov dword [esp + 8], 0x483
mov dword [esp + 4], str.src_userpref.c
mov dword [esp], str.userpref_set_keys_and_certs
call fcn.004208c9
mov esi, 0xfffffffb
mov dword [esp], edi
call fcn.005a0e48
mov eax, esi
add esp, 0x3c
pop ebx
pop esi
pop edi
leave
ret