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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x16c
call fcn.00628ef0
mov eax, dword [0x70d514]
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 0x496622
push str.BAD_RECURSION_DEPTH_n
push ebx
call fcn.0046b010
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x168]
xor ecx, esp
call fcn.00628dca
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 0x4968ca
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.00475c40
add esp, 0xc
mov dword [esp + 0x18], eax
test al, al
js 0x4971c8
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.00474580
add esp, 0xc
test eax, eax
jle 0x4968d2
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
cmp edi, 0x21
je 0x4966bc
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
push str.d__2d_hl_ld_l_4ld
push ebx
call fcn.00474580
add esp, 0x14
jmp 0x4966cf
push esi
mov esi, dword [ebp + 0x10]
push esi
push str.d__2d_hl_ld_linf
push ebx
call fcn.00474580
add esp, 0x10
test eax, eax
jle 0x4968d2
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.0046ae80
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x90]
cmp eax, 6
jl 0x4968d2
xor edx, edx
mov ecx, ebx
cmp dword [ebp + 0x14], edx
push 0x80
cmovne edx, esi
call fcn.0046b380
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 0x49674d
push eax
push str.priv____d__
jmp 0x496771
test cl, cl
jns 0x496759
push eax
push str.cont____d__
jmp 0x496771
test cl, 0x40
je 0x496766
push eax
push str.appl____d__
jmp 0x496771
cmp eax, 0x1e
jle 0x496788
push eax
push str._ASN1__d_
lea eax, [esp + 0xa8]
push 0x80
push eax
call fcn.004746f0
add esp, 0x10
jmp 0x496791
mov ecx, eax
call fcn.00497200
mov esi, eax
push esi
push str.__18s
push ebx
call fcn.00474580
add esp, 0xc
test eax, eax
jle 0x4968d2
cmp dword [esp + 0x18], 0
je 0x4969f1
mov eax, dword [esp + 0x48]
mov edx, 0x6d6ca8
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.0046ae80
add esp, 8
test eax, eax
jle 0x4968d2
cmp dword [esp + 0x54], 0
jle 0x4968d2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jg 0x4971ac
cmp edi, 0x21
jne 0x49685d
test eax, eax
jne 0x49685d
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.004965b0
add esp, 0x14
test eax, eax
je 0x4971bb
cmp eax, 2
je 0x49684f
cmp dword [esp + 0x48], edi
jb 0x496813
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
jmp 0x4968b8
mov edi, eax
cmp dword [esp + 0x48], ebx
jae 0x4971a5
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.004965b0
add esp, 0x14
test eax, eax
je 0x4971bb
sub esi, dword [esp + 0x48]
mov eax, dword [esp + 0x18]
add edi, esi
cmp dword [esp + 0x48], ebx
jb 0x496871
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 0x496636
mov dword [esp + 0x20], 1
xor ebx, ebx
xor edi, edi
xor esi, esi
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x496945
mov eax, dword [ecx + 0x14]
test al, 4
je 0x496914
push dword [ecx]
call fcn.0062f9c7
mov eax, dword [esp + 0x20]
add esp, 4
push dword [eax + 4]
call fcn.0062f9c7
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 0x496938
push dword [ecx + 0x10]
call fcn.0062f9c7
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 0x496945
push ecx
call fcn.0062f9c7
add esp, 4
test ebx, ebx
je 0x496978
mov eax, dword [ebx + 0xc]
mov ecx, eax
and ecx, 0x80
mov dword [esp + 0x50], ecx
test al, 0x10
jne 0x49696b
push dword [ebx + 8]
call fcn.0062f9c7
mov ecx, dword [esp + 0x54]
add esp, 4
test ecx, ecx
jne 0x496978
push ebx
call fcn.0062f9c7
add esp, 4
test edi, edi
je 0x4969a3
mov eax, dword [edi + 0xc]
mov ebx, eax
and ebx, 0x80
test al, 0x10
jne 0x496996
push dword [edi + 8]
call fcn.0062f9c7
add esp, 4
test ebx, ebx
jne 0x4969a3
push edi
call fcn.0062f9c7
add esp, 4
test esi, esi
je 0x4969ce
mov eax, dword [esi + 0xc]
mov edi, eax
and edi, 0x80
test al, 0x10
jne 0x4969c1
push dword [esi + 8]
call fcn.0062f9c7
add esp, 4
test edi, edi
jne 0x4969ce
push esi
call fcn.0062f9c7
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.00628dca
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x40], 0
je 0x496a2e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x58]
add dword [esp + 0x48], ecx
mov edx, 0x6d6ca8
push eax
push 1
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4968d2
cmp dword [esp + 0x58], 0
jle 0x4968d2
jmp 0x4968b4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], 0
cmp eax, 0x13
je 0x49713c
cmp eax, 0x14
je 0x49713c
cmp eax, 0x16
je 0x49713c
cmp eax, 0x1a
je 0x49713c
cmp eax, 0x12
je 0x49713c
cmp eax, 0xc
je 0x49713c
cmp eax, 0x17
je 0x49713c
cmp eax, 0x18
je 0x49713c
cmp eax, 6
jne 0x496cc6
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.00476820
add esp, 4
test eax, eax
je 0x496cab
lea eax, [esp + 0x5c]
mov edx, 0x6d7464
push eax
push 1
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4968d2
cmp dword [esp + 0x5c], 0
jle 0x4968d2
mov edi, dword [esp + 0x1c]
lea esi, [esp + 0x120]
test edi, edi
je 0x496c8d
cmp dword [edi + 0x10], 0
je 0x496c8d
push 0
push edi
mov edx, 0x50
mov ecx, esi
call fcn.00489900
mov ebx, eax
add esp, 8
cmp ebx, 0x4f
jle 0x496c54
lea edi, [ebx + 1]
test edi, edi
je 0x496b79
push edi
mov dword [0x70e32c], 0
call fcn.006330cd
mov esi, eax
add esp, 4
test esi, esi
je 0x496b79
mov eax, dword [esp + 0x1c]
mov edx, edi
push 0
push eax
mov ecx, esi
call fcn.00489900
add esp, 8
lea eax, [esp + 0x98]
mov edx, esi
push eax
push ebx
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.0046ae80
lea eax, [esp + 0x128]
add esp, 8
cmp esi, eax
je 0x496b99
push esi
call fcn.0062f9c7
add esp, 4
jmp 0x496b99
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.004818c0
add esp, 0xc
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x38], 0
je 0x496c04
mov edi, dword [esp + 0x28]
add edi, dword [esp + 0x2c]
push 0x6e185c
push ebx
call fcn.0046b010
add esp, 8
test eax, eax
jle 0x4968d2
xor esi, esi
cmp dword [esp + 0x10], esi
jle 0x496be8
movzx eax, byte [esi + edi]
push eax
push 0x6d6cac
push ebx
call fcn.00474580
add esp, 0xc
test eax, eax
jle 0x4968d2
inc esi
cmp esi, dword [esp + 0x10]
jl 0x496bc6
push 0x6e1860
push ebx
call fcn.0046b010
add esp, 8
test eax, eax
jle 0x4968d2
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [esp + 0x18], 0
jne 0x496c34
lea eax, [esp + 0x50]
mov edx, 0x6d6ca8
push eax
push 1
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4968d2
cmp dword [esp + 0x50], 0
jle 0x4968d2
mov eax, dword [esp + 0x10]
add dword [esp + 0x48], eax
cmp dword [esp + 0x24], 0
jne 0x4968b4
mov dword [esp + 0x20], 2
jmp 0x4968d2
test ebx, ebx
jg 0x496b4a
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x94]
push eax
push 9
mov edx, str._INVALID_
mov ecx, ebx
call fcn.0046ae80
push 0
push dword [edi + 0xc]
mov edx, ebx
push dword [edi + 0x10]
call fcn.0046c020
add esp, 0x14
jmp 0x496b99
lea eax, [esp + 0x9c]
mov edx, str.NULL
push eax
push 4
mov ecx, ebx
call fcn.0046ae80
add esp, 8
jmp 0x496b99
push str.:BAD_OBJECT
push ebx
call fcn.0046b010
add esp, 8
test eax, eax
jle 0x4968d2
jmp 0x496ba0
cmp eax, 1
jne 0x496d14
mov esi, dword [esp + 0x10]
cmp esi, eax
je 0x496cf1
push str.:BAD_BOOLEAN
push ebx
call fcn.0046b010
add esp, 8
test eax, eax
jle 0x4968d2
mov dword [esp + 0x38], 1
test esi, esi
jle 0x496b99
mov eax, dword [esp + 0x48]
movzx eax, byte [eax]
push eax
push 0x6e1834
push ebx
call fcn.00474580
add esp, 0xc
jmp 0x496b99
cmp eax, 0x1e
je 0x496b99
cmp eax, 4
jne 0x496e76
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 0x6a63e0
push eax
call fcn.00498260
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x496b95
cmp dword [ebx], 0
jle 0x496df2
mov esi, dword [ebx + 8]
xor ecx, ecx
mov dword [esp + 0x4c], esi
mov edx, dword [ebx]
test edx, edx
jle 0x496d94
nop dword [eax]
mov al, byte [ecx + esi]
cmp al, 0x20
jae 0x496d87
cmp al, 0xa
je 0x496d8f
cmp al, 0xd
je 0x496d8f
cmp al, 9
jne 0x496e22
cmp al, 0x7e
ja 0x496e22
inc ecx
cmp ecx, edx
jl 0x496d70
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x64]
push eax
push 1
mov edx, 0x6d7464
mov ecx, esi
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4968d4
cmp dword [esp + 0x64], 0
jle 0x4968d4
mov eax, dword [ebx]
test eax, eax
js 0x4968d4
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x68]
push ecx
push eax
mov ecx, esi
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4968d4
cmp dword [esp + 0x68], 0
jle 0x4968d4
mov eax, dword [ebx + 0xc]
mov esi, eax
and esi, 0x80
test al, 0x10
jne 0x496e0c
push dword [ebx + 8]
call fcn.0062f9c7
add esp, 4
test esi, esi
jne 0x496b95
push ebx
call fcn.0062f9c7
add esp, 4
jmp 0x496b95
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x60]
push eax
push 1
mov edx, 0x6d6ca8
mov ecx, esi
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4968d4
cmp dword [esp + 0x60], 0
jle 0x4968d4
push 6
push dword [ebx]
mov edx, esi
push dword [esp + 0x54]
call fcn.0046c020
add esp, 0xc
test eax, eax
jle 0x4968d4
mov dword [esp + 0x18], 1
jmp 0x496df2
cmp eax, 2
jne 0x496fa3
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 0x6a62d0
push eax
call fcn.00498260
mov edi, eax
add esp, 8
test edi, edi
je 0x496f86
lea eax, [esp + 0x6c]
mov edx, 0x6d7464
push eax
push 1
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x496f9c
cmp dword [esp + 0x6c], 0
jle 0x496f9c
cmp dword [edi + 4], 0x102
jne 0x496f08
lea eax, [esp + 0x70]
mov edx, 0x6d7318
push eax
push 1
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x496f9c
cmp dword [esp + 0x70], 0
jle 0x496f9c
mov eax, dword [edi]
xor esi, esi
test eax, eax
jle 0x496f33
mov eax, dword [edi + 8]
movzx eax, byte [eax + esi]
push eax
push 0x6d6cac
push ebx
call fcn.00474580
add esp, 0xc
test eax, eax
jle 0x496f9c
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x496f10
test eax, eax
jne 0x496f56
lea eax, [esp + 0x74]
mov edx, 0x6e1838
push eax
push 2
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x496f9c
cmp dword [esp + 0x74], 0
jle 0x496f9c
mov eax, dword [edi + 0xc]
mov esi, eax
and esi, 0x80
test al, 0x10
jne 0x496f70
push dword [edi + 8]
call fcn.0062f9c7
add esp, 4
test esi, esi
jne 0x496b99
push edi
call fcn.0062f9c7
add esp, 4
jmp 0x496b99
push str.:BAD_INTEGER
push ebx
call fcn.0046b010
add esp, 8
test eax, eax
jg 0x496ba0
xor ebx, ebx
jmp 0x4968d6
cmp eax, 0xa
jne 0x4970db
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 0x6a63c4
push eax
call fcn.00498260
mov esi, eax
add esp, 8
test esi, esi
je 0x4970bc
lea eax, [esp + 0x78]
mov edx, 0x6d7464
push eax
push 1
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4970d2
cmp dword [esp + 0x78], 0
jle 0x4970d2
cmp dword [esi + 4], 0x10a
jne 0x497035
lea eax, [esp + 0x7c]
mov edx, 0x6d7318
push eax
push 1
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4970d2
cmp dword [esp + 0x7c], 0
jle 0x4970d2
mov eax, dword [esi]
xor edi, edi
test eax, eax
jle 0x497063
nop dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax + edi]
push eax
push 0x6d6cac
push ebx
call fcn.00474580
add esp, 0xc
test eax, eax
jle 0x4970d2
mov eax, dword [esi]
inc edi
cmp edi, eax
jl 0x497040
test eax, eax
jne 0x49708c
lea eax, [esp + 0x80]
mov edx, 0x6e1838
push eax
push 2
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4970d2
cmp dword [esp + 0x80], 0
jle 0x4970d2
mov eax, dword [esi + 0xc]
mov edi, eax
and edi, 0x80
test al, 0x10
jne 0x4970a6
push dword [esi + 8]
call fcn.0062f9c7
add esp, 4
test edi, edi
jne 0x496b99
push esi
call fcn.0062f9c7
add esp, 4
jmp 0x496b99
push str.:BAD_ENUMERATED
push ebx
call fcn.0046b010
add esp, 8
test eax, eax
jg 0x496ba0
xor ebx, ebx
xor edi, edi
jmp 0x4968d8
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x496b99
lea eax, [esp + 0x84]
mov edx, 0x6d6ca8
push eax
push 1
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4968d2
cmp dword [esp + 0x84], 0
jle 0x4968d2
push 6
push esi
push dword [esp + 0x50]
mov edx, ebx
call fcn.0046c020
add esp, 0xc
test eax, eax
jle 0x4968d2
mov dword [esp + 0x18], 1
jmp 0x496b99
lea eax, [esp + 0x88]
mov edx, 0x6d7464
push eax
push 1
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
jle 0x4968d2
cmp dword [esp + 0x88], 0
jle 0x4968d2
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x496b99
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x8c]
push eax
push esi
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x8c]
cmp eax, esi
jne 0x4968d2
jmp 0x496b99
mov ebx, esi
jmp 0x4968b8
push ecx
push str.length_is_greater_than__ld_n
push esi
call fcn.00474580
add esp, 0xc
mov dword [esp + 0x20], 0
jmp 0x4968d2
lea eax, [esp + 0x50]
mov edx, str.Error_in_encoding_n
push eax
push 0x12
mov ecx, ebx
call fcn.0046ae80
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x50]
xor ebx, ebx
xor edi, edi
xor esi, esi
test eax, eax
jle 0x4968d8
mov dword [esp + 0x20], ebx
jmp 0x4968d2