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

Disassembly:
mov eax, 0x48
call fcn.101bea50
mov eax, dword [0x102f8384]
xor eax, esp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x34], esi
push edi
test ecx, ecx
jne 0x100438a3
call fcn.1003aa70
mov ebp, eax
mov dword [esp + 0x10], ebp
test ebp, ebp
jne 0x100438a9
call fcn.1004b6c0
push str.PEM_X509_INFO_read_bio_ex
push 0x46
push str.cryptopempem_info.c
call fcn.1004b7c0
push ebp
push 0xc0100
push 9
call fcn.1004b870
add esp, 0x18
mov edi, ebp
xor ebx, ebx
jmp 0x10043d39
mov ebp, ecx
mov dword [esp + 0x10], ecx
call fcn.10042c10
mov ebx, eax
test ebx, ebx
je 0x10043d35
call fcn.1004aa60
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x20]
push eax
push esi
call fcn.10084580
add esp, 0x14
test eax, eax
je 0x10043cc9
call fcn.1004a590
nop word [eax + eax]
mov esi, dword [esp + 0x14]
mov ecx, str.CERTIFICATE
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10043920
test dl, dl
je 0x1004391c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10043920
add eax, 2
add ecx, 2
test dl, dl
jne 0x10043900
xor eax, eax
jmp 0x10043925
sbb eax, eax
or eax, 1
test eax, eax
je 0x10043a50
mov ecx, str.X509_CERTIFICATE
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10043954
test dl, dl
je 0x10043950
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10043954
add eax, 2
add ecx, 2
test dl, dl
jne 0x10043934
xor eax, eax
jmp 0x10043959
sbb eax, eax
or eax, 1
test eax, eax
je 0x10043a50
mov ecx, str.TRUSTED_CERTIFICATE
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10043988
test dl, dl
je 0x10043984
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10043988
add eax, 2
add ecx, 2
test dl, dl
jne 0x10043968
xor eax, eax
jmp 0x1004398d
sbb eax, eax
or eax, 1
test eax, eax
je 0x10043a50
mov eax, 0x1023d224
mov ecx, esi
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x100439c0
test dl, dl
je 0x100439bc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x100439c0
add ecx, 2
add eax, 2
test dl, dl
jne 0x100439a0
xor eax, eax
jmp 0x100439c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10043a03
lea edi, [ebx + 4]
mov ebp, fcn.1006fd60
cmp dword [edi], eax
je 0x10043b52
mov ebp, dword [esp + 0x10]
push ebx
push ebp
call fcn.1003abf0
add esp, 8
test eax, eax
je 0x10043d35
call fcn.10042c10
mov ebx, eax
test ebx, ebx
jne 0x100438f0
jmp 0x10043d35
push str.PRIVATE_KEY
push esi
call fcn.101bfb80
mov esi, eax
add esp, 8
test esi, esi
je 0x10043c45
cmp dword [ebx + 8], 0
jne 0x100439dd
mov eax, dword [esp + 0x14]
cmp esi, eax
je 0x10043aa8
mov ecx, str.ENCRYPTED_PRIVATE_KEY
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10043a8b
test dl, dl
je 0x10043a4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10043a8b
add eax, 2
add ecx, 2
test dl, dl
jne 0x10043a30
xor eax, eax
jmp 0x10043a90
cmp dword [ebx], 0
jne 0x100439dd
mov eax, str.TRUSTED_CERTIFICATE
nop word [eax + eax]
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x10043b22
test cl, cl
je 0x10043a84
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x10043b22
add esi, 2
add eax, 2
test cl, cl
jne 0x10043a60
xor esi, esi
jmp 0x10043b27
sbb eax, eax
or eax, 1
test eax, eax
je 0x10043aa8
mov byte [esi - 1], 0
push dword [esp + 0x14]
call fcn.1003ffb0
add esp, 4
mov esi, eax
jmp 0x10043aaa
xor esi, esi
mov dword [ebx + 0x24], 0
mov ebp, 0x100833c0
mov dword [ebx + 0x20], 0
call fcn.10081680
mov dword [ebx + 8], eax
test eax, eax
je 0x10043d35
mov ecx, dword [esp + 0x1c]
lea edi, [eax + 0xc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10043ad7
sub ecx, edx
cmp ecx, 0xa
jg 0x10043b1b
mov eax, dword [esp + 0x14]
mov ecx, str.ENCRYPTED_PRIVATE_KEY
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10043b10
test dl, dl
je 0x10043b0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10043b10
add eax, 2
add ecx, 2
test dl, dl
jne 0x10043af0
xor eax, eax
jmp 0x10043b15
sbb eax, eax
or eax, 1
xor ecx, ecx
test eax, eax
jne 0x10043b56
mov ecx, 1
jmp 0x10043b56
sbb esi, esi
or esi, 1
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.10042990
add esp, 8
mov dword [ebx], eax
test eax, eax
je 0x10043d35
test esi, esi
mov ebp, fcn.10042a50
mov eax, fcn.10042a30
mov edi, ebx
cmovne ebp, eax
xor ecx, ecx
xor esi, esi
test ecx, ecx
jne 0x10043c17
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x20]
call fcn.10084260
add esp, 8
test eax, eax
je 0x10043d35
push dword [esp + 0x30]
lea eax, [esp + 0x24]
push dword [esp + 0x38]
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x50]
push eax
call fcn.10083fe0
add esp, 0x14
test eax, eax
je 0x10043d35
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
test esi, esi
je 0x10043bf7
push dword [esp + 0x24]
push dword [esp + 0x2c]
push dword [esp + 0x28]
push eax
push edi
push esi
call fcn.100837c0
add esp, 0x18
test eax, eax
jne 0x10043c45
call fcn.1004b6c0
push str.PEM_X509_INFO_read_bio_ex
push 0xa5
push str.cryptopempem_info.c
call fcn.1004b7c0
push 0
push 0x8000d
push 9
call fcn.1004b870
add esp, 0x18
jmp 0x10043d35
push dword [esp + 0x20]
push eax
push edi
call ebp
add esp, 0xc
test eax, eax
jne 0x10043c45
call fcn.1004b6c0
push str.PEM_X509_INFO_read_bio_ex
push 0xa9
jmp 0x10043bd7
lea eax, [ebx + 0xc]
push eax
push dword [esp + 0x20]
call fcn.10084260
add esp, 8
test eax, eax
je 0x10043d35
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x20], eax
mov dword [esp + 0x18], 0
push 0xb4
push str.cryptopempem_info.c
push dword [esp + 0x1c]
call fcn.1004b410
push 0xb6
push str.cryptopempem_info.c
push dword [esp + 0x30]
mov dword [esp + 0x2c], 0
call fcn.1004b410
push 0xb8
push str.cryptopempem_info.c
push dword [esp + 0x38]
mov dword [esp + 0x40], 0
call fcn.1004b410
mov dword [esp + 0x3c], 0
call fcn.1004aa60
mov esi, dword [esp + 0x5c]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x44]
push eax
push esi
call fcn.10084580
add esp, 0x38
test eax, eax
je 0x10043cc9
mov ebp, dword [esp + 0x10]
jmp 0x100438e2
call fcn.1004a7e0
mov ecx, eax
sar ecx, 0x1f
and ecx, 0x7f800000
add ecx, 0x7fffff
and ecx, eax
cmp ecx, 0x6c
jne 0x10043d30
call fcn.1004a880
cmp dword [ebx], 0
jne 0x10043d02
cmp dword [ebx + 4], 0
jne 0x10043d02
cmp dword [ebx + 8], 0
jne 0x10043d02
cmp dword [ebx + 0x24], 0
je 0x10043d21
mov edi, dword [esp + 0x10]
push ebx
push edi
call fcn.1003abf0
add esp, 8
test eax, eax
je 0x10043d39
xor ebx, ebx
push ebx
call fcn.10042bc0
add esp, 4
jmp 0x10043d7c
mov edi, dword [esp + 0x10]
push ebx
call fcn.10042bc0
add esp, 4
jmp 0x10043d7c
call fcn.1004a590
mov edi, dword [esp + 0x10]
push ebx
call fcn.10042bc0
push edi
xor esi, esi
call fcn.1003ab60
add esp, 8
test eax, eax
jle 0x10043d6b
nop
push esi
push edi
call fcn.1003adb0
push eax
call fcn.10042bc0
push edi
inc esi
call fcn.1003ab60
add esp, 0x10
cmp esi, eax
jl 0x10043d50
cmp edi, dword [esp + 0x3c]
je 0x10043d7a
push edi
call fcn.1003a8f0
add esp, 4
xor edi, edi
push 0xd3
push str.cryptopempem_info.c
push dword [esp + 0x1c]
call fcn.1004b410
push 0xd4
push str.cryptopempem_info.c
push dword [esp + 0x30]
call fcn.1004b410
push 0xd5
push str.cryptopempem_info.c
push dword [esp + 0x38]
call fcn.1004b410
mov ecx, dword [esp + 0x78]
add esp, 0x24
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101bdc82
add esp, 0x48
ret