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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
mov eax, dword [0x5184d0]
xor eax, esp
mov dword [esp + 0xc8], eax
push ebx
push esi
push edi
mov ebx, edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], ecx
mov eax, dword [ebp + 0x1c]
and dword [esp + 0x10], 0
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x38], eax
mov edx, dword [ebp + 0x34]
xor eax, eax
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], eax
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0x38]
mov dword [esp + 0x28], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0xac], 0xc
mov dword [esp + 0xb0], 2
mov dword [esp + 0xb4], 0x41edcc
mov dword [esp + 0xc8], 0x412f78
mov dword [esp + 0xcc], 0x42bc48
mov dword [esp + 0xd0], 0x42efc4
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x8c], edi
test eax, eax
je 0x4d7020
and dword [eax], 0
test edx, edx
je 0x4d7027
and dword [edx], 0
xor edx, edx
test ecx, ecx
je 0x4d702f
mov dword [ecx], edx
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4d7043
or ebx, 0x1000
mov dword [eax], edx
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4d704d
mov dword [eax], edx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4d7057
mov dword [eax], edx
push 0x34
push edx
lea eax, [esp + 0x60]
push eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [esp + 0x80], eax
add esp, 0xc
mov eax, dword [ebp + 0xc]
inc ecx
mov dword [esp + 0x58], 0x34
test eax, eax
je 0x4d7096
test esi, esi
je 0x4d7096
and dword [esp + 0x5c], 0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], esi
jmp 0x4d70b4
cmp dword [esp + 0x2c], 0
je 0x4d70b4
lea eax, [esp + 0xc8]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], 3
mov dword [esp + 0x64], eax
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x4d70cc
test edi, edi
je 0x4d70cc
and dword [esp + 0x68], 0
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], edi
test ebx, 0x400
je 0x4d70dc
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
xor edi, edi
mov ecx, 0x40000000
test ebx, 4
jne 0x4d70fe
mov al, bl
and al, 8
movzx edi, al
neg edi
sbb edi, edi
and edi, 0xe0000000
add edi, ecx
mov eax, ebx
mov edx, ebx
shr eax, 0x1d
not al
and eax, 0xffffff01
and edx, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
je 0x4d7247
push 0x513650
push 0x42efdc
mov edx, ebx
mov cl, al
call fcn.004d5853
test esi, esi
je 0x4d7193
cmp dword [esp + 0x8c], 0
je 0x4d7193
xor esi, esi
cmp dword [esp + 0x6c], esi
jbe 0x4d7193
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x70]
xor ecx, ecx
mov edx, dword [edx + esi*4]
call fcn.004d3a20
push eax
mov eax, dword [esp + 0x74]
push dword [eax + esi*4]
push esi
push 0x41e454
test bl, bl
je 0x4d717b
push 0x42e8e0
push 0xffffffffffffffff
call dword [sym.imp.certcli.dll_Ordinal_203]
add esp, 0x18
jmp 0x4d7188
push 0x42e8f4
call fcn.004c5942
add esp, 0x14
inc esi
cmp esi, dword [esp + 0x6c]
jb 0x4d7149
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4d71ef
xor esi, esi
test eax, eax
je 0x4d71ef
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
xor ecx, ecx
mov edx, dword [edx + esi*4]
call fcn.004d3a20
push eax
mov eax, dword [esp + 0x68]
push dword [eax + esi*4]
push esi
push 0x41e43c
test bl, bl
je 0x4d71d7
push 0x42e8e0
push 0xffffffffffffffff
call dword [sym.imp.certcli.dll_Ordinal_203]
add esp, 0x18
jmp 0x4d71e4
push 0x42e8f4
call fcn.004c5942
add esp, 0x14
inc esi
cmp esi, dword [esp + 0x60]
jb 0x4d71a5
mov ebx, dword [esp + 0x1c]
mov cl, byte [esp + 0x18]
mov edx, edi
push 0x513710
push 0x42efec
call fcn.004d5853
mov eax, dword [esp + 0x30]
cmp eax, 1
jne 0x4d7214
mov eax, 0x42f004
jmp 0x4d721d
test eax, eax
jne 0x4d7243
mov eax, 0x42f02c
cmp byte [esp + 0x18], 0
push eax
je 0x4d7237
push 0x42ef24
push 0xffffffffffffffff
call dword [sym.imp.certcli.dll_Ordinal_203]
add esp, 0xc
jmp 0x4d7243
push 0x405204
call fcn.004c5942
pop ecx
pop ecx
mov edx, dword [esp + 0x20]
and dword [esp + 0x54], 0
mov eax, ebx
push 4
pop esi
push 0x10
pop ecx
and eax, ecx
mov dword [esp + 0x4c], 0xc
mov dword [esp + 0x50], esi
test ebx, 0xb00
je 0x4d72c6
test eax, eax
je 0x4d7280
mov eax, 0x80070057
push eax
mov esi, eax
push 0x157501a3
jmp 0x4d75fb
mov ecx, ebx
mov eax, 0x42f050
push 7
and ecx, 0x800
pop esi
test ebx, 0x200
je 0x4d72b8
test ecx, ecx
je 0x4d72ae
mov eax, 0x80070057
push eax
mov esi, eax
push 0x157e01a3
jmp 0x4d75fb
mov dword [esp + 0x50], 0x10004
jmp 0x4d7329
test ecx, ecx
je 0x4d7329
mov dword [esp + 0x50], 0x20004
jmp 0x4d7329
test eax, eax
je 0x4d72d4
push 6
pop esi
mov eax, 0x42f094
jmp 0x4d7329
test ebx, 0x2000
je 0x4d72e6
push 8
pop esi
mov eax, 0x42f0c8
jmp 0x4d7329
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4d7321
and dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x54], eax
mov eax, 0x42f0f4
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], 2
jmp 0x4d7329
xor esi, esi
mov eax, 0x42f120
inc esi
test edx, edx
je 0x4d7353
cmp byte [esp + 0x18], 0
push eax
je 0x4d7347
push 0x42ef24
push 0xffffffffffffffff
call dword [sym.imp.certcli.dll_Ordinal_203]
add esp, 0xc
jmp 0x4d7353
push 0x405204
call fcn.004c5942
pop ecx
pop ecx
test bl, bl
jns 0x4d7365
lea eax, [esp + 0xac]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x10]
push eax
push 0
push edi
lea eax, [esp + 0x64]
push eax
push dword [esp + 0xa0]
push 0
push dword [esp + 0x54]
push dword [esp + 0x4c]
call dword [sym.imp.CRYPT32.dll_CertGetCertificateChain]
test eax, eax
jne 0x4d739c
call fcn.004c73cc
mov esi, eax
push esi
push 0x15bf01a3
jmp 0x4d73f0
and dword [esp + 0x9c], 0
lea eax, [esp + 0x98]
and dword [esp + 0xa8], 0
or dword [esp + 0xa0], 0xffffffff
or dword [esp + 0xa4], 0xffffffff
push eax
lea eax, [esp + 0x50]
mov dword [esp + 0x9c], 0x14
push eax
push dword [esp + 0x18]
push esi
call dword [sym.imp.CRYPT32.dll_CertVerifyCertificateChainPolicy]
test eax, eax
jne 0x4d7403
call fcn.004c73cc
mov esi, eax
push esi
push 0x15d101a3
call dword [sym.imp.certcli.dll_Ordinal_357]
test esi, esi
je 0x4d7635
jmp 0x4d7601
mov ecx, dword [esp + 0x9c]
call fcn.004c738c
mov edi, eax
push edi
push 0x15d501a3
call dword [sym.imp.certcli.dll_Ordinal_357]
cmp edi, 0x80096004
jne 0x4d7443
mov ecx, dword [esp + 0x10]
test dword [ecx + 4], 0x100000
je 0x4d7443
mov edi, 0x80094016
push edi
push 0x15dd01a3
call dword [sym.imp.certcli.dll_Ordinal_357]
test bl, 0x46
je 0x4d745f
cmp edi, 0x80092012
je 0x4d745d
cmp edi, 0x80092013
jne 0x4d745f
test bl, 0x42
je 0x4d745f
xor edi, edi
test bl, 1
je 0x4d7470
lea eax, [edi + 0x7ff4fef7]
neg eax
sbb eax, eax
and edi, eax
test bl, 0x20
je 0x4d74b6
cmp edi, 0x800b0113
jne 0x4d74b6
xor edi, edi
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4d7515
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xf]
push eax
call fcn.004d6d1e
mov cl, byte [esp + 0xf]
test eax, eax
jne 0x4d7519
test cl, cl
je 0x4d7519
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4d7519
or dword [eax], 1
jmp 0x4d7519
test edi, edi
je 0x4d747f
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], 0
jbe 0x4d747f
mov eax, dword [eax + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4d747f
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*4 - 4]
test dword [eax + 0xc], 8
jne 0x4d747f
mov eax, dword [eax + 4]
lea ecx, [esp + 0x24]
push ecx
push 0x2200003
mov edx, dword [eax + 0xc]
add edx, 0x18
call fcn.004c76e7
test eax, eax
je 0x4d7508
push eax
push 0x160801a3
call dword [sym.imp.certcli.dll_Ordinal_357]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x14], esi
jmp 0x4d7483
mov cl, byte [esp + 0xf]
push dword [esp + 0x10]
movzx eax, cl
mov edx, ebx
push esi
push dword [esp + 0x9c]
mov ecx, edi
push dword [esp + 0x48]
push eax
call fcn.004d664b
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4d7545
and dword [esp + 0x14], 0
mov dword [eax], esi
mov esi, dword [esp + 0x44]
test esi, esi
je 0x4d7591
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
lea edx, [ecx + eax*4]
jmp 0x4d7572
mov eax, dword [ecx]
cmp dword [eax], 0x20
jb 0x4d756f
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x4d7578
add ecx, 4
cmp ecx, edx
jb 0x4d7561
jmp 0x4d7591
mov edx, esi
mov ecx, eax
call fcn.004c723f
test eax, eax
je 0x4d7591
push eax
push 0x163501a3
call dword [sym.imp.certcli.dll_Ordinal_357]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax]
test edx, edx
je 0x4d75cc
cmp dword [ebx], 0x18
jb 0x4d75cc
mov ecx, dword [ebx + 0x14]
call fcn.004d6c3f
mov esi, eax
test esi, esi
je 0x4d75cc
push esi
push 0x164401a3
call dword [sym.imp.certcli.dll_Ordinal_357]
mov ebx, dword [esp + 0x28]
jmp 0x4d7609
mov edx, dword [esp + 0x48]
test edx, edx
je 0x4d75ef
cmp dword [ebx], 0x1c
jb 0x4d75ef
mov ecx, dword [ebx + 0x18]
call fcn.004d6c3f
mov esi, eax
test esi, esi
je 0x4d75ef
push esi
push 0x164c01a3
jmp 0x4d75fb
mov esi, edi
test edi, edi
je 0x4d7633
push edi
push 0x164f01a3
call dword [sym.imp.certcli.dll_Ordinal_357]
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4d7619
cmp dword [ebx], 0
je 0x4d7619
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [ebx], 0
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x4d7635
cmp dword [ebx], 0
je 0x4d7635
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [ebx], 0
jmp 0x4d7635
xor esi, esi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4d7644
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esp + 0x10], 0
je 0x4d7655
push dword [esp + 0x10]
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateChain]
mov ecx, dword [esp + 0xd4]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005036b0
mov esp, ebp
pop ebp
ret 0x44