Function at 0x41bba0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
mov esi, eax
push ebx
sub esp, 0x8c
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x3c], 0
mov dword [eax], 0
test edi, edi
je 0x41beb0
mov eax, dword [esp + 0xa0]
mov dword [edi], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], 2
xor ebx, ebx
test dx, dx
jne 0x41be80
lea eax, [esp + 0x3c]
call fcn.00419d80
mov dword [esp + 0x28], eax
test eax, eax
je 0x41bca0
mov dword [esp + 0x2c], 0
xor ebp, ebp
mov dword [esp], ebp
xor ebx, ebx
call fcn.0043b540
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.0043a600
test edi, edi
je 0x41bc80
mov eax, dword [edi]
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_free
mov dword [edi], 0
test ebx, ebx
je 0x41bc80
lea esi, [esi]
mov esi, dword [ebx]
mov dword [esp], ebx
mov ebx, esi
call sub.libgcrypt_20.dll_gcry_free
test esi, esi
jne 0x41bc70
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_free
mov eax, dword [esp + 0x28]
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], esi
call fcn.0041ba50
test eax, eax
je 0x41bcba
or dword [esp + 0x60], 4
cmp byte [esi], 0x5b
je 0x41bef3
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x44]
mov dword [esp + 4], ebx
xor ebx, ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
lea eax, [esp + 0x60]
mov dword [esp + 0xc], eax
mov dword [esp], esi
call fcn.0043b2d0
mov ebp, eax
test eax, eax
je 0x41be41
lea esi, [esi]
lea eax, [esp + 0x40]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.0043b5c0
call fcn.00419c80
movzx edx, ax
cmp edx, 0x8051
je 0x41bf40
cmp edx, 0x8006
je 0x41bda3
test eax, eax
jne 0x41bdbc
test edi, edi
je 0x41bd42
mov eax, dword [edi]
test eax, eax
je 0x41bdf0
mov dword [esp], 0x98
call sub.libgcrypt_20.dll_gcry_malloc
mov esi, eax
test eax, eax
je 0x41bf68
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 4]
mov ecx, dword [edx + 0x18]
mov dword [esp + 0x24], edx
mov dword [esi + 4], eax
mov eax, dword [edx + 8]
mov dword [esi + 8], eax
mov eax, dword [edx + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [esi + 0x10], eax
mov dword [esp + 8], eax
lea eax, [esi + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x24]
mov dword [esi], ebx
mov ebx, esi
mov dword [esp], edx
call sub.libgcrypt_20.dll_gcry_free
jmp 0x41bd00
mov dword [esp], ebp
call fcn.0043c310
cmp eax, dword [0x4908d0]
jle 0x41bed4
mov eax, 0xa0002ce
mov dword [esp], ebp
mov dword [esp + 0x24], eax
call fcn.0043b540
mov edx, dword [esp + 0x3c]
mov dword [esp], edx
call fcn.0043a600
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
test edi, edi
jne 0x41bc55
jmp 0x41bc65
mov eax, dword [esp + 0x40]
test eax, eax
je 0x41bd42
mov eax, dword [eax + 0x14]
test eax, eax
je 0x41bd42
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_strdup
mov esi, eax
mov dword [edi], eax
test eax, eax
je 0x41bf7e
cmp byte [eax], 0
je 0x41bd42
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea eax, [esi + eax - 1]
cmp byte [eax], 0x2e
jne 0x41bd42
mov byte [eax], 0
jmp 0x41bd42
mov eax, dword [esp + 0x44]
call fcn.00419c80
mov dword [esp], 0
mov ebx, eax
call fcn.0043b540
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.0043a600
test ebx, ebx
jne 0x41bfd1
mov eax, dword [esp + 0xa4]
mov dword [eax], ebp
jmp 0x41bc80
movzx edx, dx
lea ebx, [esp + 0x4b]
mov dword [esp + 8], 0x481104
mov dword [esp + 0xc], edx
mov dword [esp + 4], 0x15
mov dword [esp], ebx
call sub.libgpg_error_0.dll_gpgrt_snprintf
jmp 0x41bc20
xor ebx, ebx
xor eax, eax
mov dword [esp + eax + 0x60], ebx
add eax, 4
cmp eax, 0x20
jb 0x41beb4
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
jmp 0x41bc15
call sub.libnpth_0.dll_npth_unprotect
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.0043c540
call sub.libnpth_0.dll_npth_protect
jmp 0x41bd00
mov dword [esp], esi
call sub.msvcrt.dll_strlen
cmp byte [esi + eax - 1], 0x5d
jne 0x41bcba
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_malloc
mov dword [esp + 0x2c], eax
test eax, eax
je 0x41bfac
add esi, 1
mov dword [esp + 4], esi
mov esi, dword [esp + 0x2c]
mov dword [esp], esi
call fcn.00447640
mov byte [eax - 1], 0
jmp 0x41bcc2
test ebx, ebx
je 0x41bf5f
mov dword [esp], ebp
mov ebp, ebx
call fcn.0043b540
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.0043a600
jmp 0x41be6c
mov dword [esp + 0x28], eax
jmp 0x41bc3b
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
test eax, eax
je 0x41bf44
movzx eax, ax
or eax, 0xa000000
jmp 0x41bdbc
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
test eax, eax
je 0x41bf44
mov dword [esp], ebp
movzx eax, ax
or eax, 0xa000000
mov dword [esp + 0x28], eax
call fcn.0043b540
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.0043a600
jmp 0x41bc55
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
test eax, eax
je 0x41bfc8
movzx eax, ax
xor ebp, ebp
or eax, 0xa000000
mov dword [esp + 0x28], eax
jmp 0x41bc3b
xor ebp, ebp
xor ebx, ebx
jmp 0x41bf44
test edi, edi
je 0x41bfee
mov eax, dword [edi]
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_free
mov dword [edi], 0
mov dword [esp + 0x28], ebx
jmp 0x41bc80
mov dword [esp + 0x28], ebx
jmp 0x41bc80