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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x11c
call fcn.005dfa60
mov eax, dword [0x6a704c]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push esi
xor eax, eax
mov dword [esp + 0x30], edx
cmp dword [ebp + 0x10], 0x80
mov ebx, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], eax
jle 0x495e72
push str.BAD_RECURSION_DEPTH_n
push ebx
call fcn.0047b540
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005df097
mov esp, ebp
pop ebp
ret
mov eax, dword [edx]
mov dword [esp + 0x54], eax
add eax, edi
mov dword [esp + 0x3c], eax
test edi, edi
jle 0x496641
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x44]
push edi
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x14], esi
push eax
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x60]
call fcn.0047ea20
add esp, 0xc
mov dword [esp + 0x14], eax
test al, al
js 0x4969d2
mov ecx, dword [esp + 0x34]
mov eax, esi
mov edi, dword [esp + 0x54]
sub edi, esi
sub dword [esp + 0x2c], edi
sub eax, dword [ecx]
add eax, dword [ebp + 0xc]
push eax
push str._5ld:
push ebx
mov dword [esp + 0x34], edi
call fcn.0047d520
add esp, 0xc
test eax, eax
jle 0x496649
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
cmp esi, 0x21
je 0x495f0b
push eax
push edi
push dword [ebp + 0x10]
push str.d__2d_hl_ld_l_4ld
push ebx
call fcn.0047d520
add esp, 0x14
jmp 0x495f1d
push edi
push dword [ebp + 0x10]
push str.d__2d_hl_ld_linf
push ebx
call fcn.0047d520
add esp, 0x10
test eax, eax
jle 0x496649
lea eax, [esp + 0x9c]
mov edi, esi
push eax
and edi, 0x20
mov eax, str.cons:
mov edx, str.prim:
mov ecx, ebx
push 6
cmovne edx, eax
call fcn.0047b3c0
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x9c]
cmp eax, 6
jl 0x496649
xor eax, eax
cmp dword [ebp + 0x14], eax
cmovne eax, dword [ebp + 0x10]
xor esi, esi
test eax, eax
cmovns esi, eax
cmp esi, 0x80
jle 0x495f7d
mov esi, 0x80
jmp 0x495f81
test esi, esi
je 0x495f99
push 0x679e30
push ebx
dec esi
call fcn.0047b540
add esp, 8
cmp eax, 1
jne 0x495f99
test esi, esi
jne 0x495f81
mov ecx, dword [esp + 0x44]
lea esi, [esp + 0xa0]
mov eax, ecx
and eax, 0xc0
cmp al, 0xc0
mov eax, dword [esp + 0x1c]
jne 0x495fbb
push eax
push str.priv____d__
jmp 0x495fdf
test cl, cl
jns 0x495fc7
push eax
push str.cont____d__
jmp 0x495fdf
test cl, 0x40
je 0x495fd4
push eax
push str.appl____d__
jmp 0x495fdf
cmp eax, 0x1e
jle 0x495ff6
push eax
push str._ASN1__d_
lea eax, [esp + 0xa8]
push 0x80
push eax
call fcn.0047d690
add esp, 0x10
jmp 0x49601c
cmp eax, 0x102
je 0x496004
cmp eax, 0x10a
jne 0x496009
and eax, 0xfffffeff
cmp eax, 0x1e
ja 0x496017
mov esi, dword [eax*4 + 0x645378]
jmp 0x49601c
mov esi, str._unknown_
push esi
push str.__18s
push ebx
call fcn.0047d520
add esp, 0xc
test eax, eax
jle 0x496649
test edi, edi
je 0x49614a
mov edi, dword [esp + 0x54]
lea eax, [esp + 0x60]
mov esi, dword [esp + 0x10]
mov edx, 0x679544
push eax
push 1
mov ecx, ebx
mov dword [esp + 0x38], edi
add esi, edi
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x496649
cmp dword [esp + 0x60], 0
jle 0x496649
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
jg 0x496999
cmp dword [esp + 0x14], 0x21
jne 0x4960e2
test eax, eax
jne 0x4960e2
mov esi, dword [ebp + 0x10]
inc esi
mov edx, dword [esp + 0x34]
mov ecx, ebx
mov eax, dword [esp + 0x54]
push 0xffffffffffffffff
push dword [ebp + 0x14]
sub eax, dword [edx]
lea edx, [esp + 0x5c]
add eax, dword [ebp + 0xc]
push esi
push eax
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x64]
push eax
call fcn.00495e00
add esp, 0x14
test eax, eax
je 0x4969a8
cmp eax, 2
je 0x4960d3
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x54], eax
jb 0x496091
mov eax, dword [esp + 0x54]
sub eax, edi
mov dword [esp + 0x40], eax
jmp 0x49662f
mov edi, eax
cmp dword [esp + 0x54], esi
jae 0x49662f
mov eax, dword [ebp + 0x10]
inc eax
mov dword [esp + 0x14], eax
nop word [eax + eax]
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x54]
mov esi, dword [esp + 0x54]
push 0xffffffffffffffff
push dword [ebp + 0x14]
push eax
mov eax, esi
sub eax, dword [ecx]
mov ecx, ebx
add eax, dword [ebp + 0xc]
push eax
push edi
call fcn.00495e00
add esp, 0x14
test eax, eax
je 0x4969a8
sub esi, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
add edi, esi
add eax, dword [esp + 0x10]
cmp dword [esp + 0x54], eax
mov eax, dword [esp + 0x14]
jb 0x496100
jmp 0x49662b
cmp dword [esp + 0x44], 0
je 0x49618d
mov eax, dword [esp + 0x10]
mov edx, 0x679544
add dword [esp + 0x54], eax
mov ecx, ebx
lea eax, [esp + 0x98]
push eax
push 1
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x496649
cmp dword [esp + 0x98], 0
jle 0x496649
jmp 0x49662b
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0
cmp eax, 0x13
je 0x496930
cmp eax, 0x14
je 0x496930
cmp eax, 0x16
je 0x496930
cmp eax, 0x1a
je 0x496930
cmp eax, 0x12
je 0x496930
cmp eax, 0xc
je 0x496930
cmp eax, 0x17
je 0x496930
cmp eax, 0x18
je 0x496930
cmp eax, 6
jne 0x4962c8
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x4c]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0047ea20
add esp, 0xc
test al, al
jns 0x496224
mov eax, 0x66
jmp 0x496230
cmp dword [esp + 0x48], 6
je 0x49626c
mov eax, 0x74
push 0xeb
push str.C:mediagetdependencies_installeropenssl1_1_win_build_1.1.1qcrypto_asn1_a_object.c
push eax
mov edx, 0x93
mov ecx, 0xd
call fcn.00489de0
add esp, 0xc
push str.:BAD_OBJECT
push ebx
call fcn.0047b540
add esp, 8
test eax, eax
jle 0x496649
mov edi, dword [esp + 0xc]
jmp 0x496594
push dword [esp + 0x4c]
lea edx, [esp + 0x34]
lea ecx, [esp + 0x24]
call fcn.0047f4a0
add esp, 4
test eax, eax
je 0x49624d
mov eax, dword [esp + 0x30]
mov edx, 0x67aeac
mov dword [esp + 0x58], eax
mov ecx, ebx
lea eax, [esp + 0x64]
push eax
push 1
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x496649
cmp dword [esp + 0x64], 0
jle 0x496649
mov eax, dword [esp + 0x20]
push eax
push ebx
call fcn.0047f340
add esp, 8
jmp 0x496589
cmp eax, 1
jne 0x496316
mov esi, dword [esp + 0x10]
cmp esi, eax
je 0x4962f3
push str.:BAD_BOOLEAN
push ebx
call fcn.0047b540
add esp, 8
test eax, eax
jle 0x496649
mov dword [esp + 0x38], 1
test esi, esi
jle 0x496589
mov eax, dword [esp + 0x54]
movzx eax, byte [eax]
push eax
push 0x684f3c
push ebx
call fcn.0047d520
add esp, 0xc
jmp 0x496589
cmp eax, 0x1e
je 0x496589
cmp eax, 4
jne 0x496476
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x58]
add eax, dword [esp + 0x28]
xor ecx, ecx
mov edi, dword [esp + 0xc]
push 0x6456bc
push eax
mov dword [esp + 0x60], edi
call fcn.004976d0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x496419
cmp dword [ebx], 0
jle 0x4963f2
mov esi, dword [ebx + 8]
xor ecx, ecx
mov dword [esp + 0x58], esi
mov edx, dword [ebx]
test edx, edx
jle 0x496394
nop
mov al, byte [ecx + esi]
cmp al, 0x20
jae 0x496387
cmp al, 0xa
je 0x49638f
cmp al, 0xd
je 0x49638f
cmp al, 9
jne 0x496422
cmp al, 0x7e
ja 0x496422
inc ecx
cmp ecx, edx
jl 0x496370
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x6c]
push eax
push 1
mov edx, 0x67aeac
mov ecx, esi
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x49664b
cmp dword [esp + 0x6c], 0
jle 0x49664b
mov eax, dword [ebx]
test eax, eax
js 0x49664b
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x70]
push ecx
push eax
mov ecx, esi
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x49664b
cmp dword [esp + 0x70], 0
jle 0x49664b
mov eax, dword [ebx + 0xc]
mov esi, eax
and esi, 0x80
test al, 0x10
jne 0x49640c
push dword [ebx + 8]
call fcn.005e4cbe
add esp, 4
test esi, esi
jne 0x496419
push ebx
call fcn.005e4cbe
add esp, 4
mov ebx, dword [esp + 0x24]
jmp 0x49658d
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x68]
push eax
push 1
mov edx, 0x679544
mov ecx, esi
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x49664b
cmp dword [esp + 0x68], 0
jle 0x49664b
push 6
push dword [ebx]
mov edx, esi
push dword [esp + 0x60]
call fcn.00494a70
add esp, 0xc
test eax, eax
jle 0x49664b
mov dword [esp + 0x14], 1
jmp 0x4963f2
cmp eax, 2
jne 0x496787
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x58]
mov dword [esp + 0x58], eax
xor ecx, ecx
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x28]
push 0x6455c8
push eax
call fcn.004976d0
mov edi, eax
add esp, 8
test edi, edi
je 0x496768
lea eax, [esp + 0x74]
mov edx, 0x67aeac
push eax
push 1
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x4969b5
cmp dword [esp + 0x74], 0
jle 0x4969b5
cmp dword [edi + 4], 0x102
jne 0x496508
lea eax, [esp + 0x78]
mov edx, 0x67ad68
push eax
push 1
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x4969b5
cmp dword [esp + 0x78], 0
jle 0x4969b5
mov eax, dword [edi]
xor esi, esi
test eax, eax
jle 0x496537
mov eax, dword [edi + 8]
movzx eax, byte [eax + esi]
push eax
push str._02X
push ebx
call fcn.0047d520
add esp, 0xc
test eax, eax
jle 0x4969b5
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x496510
test eax, eax
jne 0x496562
lea eax, [esp + 0x7c]
mov edx, 0x684f40
push eax
push 2
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x4969b5
cmp dword [esp + 0x7c], 0
jle 0x4969b5
mov eax, dword [edi + 0xc]
mov esi, eax
and esi, 0x80
test al, 0x10
jne 0x49657c
push dword [edi + 8]
call fcn.005e4cbe
add esp, 4
test esi, esi
jne 0x496589
push edi
call fcn.005e4cbe
add esp, 4
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x38], 0
je 0x4965f0
add edi, dword [esp + 0x28]
push 0x684f64
push ebx
call fcn.0047b540
add esp, 8
test eax, eax
jle 0x496649
xor esi, esi
cmp dword [esp + 0x10], esi
jle 0x4965d8
movzx eax, byte [esi + edi]
push eax
push str._02X
push ebx
call fcn.0047d520
add esp, 0xc
test eax, eax
jle 0x496649
inc esi
cmp esi, dword [esp + 0x10]
jl 0x4965b6
push 0x684f68
push ebx
call fcn.0047b540
add esp, 8
test eax, eax
jle 0x496649
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [esp + 0x14], 0
jne 0x496618
lea eax, [esp + 0x5c]
mov edx, 0x679544
push eax
push 1
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x496649
cmp dword [esp + 0x5c], 0
jle 0x496649
mov eax, dword [esp + 0x10]
add dword [esp + 0x54], eax
cmp dword [esp + 0x1c], 0
je 0x4969c5
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
sub edi, eax
mov dword [esp + 0x2c], edi
test edi, edi
jg 0x495e86
mov dword [esp + 0x18], 1
xor ebx, ebx
xor edi, edi
xor esi, esi
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4966bc
mov eax, dword [ecx + 0x14]
test al, 4
je 0x49668b
push dword [ecx]
call fcn.005e4cbe
mov eax, dword [esp + 0x24]
add esp, 4
push dword [eax + 4]
call fcn.005e4cbe
mov ecx, dword [esp + 0x24]
add esp, 4
mov eax, dword [ecx + 0x14]
mov dword [ecx + 4], 0
mov dword [ecx], 0
test al, 8
je 0x4966af
push dword [ecx + 0x10]
call fcn.005e4cbe
mov ecx, dword [esp + 0x24]
add esp, 4
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
test al, 1
je 0x4966bc
push ecx
call fcn.005e4cbe
add esp, 4
test ebx, ebx
je 0x4966ef
mov eax, dword [ebx + 0xc]
mov ecx, eax
and ecx, 0x80
mov dword [esp + 0x5c], ecx
test al, 0x10
jne 0x4966e2
push dword [ebx + 8]
call fcn.005e4cbe
mov ecx, dword [esp + 0x60]
add esp, 4
test ecx, ecx
jne 0x4966ef
push ebx
call fcn.005e4cbe
add esp, 4
test edi, edi
je 0x49671a
mov eax, dword [edi + 0xc]
mov ebx, eax
and ebx, 0x80
test al, 0x10
jne 0x49670d
push dword [edi + 8]
call fcn.005e4cbe
add esp, 4
test ebx, ebx
jne 0x49671a
push edi
call fcn.005e4cbe
add esp, 4
test esi, esi
je 0x496745
mov eax, dword [esi + 0xc]
mov edi, eax
and edi, 0x80
test al, 0x10
jne 0x496738
push dword [esi + 8]
call fcn.005e4cbe
add esp, 4
test edi, edi
jne 0x496745
push esi
call fcn.005e4cbe
add esp, 4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
pop edi
pop esi
mov dword [eax], ecx
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x10]
pop ebx
xor ecx, esp
call fcn.005df097
mov esp, ebp
pop ebp
ret
push str.:BAD_INTEGER
push ebx
call fcn.0047b540
add esp, 8
test eax, eax
jle 0x4969b5
mov edi, dword [esp + 0xc]
jmp 0x496594
cmp eax, 0xa
jne 0x4968cf
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x58]
mov dword [esp + 0x58], eax
xor ecx, ecx
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x28]
push 0x6456d8
push eax
call fcn.004976d0
mov esi, eax
add esp, 8
test esi, esi
je 0x4968b0
lea eax, [esp + 0x80]
mov edx, 0x67aeac
push eax
push 1
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x4969bc
cmp dword [esp + 0x80], 0
jle 0x4969bc
cmp dword [esi + 4], 0x10a
jne 0x496825
lea eax, [esp + 0x84]
mov edx, 0x67ad68
push eax
push 1
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x4969bc
cmp dword [esp + 0x84], 0
jle 0x4969bc
mov eax, dword [esi]
xor edi, edi
test eax, eax
jle 0x496857
nop dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [edi + eax]
push eax
push str._02X
push ebx
call fcn.0047d520
add esp, 0xc
test eax, eax
jle 0x4969bc
mov eax, dword [esi]
inc edi
cmp edi, eax
jl 0x496830
test eax, eax
jne 0x496888
lea eax, [esp + 0x88]
mov edx, 0x684f40
push eax
push 2
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x4969bc
cmp dword [esp + 0x88], 0
jle 0x4969bc
mov eax, dword [esi + 0xc]
mov edi, eax
and edi, 0x80
test al, 0x10
jne 0x4968a2
push dword [esi + 8]
call fcn.005e4cbe
add esp, 4
test edi, edi
jne 0x496589
push esi
jmp 0x496581
push str.:BAD_ENUMERATED
push ebx
call fcn.0047b540
add esp, 8
test eax, eax
jle 0x4969bc
mov edi, dword [esp + 0xc]
jmp 0x496594
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x496589
lea eax, [esp + 0x8c]
mov edx, 0x679544
push eax
push 1
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x496649
cmp dword [esp + 0x8c], 0
jle 0x496649
push 6
push esi
push dword [esp + 0x5c]
mov edx, ebx
call fcn.00494a70
add esp, 0xc
test eax, eax
jle 0x496649
mov dword [esp + 0x14], 1
jmp 0x496589
lea eax, [esp + 0x90]
mov edx, 0x67aeac
push eax
push 1
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
jle 0x496649
cmp dword [esp + 0x90], 0
jle 0x496649
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x496589
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x94]
push eax
push esi
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x94]
cmp eax, esi
je 0x496589
jmp 0x496649
push ecx
push str.length_is_greater_than__ld_n
push ebx
call fcn.0047d520
add esp, 0xc
mov dword [esp + 0x18], 0
jmp 0x496649
xor ebx, ebx
jmp 0x49664d
xor ebx, ebx
xor edi, edi
jmp 0x49664f
mov dword [esp + 0x18], 2
jmp 0x496649
lea eax, [esp + 0x5c]
mov edx, str.Error_in_encoding_n
push eax
push 0x12
mov ecx, ebx
call fcn.0047b3c0
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x5c]
xor ebx, ebx
xor edi, edi
xor esi, esi
test eax, eax
jle 0x49664f
mov dword [esp + 0x18], ebx
jmp 0x496649