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

Disassembly:
sub esp, 0x168
mov eax, dword [0x4a4080]
xor eax, esp
mov dword [esp + 0x164], eax
push ebx
mov ebx, dword [esp + 0x174]
push ebp
push esi
mov esi, dword [esp + 0x178]
push edi
push esi
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
call fcn.004457f0
push ebx
push esi
mov ebp, eax
call fcn.004457d0
mov esi, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x14], eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], edi
mov eax, dword [esi + 0x14]
push 0x53
push dword [eax + 4]
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x2c]
call eax
test eax, eax
jne 0x47d61e
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x47d61e
cmp dword [ebp + 0xc], edi
jne 0x47d1e4
cmp dword [ebp + 0x2c], edi
je 0x47d2ff
mov eax, dword [esi + 0x14]
cmp byte [eax + 0x48], 0
je 0x47d2ff
push 0
push 2
push 0
push 1
push 6
call fcn.00476410
add esp, 0x14
test al, al
je 0x47d21f
push 0x495d70
push ebx
call fcn.0044b720
add esp, 8
mov edi, 0x4d
jmp 0x47d642
push 0
push 0x2000
push 0
push 0
push 2
call dword [sym.imp.CRYPT32.dll_CertOpenStore]
mov ecx, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
jne 0x47d268
push 0x100
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00435ea0
push eax
push 0x49b1b8
push ebx
call fcn.0044b720
mov edi, 0x4d
jmp 0x47d63f
mov eax, dword [ebp + 0x2c]
push ebx
test eax, eax
je 0x47d285
push 0x495918
push dword [eax + 4]
push dword [eax]
push ecx
call fcn.0047d6a0
add esp, 0x14
jmp 0x47d291
push dword [ebp + 0xc]
push ecx
call fcn.0047d8a0
add esp, 0xc
mov edi, eax
test edi, edi
jne 0x47d642
push 0x30
push eax
lea eax, [esp + 0x4c]
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x38]
add esp, 0xc
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x44], 0x30
push eax
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.CRYPT32.dll_CertCreateCertificateChainEngine]
test eax, eax
jne 0x47d2fb
push 0x100
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00435ea0
push eax
push 0x49b1ec
push ebx
call fcn.0044b720
mov edi, 0x4d
jmp 0x47d63f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push eax
push 0
mov eax, 0x20000000
xorps xmm0, xmm0
cmp byte [edx + 0x63], 0
mov edx, 0
movups xmmword [esp + 0x3c], xmm0
cmovne eax, edx
mov dword [esp + 0x3c], 0x10
push eax
lea eax, [esp + 0x40]
push eax
push dword [ecx + 0x10]
push edx
push ecx
push dword [esp + 0x44]
call dword [sym.imp.CRYPT32.dll_CertGetCertificateChain]
test eax, eax
jne 0x47d373
push 0x100
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00435ea0
push eax
push 0x49b224
push ebx
call fcn.0044b720
mov dword [esp + 0x30], 0
jmp 0x47d63a
cmp byte [ebx + 0x449], 0
mov eax, 0xfffffffd
mov ecx, 0xfeffffbd
cmove ecx, eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov eax, dword [eax]
and ecx, dword [eax + 4]
je 0x47d446
test cl, 4
je 0x47d3b6
push 0x49b258
push ebx
call fcn.0044b720
add esp, 8
mov edi, 0x3c
jmp 0x47d642
test ecx, 0x10000
je 0x47d3d6
push 0x49b2a0
push ebx
call fcn.0044b720
add esp, 8
mov edi, 0x3c
jmp 0x47d642
test cl, 0x20
je 0x47d3f3
push 0x49b2f0
push ebx
call fcn.0044b720
add esp, 8
mov edi, 0x3c
jmp 0x47d642
test cl, 1
je 0x47d410
push 0x49b340
push ebx
call fcn.0044b720
add esp, 8
mov edi, 0x3c
jmp 0x47d642
test cl, 0x40
je 0x47d42d
push 0x49b390
push ebx
call fcn.0044b720
add esp, 8
mov edi, 0x3c
jmp 0x47d642
push ecx
push 0x49b3e4
push ebx
call fcn.0044b720
add esp, 0xc
mov edi, 0x3c
jmp 0x47d642
cmp byte [ebp + 0x3a], 0
je 0x47d642
mov ebp, dword [esi + 8]
xor esi, esi
mov edi, dword [esp + 0x10]
mov ecx, ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d470
push 0
push 0
sub ecx, edx
push edi
push ebx
mov dword [esp + 0x40], ecx
call fcn.0047db70
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
jne 0x47d4b8
push 0x49afd8
push ebx
call fcn.0044b720
add esp, 8
mov edi, 0x3c
push dword [esp + 0x14]
call dword [0x4a4020]
add esp, 4
jmp 0x47d642
push eax
call dword [0x4a401c]
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47d4dc
push eax
lea edi, [eax + 0x1b]
call dword [0x4a4020]
add esp, 4
jmp 0x47d642
push dword [esp + 0x24]
push eax
push edi
push ebx
call fcn.0047db70
mov ecx, dword [esp + 0x34]
add esp, 0x10
cmp eax, ecx
je 0x47d518
push 0x49b020
push ebx
call fcn.0044b720
add esp, 8
mov edi, 0x3c
push dword [esp + 0x14]
call dword [0x4a4020]
add esp, 4
jmp 0x47d642
mov edi, 0x3c
test ecx, ecx
je 0x47d600
nop word [eax + eax]
add esi, dword [esp + 0x14]
cmp byte [esi], 0
je 0x47d5d6
cmp edi, 0x3c
jne 0x47d5db
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x47d55b
lea edi, [eax + 0x1b]
jmp 0x47d5c8
mov ecx, ebp
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47d560
push dword [esp + 0x30]
mov edi, dword [esp + 0x20]
sub ecx, edx
push edi
push ecx
push ebp
call fcn.00485360
add esp, 0x10
push ebp
push edi
test al, al
je 0x47d594
push 0x49b078
push ebx
call fcn.0044b7f0
add esp, 0x10
xor edi, edi
jmp 0x47d5be
push 0x49b0c8
push ebx
call fcn.0044b7f0
add esp, 0x10
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x47d5a5
mov eax, dword [esp + 0x20]
sub esi, ecx
inc eax
mov edi, 0x3c
add eax, esi
mov dword [esp + 0x20], eax
push ebp
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov esi, dword [esp + 0x20]
cmp esi, dword [esp + 0x24]
jb 0x47d530
cmp edi, 0x3c
je 0x47d5fc
test edi, edi
je 0x47d60f
push 0x49b180
push ebx
call fcn.0044b720
add esp, 8
push dword [esp + 0x14]
call dword [0x4a4020]
add esp, 4
jmp 0x47d642
mov ebp, dword [esp + 0x1c]
push ebp
push 0x49b118
push ebx
call fcn.0044b720
add esp, 0xc
push dword [esp + 0x14]
call dword [0x4a4020]
add esp, 4
jmp 0x47d642
push 0x100
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.00435750
push eax
push 0x4965fc
push ebx
call fcn.0044b720
mov edi, 0x3c
add esp, 0x18
mov eax, dword [esp + 0x28]
test eax, eax
je 0x47d651
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateChainEngine]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x47d662
push 0
push eax
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x47d671
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateChain]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x47d680
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov ecx, dword [esp + 0x174]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00486b00
add esp, 0x168
ret