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

Disassembly:
mov eax, 0x48
call fcn.005c8080
mov eax, dword [0x678dc8]
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 0x4f74c2
call fcn.004a3d80
mov ebp, eax
mov dword [esp + 0x10], ebp
test ebp, ebp
jne 0x4f74c8
call fcn.004a93e0
push str.PEM_X509_INFO_read_bio_ex
push ebp
push 0x66ed1f
call fcn.004a94e0
push ebp
push 0xc0100
push 9
call fcn.004a94f0
add esp, 0x18
mov edi, ebp
xor ebx, ebx
jmp 0x4f793c
mov ebp, ecx
mov dword [esp + 0x10], ecx
call fcn.004f73e0
mov ebx, eax
test ebx, ebx
je 0x4f7938
call fcn.004a3100
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.004c9630
add esp, 0x14
test eax, eax
je 0x4f78ce
call fcn.004a2b60
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 0x4f7540
test dl, dl
je 0x4f753c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f7540
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f7520
xor eax, eax
jmp 0x4f7545
sbb eax, eax
or eax, 1
test eax, eax
je 0x4f7670
mov ecx, str.X509_CERTIFICATE
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f7574
test dl, dl
je 0x4f7570
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f7574
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f7554
xor eax, eax
jmp 0x4f7579
sbb eax, eax
or eax, 1
test eax, eax
je 0x4f7670
mov ecx, str.TRUSTED_CERTIFICATE
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f75a8
test dl, dl
je 0x4f75a4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f75a8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f7588
xor eax, eax
jmp 0x4f75ad
sbb eax, eax
or eax, 1
test eax, eax
je 0x4f7670
mov eax, str.X509_CRL
mov ecx, esi
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4f75e0
test dl, dl
je 0x4f75dc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4f75e0
add ecx, 2
add eax, 2
test dl, dl
jne 0x4f75c0
xor eax, eax
jmp 0x4f75e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f7623
lea edi, [ebx + 4]
mov ebp, fcn.004f7010
cmp dword [edi], eax
je 0x4f7772
mov ebp, dword [esp + 0x10]
push ebx
push ebp
call fcn.004a3e80
add esp, 8
test eax, eax
je 0x4f7938
call fcn.004f73e0
mov ebx, eax
test ebx, ebx
jne 0x4f7510
jmp 0x4f7938
push str.PRIVATE_KEY
push esi
call fcn.005caf60
mov esi, eax
add esp, 8
test esi, esi
je 0x4f7853
cmp dword [ebx + 8], 0
jne 0x4f75fd
mov eax, dword [esp + 0x14]
cmp esi, eax
je 0x4f76c8
mov ecx, str.ENCRYPTED_PRIVATE_KEY
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f76ab
test dl, dl
je 0x4f766c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f76ab
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f7650
xor eax, eax
jmp 0x4f76b0
cmp dword [ebx], 0
jne 0x4f75fd
mov eax, str.TRUSTED_CERTIFICATE
nop word [eax + eax]
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4f7742
test cl, cl
je 0x4f76a4
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x4f7742
add esi, 2
add eax, 2
test cl, cl
jne 0x4f7680
xor esi, esi
jmp 0x4f7747
sbb eax, eax
or eax, 1
test eax, eax
je 0x4f76c8
mov byte [esi - 1], 0
push dword [esp + 0x14]
call fcn.004b27a0
add esp, 4
mov esi, eax
jmp 0x4f76ca
xor esi, esi
mov dword [ebx + 0x24], 0
mov ebp, 0x4e3050
mov dword [ebx + 0x20], 0
call fcn.0052ddd0
mov dword [ebx + 8], eax
test eax, eax
je 0x4f7938
mov ecx, dword [esp + 0x1c]
lea edi, [eax + 0xc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4f76f7
sub ecx, edx
cmp ecx, 0xa
jg 0x4f773b
mov eax, dword [esp + 0x14]
mov ecx, str.ENCRYPTED_PRIVATE_KEY
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f7730
test dl, dl
je 0x4f772c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f7730
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f7710
xor eax, eax
jmp 0x4f7735
sbb eax, eax
or eax, 1
xor ecx, ecx
test eax, eax
jne 0x4f7776
mov ecx, 1
jmp 0x4f7776
sbb esi, esi
or esi, 1
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.004ba910
add esp, 8
mov dword [ebx], eax
test eax, eax
je 0x4f7938
test esi, esi
mov ebp, fcn.004ba9b0
mov eax, fcn.004ba990
mov edi, ebx
cmovne ebp, eax
xor ecx, ecx
xor esi, esi
test ecx, ecx
jne 0x4f7825
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x20]
call fcn.004c9320
add esp, 8
test eax, eax
je 0x4f7938
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.004c90a0
add esp, 0x14
test eax, eax
je 0x4f7938
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
test esi, esi
je 0x4f7814
push dword [esp + 0x24]
push dword [esp + 0x2c]
push dword [esp + 0x28]
push eax
push edi
push esi
call fcn.004e3440
add esp, 0x18
test eax, eax
jne 0x4f7853
call fcn.004a93e0
push str.PEM_X509_INFO_read_bio_ex
push 0
push 0x66ed1f
call fcn.004a94e0
push 0
push 0x8000d
push 9
call fcn.004a94f0
add esp, 0x18
jmp 0x4f7938
push dword [esp + 0x20]
push eax
push edi
call ebp
add esp, 0xc
test eax, eax
je 0x4f77e8
jmp 0x4f7853
lea eax, [ebx + 0xc]
push eax
push dword [esp + 0x20]
call fcn.004c9320
add esp, 8
test eax, eax
je 0x4f7938
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 0
push 0x66ed1f
push dword [esp + 0x1c]
call fcn.004a4eb0
push 0
push 0x66ed1f
push dword [esp + 0x30]
mov dword [esp + 0x2c], 0
call fcn.004a4eb0
push 0
push 0x66ed1f
push dword [esp + 0x38]
mov dword [esp + 0x40], 0
call fcn.004a4eb0
mov dword [esp + 0x3c], 0
call fcn.004a3100
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.004c9630
add esp, 0x38
test eax, eax
je 0x4f78ce
mov ebp, dword [esp + 0x10]
jmp 0x4f7501
call fcn.004a2f30
test eax, eax
mov ecx, 0x7fffff
mov edx, closesocket
cmovs ecx, edx
and ecx, eax
cmp ecx, 0x6c
jne 0x4f7933
call fcn.004a2fd0
cmp dword [ebx], 0
jne 0x4f7905
cmp dword [ebx + 4], 0
jne 0x4f7905
cmp dword [ebx + 8], 0
jne 0x4f7905
cmp dword [ebx + 0x24], 0
je 0x4f7924
mov edi, dword [esp + 0x10]
push ebx
push edi
call fcn.004a3e80
add esp, 8
test eax, eax
je 0x4f793c
xor ebx, ebx
push ebx
call fcn.004f7390
add esp, 4
jmp 0x4f797d
mov edi, dword [esp + 0x10]
push ebx
call fcn.004f7390
add esp, 4
jmp 0x4f797d
call fcn.004a2b60
mov edi, dword [esp + 0x10]
push ebx
call fcn.004f7390
push edi
xor esi, esi
call fcn.004a3e00
add esp, 8
test eax, eax
jle 0x4f796c
push esi
push edi
call fcn.004a3fb0
push eax
call fcn.004f7390
push edi
inc esi
call fcn.004a3e00
add esp, 0x10
cmp esi, eax
jl 0x4f7951
cmp edi, dword [esp + 0x3c]
je 0x4f797b
push edi
call fcn.004a3c90
add esp, 4
xor edi, edi
push 0
push 0x66ed1f
push dword [esp + 0x1c]
call fcn.004a4eb0
push 0
push 0x66ed1f
push dword [esp + 0x30]
call fcn.004a4eb0
push 0
push 0x66ed1f
push dword [esp + 0x38]
call fcn.004a4eb0
mov ecx, dword [esp + 0x78]
add esp, 0x24
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005c77ea
add esp, 0x48
ret