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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x16c
call fcn.00663af0
mov eax, dword [0x74e694]
xor eax, esp
mov dword [esp + 0x168], eax
push ebx
xor eax, eax
mov dword [esp + 0x2c], edx
cmp dword [ebp + 0x10], 0x80
mov ebx, ecx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], eax
jle 0x487e12
push str.BAD_RECURSION_DEPTH_n
push ebx
call fcn.0046bcc0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x168]
xor ecx, esp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
mov eax, dword [edx]
mov dword [esp + 0x48], eax
add eax, esi
mov dword [esp + 0x44], eax
test esi, esi
jle 0x4880ba
mov edi, dword [esp + 0x48]
lea eax, [esp + 0x40]
push esi
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x34], edi
push eax
lea edx, [esp + 0x48]
lea ecx, [esp + 0x54]
call fcn.0046f650
add esp, 0xc
mov dword [esp + 0x18], eax
test al, al
js 0x4889b8
mov ecx, dword [esp + 0x34]
mov eax, edi
mov esi, dword [esp + 0x48]
sub esi, edi
sub dword [esp + 0x30], esi
sub eax, dword [ecx]
add eax, dword [ebp + 0xc]
push eax
push str._5ld:
push ebx
mov dword [esp + 0x34], esi
call fcn.0046df90
add esp, 0xc
test eax, eax
jle 0x4880c2
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
cmp edi, 0x21
je 0x487eac
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
push str.d__2d_hl_ld_l_4ld
push ebx
call fcn.0046df90
add esp, 0x14
jmp 0x487ebf
push esi
mov esi, dword [ebp + 0x10]
push esi
push str.d__2d_hl_ld_linf
push ebx
call fcn.0046df90
add esp, 0x10
test eax, eax
jle 0x4880c2
mov eax, edi
mov edx, str.prim:
and eax, 0x20
mov ecx, ebx
mov dword [esp + 0x18], eax
lea eax, [esp + 0x90]
push eax
mov eax, str.cons:
push 6
cmovne edx, eax
call fcn.0046bb30
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x90]
cmp eax, 6
jl 0x4880c2
xor edx, edx
mov ecx, ebx
cmp dword [ebp + 0x14], edx
push 0x80
cmovne edx, esi
call fcn.0046c030
mov ecx, dword [esp + 0x44]
lea esi, [esp + 0xa4]
mov eax, ecx
add esp, 4
and eax, 0xc0
cmp al, 0xc0
mov eax, dword [esp + 0x24]
jne 0x487f3d
push eax
push str.priv____d__
jmp 0x487f61
test cl, cl
jns 0x487f49
push eax
push str.cont____d__
jmp 0x487f61
test cl, 0x40
je 0x487f56
push eax
push str.appl____d__
jmp 0x487f61
cmp eax, 0x1e
jle 0x487f78
push eax
push str._ASN1__d_
lea eax, [esp + 0xa8]
push 0x80
push eax
call fcn.0046e100
add esp, 0x10
jmp 0x487f81
mov ecx, eax
call fcn.004889f0
mov esi, eax
push esi
push str.__18s
push ebx
call fcn.0046df90
add esp, 0xc
test eax, eax
jle 0x4880c2
cmp dword [esp + 0x18], 0
je 0x4881e1
mov eax, dword [esp + 0x48]
mov edx, 0x71657c
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
add ebx, eax
mov dword [esp + 0x18], eax
mov ecx, esi
lea eax, [esp + 0x54]
push eax
push 1
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4880c2
cmp dword [esp + 0x54], 0
jle 0x4880c2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jg 0x48899c
cmp edi, 0x21
jne 0x48804d
test eax, eax
jne 0x48804d
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp + 0x14]
inc esi
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
mov ecx, ebx
mov eax, dword [esp + 0x48]
push 0xffffffffffffffff
push dword [ebp + 0x14]
sub eax, dword [edx]
lea edx, [esp + 0x50]
add eax, dword [ebp + 0xc]
push esi
push eax
mov eax, edi
sub eax, dword [esp + 0x58]
push eax
call fcn.00487da0
add esp, 0x14
test eax, eax
je 0x4889ab
cmp eax, 2
je 0x48803f
cmp dword [esp + 0x48], edi
jb 0x488003
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
jmp 0x4880a8
mov edi, eax
cmp dword [esp + 0x48], ebx
jae 0x488995
mov eax, dword [ebp + 0x10]
inc eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x48]
mov esi, dword [esp + 0x48]
push 0xffffffffffffffff
push dword [ebp + 0x14]
push eax
mov eax, esi
sub eax, dword [ecx]
add eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
push eax
push edi
call fcn.00487da0
add esp, 0x14
test eax, eax
je 0x4889ab
sub esi, dword [esp + 0x48]
mov eax, dword [esp + 0x18]
add edi, esi
cmp dword [esp + 0x48], ebx
jb 0x488061
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
sub esi, eax
mov dword [esp + 0x30], esi
test esi, esi
jg 0x487e26
mov dword [esp + 0x20], 1
xor ebx, ebx
xor edi, edi
xor esi, esi
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x488135
mov eax, dword [ecx + 0x14]
test al, 4
je 0x488104
push dword [ecx]
call fcn.0066a657
mov eax, dword [esp + 0x20]
add esp, 4
push dword [eax + 4]
call fcn.0066a657
mov ecx, dword [esp + 0x20]
add esp, 4
mov eax, dword [ecx + 0x14]
mov dword [ecx + 4], 0
mov dword [ecx], 0
test al, 8
je 0x488128
push dword [ecx + 0x10]
call fcn.0066a657
mov ecx, dword [esp + 0x20]
add esp, 4
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
test al, 1
je 0x488135
push ecx
call fcn.0066a657
add esp, 4
test ebx, ebx
je 0x488168
mov eax, dword [ebx + 0xc]
mov ecx, eax
and ecx, 0x80
mov dword [esp + 0x50], ecx
test al, 0x10
jne 0x48815b
push dword [ebx + 8]
call fcn.0066a657
mov ecx, dword [esp + 0x54]
add esp, 4
test ecx, ecx
jne 0x488168
push ebx
call fcn.0066a657
add esp, 4
test edi, edi
je 0x488193
mov eax, dword [edi + 0xc]
mov ebx, eax
and ebx, 0x80
test al, 0x10
jne 0x488186
push dword [edi + 8]
call fcn.0066a657
add esp, 4
test ebx, ebx
jne 0x488193
push edi
call fcn.0066a657
add esp, 4
test esi, esi
je 0x4881be
mov eax, dword [esi + 0xc]
mov edi, eax
and edi, 0x80
test al, 0x10
jne 0x4881b1
push dword [esi + 8]
call fcn.0066a657
add esp, 4
test edi, edi
jne 0x4881be
push esi
call fcn.0066a657
add esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
pop edi
pop esi
mov dword [eax], ecx
mov ecx, dword [esp + 0x16c]
mov eax, dword [esp + 0x18]
pop ebx
xor ecx, esp
call fcn.00663ada
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x40], 0
je 0x48821e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x58]
add dword [esp + 0x48], ecx
mov edx, 0x71657c
push eax
push 1
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4880c2
cmp dword [esp + 0x58], 0
jle 0x4880c2
jmp 0x4880a4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], 0
cmp eax, 0x13
je 0x48892c
cmp eax, 0x14
je 0x48892c
cmp eax, 0x16
je 0x48892c
cmp eax, 0x1a
je 0x48892c
cmp eax, 0x12
je 0x48892c
cmp eax, 0xc
je 0x48892c
cmp eax, 0x17
je 0x48892c
cmp eax, 0x18
je 0x48892c
cmp eax, 6
jne 0x4884b6
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0x1c]
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x10]
push eax
call fcn.00470230
add esp, 4
test eax, eax
je 0x48849b
lea eax, [esp + 0x5c]
mov edx, 0x716574
push eax
push 1
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4880c2
cmp dword [esp + 0x5c], 0
jle 0x4880c2
mov edi, dword [esp + 0x1c]
lea esi, [esp + 0x120]
test edi, edi
je 0x48847d
cmp dword [edi + 0x10], 0
je 0x48847d
push 0
push edi
mov edx, 0x50
mov ecx, esi
call fcn.00482cd0
mov ebx, eax
add esp, 8
cmp ebx, 0x4f
jle 0x488444
lea edi, [ebx + 1]
test edi, edi
je 0x488369
push edi
mov dword [0x74f4ac], 0
call fcn.0066dc36
mov esi, eax
add esp, 4
test esi, esi
je 0x488369
mov eax, dword [esp + 0x1c]
mov edx, edi
push 0
push eax
mov ecx, esi
call fcn.00482cd0
add esp, 8
lea eax, [esp + 0x98]
mov edx, esi
push eax
push ebx
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.0046bb30
lea eax, [esp + 0x128]
add esp, 8
cmp esi, eax
je 0x488389
push esi
call fcn.0066a657
add esp, 4
jmp 0x488389
mov edx, 0x7e
push 0xc3
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_asn1_a_object.c
push 0x41
lea ecx, [edx - 0x71]
call fcn.0047b7e0
add esp, 0xc
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x38], 0
je 0x4883f4
mov edi, dword [esp + 0x28]
add edi, dword [esp + 0x2c]
push 0x720664
push ebx
call fcn.0046bcc0
add esp, 8
test eax, eax
jle 0x4880c2
xor esi, esi
cmp dword [esp + 0x10], esi
jle 0x4883d8
movzx eax, byte [esi + edi]
push eax
push str._02X
push ebx
call fcn.0046df90
add esp, 0xc
test eax, eax
jle 0x4880c2
inc esi
cmp esi, dword [esp + 0x10]
jl 0x4883b6
push 0x720668
push ebx
call fcn.0046bcc0
add esp, 8
test eax, eax
jle 0x4880c2
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [esp + 0x18], 0
jne 0x488424
lea eax, [esp + 0x50]
mov edx, 0x71657c
push eax
push 1
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4880c2
cmp dword [esp + 0x50], 0
jle 0x4880c2
mov eax, dword [esp + 0x10]
add dword [esp + 0x48], eax
cmp dword [esp + 0x24], 0
jne 0x4880a4
mov dword [esp + 0x20], 2
jmp 0x4880c2
test ebx, ebx
jg 0x48833a
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x94]
push eax
push 9
mov edx, str._INVALID_
mov ecx, ebx
call fcn.0046bb30
push 0
push dword [edi + 0xc]
mov edx, ebx
push dword [edi + 0x10]
call fcn.00486780
add esp, 0x14
jmp 0x488389
lea eax, [esp + 0x9c]
mov edx, str.NULL
push eax
push 4
mov ecx, ebx
call fcn.0046bb30
add esp, 8
jmp 0x488389
push str.:BAD_OBJECT
push ebx
call fcn.0046bcc0
add esp, 8
test eax, eax
jle 0x4880c2
jmp 0x488390
cmp eax, 1
jne 0x488504
mov esi, dword [esp + 0x10]
cmp esi, eax
je 0x4884e1
push str.:BAD_BOOLEAN
push ebx
call fcn.0046bcc0
add esp, 8
test eax, eax
jle 0x4880c2
mov dword [esp + 0x38], 1
test esi, esi
jle 0x488389
mov eax, dword [esp + 0x48]
movzx eax, byte [eax]
push eax
push 0x72063c
push ebx
call fcn.0046df90
add esp, 0xc
jmp 0x488389
cmp eax, 0x1e
je 0x488389
cmp eax, 4
jne 0x488666
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
xor ecx, ecx
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x10]
push 0x6e24b0
push eax
call fcn.00489a50
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x488385
cmp dword [ebx], 0
jle 0x4885e2
mov esi, dword [ebx + 8]
xor ecx, ecx
mov dword [esp + 0x4c], esi
mov edx, dword [ebx]
test edx, edx
jle 0x488584
nop dword [eax]
mov al, byte [ecx + esi]
cmp al, 0x20
jae 0x488577
cmp al, 0xa
je 0x48857f
cmp al, 0xd
je 0x48857f
cmp al, 9
jne 0x488612
cmp al, 0x7e
ja 0x488612
inc ecx
cmp ecx, edx
jl 0x488560
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x64]
push eax
push 1
mov edx, 0x716574
mov ecx, esi
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4880c4
cmp dword [esp + 0x64], 0
jle 0x4880c4
mov eax, dword [ebx]
test eax, eax
js 0x4880c4
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x68]
push ecx
push eax
mov ecx, esi
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4880c4
cmp dword [esp + 0x68], 0
jle 0x4880c4
mov eax, dword [ebx + 0xc]
mov esi, eax
and esi, 0x80
test al, 0x10
jne 0x4885fc
push dword [ebx + 8]
call fcn.0066a657
add esp, 4
test esi, esi
jne 0x488385
push ebx
call fcn.0066a657
add esp, 4
jmp 0x488385
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x60]
push eax
push 1
mov edx, 0x71657c
mov ecx, esi
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4880c4
cmp dword [esp + 0x60], 0
jle 0x4880c4
push 6
push dword [ebx]
mov edx, esi
push dword [esp + 0x54]
call fcn.00486780
add esp, 0xc
test eax, eax
jle 0x4880c4
mov dword [esp + 0x18], 1
jmp 0x4885e2
cmp eax, 2
jne 0x488793
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
xor ecx, ecx
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x10]
push 0x6e23a0
push eax
call fcn.00489a50
mov edi, eax
add esp, 8
test edi, edi
je 0x488776
lea eax, [esp + 0x6c]
mov edx, 0x716574
push eax
push 1
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x48878c
cmp dword [esp + 0x6c], 0
jle 0x48878c
cmp dword [edi + 4], 0x102
jne 0x4886f8
lea eax, [esp + 0x70]
mov edx, 0x716428
push eax
push 1
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x48878c
cmp dword [esp + 0x70], 0
jle 0x48878c
mov eax, dword [edi]
xor esi, esi
test eax, eax
jle 0x488723
mov eax, dword [edi + 8]
movzx eax, byte [eax + esi]
push eax
push str._02X
push ebx
call fcn.0046df90
add esp, 0xc
test eax, eax
jle 0x48878c
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x488700
test eax, eax
jne 0x488746
lea eax, [esp + 0x74]
mov edx, 0x720640
push eax
push 2
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x48878c
cmp dword [esp + 0x74], 0
jle 0x48878c
mov eax, dword [edi + 0xc]
mov esi, eax
and esi, 0x80
test al, 0x10
jne 0x488760
push dword [edi + 8]
call fcn.0066a657
add esp, 4
test esi, esi
jne 0x488389
push edi
call fcn.0066a657
add esp, 4
jmp 0x488389
push str.:BAD_INTEGER
push ebx
call fcn.0046bcc0
add esp, 8
test eax, eax
jg 0x488390
xor ebx, ebx
jmp 0x4880c6
cmp eax, 0xa
jne 0x4888cb
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
xor ecx, ecx
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x10]
push 0x6e2494
push eax
call fcn.00489a50
mov esi, eax
add esp, 8
test esi, esi
je 0x4888ac
lea eax, [esp + 0x78]
mov edx, 0x716574
push eax
push 1
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4888c2
cmp dword [esp + 0x78], 0
jle 0x4888c2
cmp dword [esi + 4], 0x10a
jne 0x488825
lea eax, [esp + 0x7c]
mov edx, 0x716428
push eax
push 1
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4888c2
cmp dword [esp + 0x7c], 0
jle 0x4888c2
mov eax, dword [esi]
xor edi, edi
test eax, eax
jle 0x488853
nop dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax + edi]
push eax
push str._02X
push ebx
call fcn.0046df90
add esp, 0xc
test eax, eax
jle 0x4888c2
mov eax, dword [esi]
inc edi
cmp edi, eax
jl 0x488830
test eax, eax
jne 0x48887c
lea eax, [esp + 0x80]
mov edx, 0x720640
push eax
push 2
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4888c2
cmp dword [esp + 0x80], 0
jle 0x4888c2
mov eax, dword [esi + 0xc]
mov edi, eax
and edi, 0x80
test al, 0x10
jne 0x488896
push dword [esi + 8]
call fcn.0066a657
add esp, 4
test edi, edi
jne 0x488389
push esi
call fcn.0066a657
add esp, 4
jmp 0x488389
push str.:BAD_ENUMERATED
push ebx
call fcn.0046bcc0
add esp, 8
test eax, eax
jg 0x488390
xor ebx, ebx
xor edi, edi
jmp 0x4880c8
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x488389
lea eax, [esp + 0x84]
mov edx, 0x71657c
push eax
push 1
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4880c2
cmp dword [esp + 0x84], 0
jle 0x4880c2
push 6
push esi
push dword [esp + 0x50]
mov edx, ebx
call fcn.00486780
add esp, 0xc
test eax, eax
jle 0x4880c2
mov dword [esp + 0x18], 1
jmp 0x488389
lea eax, [esp + 0x88]
mov edx, 0x716574
push eax
push 1
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
jle 0x4880c2
cmp dword [esp + 0x88], 0
jle 0x4880c2
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x488389
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x8c]
push eax
push esi
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x8c]
cmp eax, esi
jne 0x4880c2
jmp 0x488389
mov ebx, esi
jmp 0x4880a8
push ecx
push str.length_is_greater_than__ld_n
push esi
call fcn.0046df90
add esp, 0xc
mov dword [esp + 0x20], 0
jmp 0x4880c2
lea eax, [esp + 0x50]
mov edx, str.Error_in_encoding_n
push eax
push 0x12
mov ecx, ebx
call fcn.0046bb30
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x50]
xor ebx, ebx
xor edi, edi
xor esi, esi
test eax, eax
jle 0x4880c8
mov dword [esp + 0x20], ebx
jmp 0x4880c2