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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x16c
call fcn.00626ba0
mov eax, dword [0x70a514]
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 0x487c42
push str.BAD_RECURSION_DEPTH_n
push ebx
call fcn.0046bad0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x168]
xor ecx, esp
call fcn.00626a7a
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 0x487eea
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.0046f460
add esp, 0xc
mov dword [esp + 0x18], eax
test al, al
js 0x4887e8
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.0046dda0
add esp, 0xc
test eax, eax
jle 0x487ef2
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
cmp edi, 0x21
je 0x487cdc
push eax
push esi
mov esi, dword [ebp + 0x10]
push esi
push str.d__2d_hl_ld_l_4ld
push ebx
call fcn.0046dda0
add esp, 0x14
jmp 0x487cef
push esi
mov esi, dword [ebp + 0x10]
push esi
push str.d__2d_hl_ld_linf
push ebx
call fcn.0046dda0
add esp, 0x10
test eax, eax
jle 0x487ef2
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.0046b940
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x90]
cmp eax, 6
jl 0x487ef2
xor edx, edx
mov ecx, ebx
cmp dword [ebp + 0x14], edx
push 0x80
cmovne edx, esi
call fcn.0046be40
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 0x487d6d
push eax
push str.priv____d__
jmp 0x487d91
test cl, cl
jns 0x487d79
push eax
push str.cont____d__
jmp 0x487d91
test cl, 0x40
je 0x487d86
push eax
push str.appl____d__
jmp 0x487d91
cmp eax, 0x1e
jle 0x487da8
push eax
push str._ASN1__d_
lea eax, [esp + 0xa8]
push 0x80
push eax
call fcn.0046df10
add esp, 0x10
jmp 0x487db1
mov ecx, eax
call fcn.00488820
mov esi, eax
push esi
push str.__18s
push ebx
call fcn.0046dda0
add esp, 0xc
test eax, eax
jle 0x487ef2
cmp dword [esp + 0x18], 0
je 0x488011
mov eax, dword [esp + 0x48]
mov edx, 0x6d4c1c
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.0046b940
add esp, 8
test eax, eax
jle 0x487ef2
cmp dword [esp + 0x54], 0
jle 0x487ef2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jg 0x4887cc
cmp edi, 0x21
jne 0x487e7d
test eax, eax
jne 0x487e7d
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.00487bd0
add esp, 0x14
test eax, eax
je 0x4887db
cmp eax, 2
je 0x487e6f
cmp dword [esp + 0x48], edi
jb 0x487e33
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
jmp 0x487ed8
mov edi, eax
cmp dword [esp + 0x48], ebx
jae 0x4887c5
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.00487bd0
add esp, 0x14
test eax, eax
je 0x4887db
sub esi, dword [esp + 0x48]
mov eax, dword [esp + 0x18]
add edi, esi
cmp dword [esp + 0x48], ebx
jb 0x487e91
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 0x487c56
mov dword [esp + 0x20], 1
xor ebx, ebx
xor edi, edi
xor esi, esi
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x487f65
mov eax, dword [ecx + 0x14]
test al, 4
je 0x487f34
push dword [ecx]
call fcn.0062d677
mov eax, dword [esp + 0x20]
add esp, 4
push dword [eax + 4]
call fcn.0062d677
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 0x487f58
push dword [ecx + 0x10]
call fcn.0062d677
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 0x487f65
push ecx
call fcn.0062d677
add esp, 4
test ebx, ebx
je 0x487f98
mov eax, dword [ebx + 0xc]
mov ecx, eax
and ecx, 0x80
mov dword [esp + 0x50], ecx
test al, 0x10
jne 0x487f8b
push dword [ebx + 8]
call fcn.0062d677
mov ecx, dword [esp + 0x54]
add esp, 4
test ecx, ecx
jne 0x487f98
push ebx
call fcn.0062d677
add esp, 4
test edi, edi
je 0x487fc3
mov eax, dword [edi + 0xc]
mov ebx, eax
and ebx, 0x80
test al, 0x10
jne 0x487fb6
push dword [edi + 8]
call fcn.0062d677
add esp, 4
test ebx, ebx
jne 0x487fc3
push edi
call fcn.0062d677
add esp, 4
test esi, esi
je 0x487fee
mov eax, dword [esi + 0xc]
mov edi, eax
and edi, 0x80
test al, 0x10
jne 0x487fe1
push dword [esi + 8]
call fcn.0062d677
add esp, 4
test edi, edi
jne 0x487fee
push esi
call fcn.0062d677
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.00626a7a
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x40], 0
je 0x48804e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x58]
add dword [esp + 0x48], ecx
mov edx, 0x6d4c1c
push eax
push 1
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x487ef2
cmp dword [esp + 0x58], 0
jle 0x487ef2
jmp 0x487ed4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], 0
cmp eax, 0x13
je 0x48875c
cmp eax, 0x14
je 0x48875c
cmp eax, 0x16
je 0x48875c
cmp eax, 0x1a
je 0x48875c
cmp eax, 0x12
je 0x48875c
cmp eax, 0xc
je 0x48875c
cmp eax, 0x17
je 0x48875c
cmp eax, 0x18
je 0x48875c
cmp eax, 6
jne 0x4882e6
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.00470040
add esp, 4
test eax, eax
je 0x4882cb
lea eax, [esp + 0x5c]
mov edx, 0x6d4c14
push eax
push 1
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x487ef2
cmp dword [esp + 0x5c], 0
jle 0x487ef2
mov edi, dword [esp + 0x1c]
lea esi, [esp + 0x120]
test edi, edi
je 0x4882ad
cmp dword [edi + 0x10], 0
je 0x4882ad
push 0
push edi
mov edx, 0x50
mov ecx, esi
call fcn.00482af0
mov ebx, eax
add esp, 8
cmp ebx, 0x4f
jle 0x488274
lea edi, [ebx + 1]
test edi, edi
je 0x488199
push edi
mov dword [0x70b32c], 0
call fcn.00630d7d
mov esi, eax
add esp, 4
test esi, esi
je 0x488199
mov eax, dword [esp + 0x1c]
mov edx, edi
push 0
push eax
mov ecx, esi
call fcn.00482af0
add esp, 8
lea eax, [esp + 0x98]
mov edx, esi
push eax
push ebx
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.0046b940
lea eax, [esp + 0x128]
add esp, 8
cmp esi, eax
je 0x4881b9
push esi
call fcn.0062d677
add esp, 4
jmp 0x4881b9
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.0047b5e0
add esp, 0xc
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x38], 0
je 0x488224
mov edi, dword [esp + 0x28]
add edi, dword [esp + 0x2c]
push 0x6ded04
push ebx
call fcn.0046bad0
add esp, 8
test eax, eax
jle 0x487ef2
xor esi, esi
cmp dword [esp + 0x10], esi
jle 0x488208
movzx eax, byte [esi + edi]
push eax
push str._02X
push ebx
call fcn.0046dda0
add esp, 0xc
test eax, eax
jle 0x487ef2
inc esi
cmp esi, dword [esp + 0x10]
jl 0x4881e6
push 0x6ded08
push ebx
call fcn.0046bad0
add esp, 8
test eax, eax
jle 0x487ef2
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [esp + 0x18], 0
jne 0x488254
lea eax, [esp + 0x50]
mov edx, 0x6d4c1c
push eax
push 1
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x487ef2
cmp dword [esp + 0x50], 0
jle 0x487ef2
mov eax, dword [esp + 0x10]
add dword [esp + 0x48], eax
cmp dword [esp + 0x24], 0
jne 0x487ed4
mov dword [esp + 0x20], 2
jmp 0x487ef2
test ebx, ebx
jg 0x48816a
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x94]
push eax
push 9
mov edx, str._INVALID_
mov ecx, ebx
call fcn.0046b940
push 0
push dword [edi + 0xc]
mov edx, ebx
push dword [edi + 0x10]
call fcn.004865b0
add esp, 0x14
jmp 0x4881b9
lea eax, [esp + 0x9c]
mov edx, str.NULL
push eax
push 4
mov ecx, ebx
call fcn.0046b940
add esp, 8
jmp 0x4881b9
push str.:BAD_OBJECT
push ebx
call fcn.0046bad0
add esp, 8
test eax, eax
jle 0x487ef2
jmp 0x4881c0
cmp eax, 1
jne 0x488334
mov esi, dword [esp + 0x10]
cmp esi, eax
je 0x488311
push str.:BAD_BOOLEAN
push ebx
call fcn.0046bad0
add esp, 8
test eax, eax
jle 0x487ef2
mov dword [esp + 0x38], 1
test esi, esi
jle 0x4881b9
mov eax, dword [esp + 0x48]
movzx eax, byte [eax]
push eax
push 0x6decdc
push ebx
call fcn.0046dda0
add esp, 0xc
jmp 0x4881b9
cmp eax, 0x1e
je 0x4881b9
cmp eax, 4
jne 0x488496
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 0x6a0b50
push eax
call fcn.00489890
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4881b5
cmp dword [ebx], 0
jle 0x488412
mov esi, dword [ebx + 8]
xor ecx, ecx
mov dword [esp + 0x4c], esi
mov edx, dword [ebx]
test edx, edx
jle 0x4883b4
nop dword [eax]
mov al, byte [ecx + esi]
cmp al, 0x20
jae 0x4883a7
cmp al, 0xa
je 0x4883af
cmp al, 0xd
je 0x4883af
cmp al, 9
jne 0x488442
cmp al, 0x7e
ja 0x488442
inc ecx
cmp ecx, edx
jl 0x488390
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x64]
push eax
push 1
mov edx, 0x6d4c14
mov ecx, esi
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x487ef4
cmp dword [esp + 0x64], 0
jle 0x487ef4
mov eax, dword [ebx]
test eax, eax
js 0x487ef4
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x68]
push ecx
push eax
mov ecx, esi
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x487ef4
cmp dword [esp + 0x68], 0
jle 0x487ef4
mov eax, dword [ebx + 0xc]
mov esi, eax
and esi, 0x80
test al, 0x10
jne 0x48842c
push dword [ebx + 8]
call fcn.0062d677
add esp, 4
test esi, esi
jne 0x4881b5
push ebx
call fcn.0062d677
add esp, 4
jmp 0x4881b5
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x60]
push eax
push 1
mov edx, 0x6d4c1c
mov ecx, esi
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x487ef4
cmp dword [esp + 0x60], 0
jle 0x487ef4
push 6
push dword [ebx]
mov edx, esi
push dword [esp + 0x54]
call fcn.004865b0
add esp, 0xc
test eax, eax
jle 0x487ef4
mov dword [esp + 0x18], 1
jmp 0x488412
cmp eax, 2
jne 0x4885c3
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 0x6a0a40
push eax
call fcn.00489890
mov edi, eax
add esp, 8
test edi, edi
je 0x4885a6
lea eax, [esp + 0x6c]
mov edx, 0x6d4c14
push eax
push 1
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x4885bc
cmp dword [esp + 0x6c], 0
jle 0x4885bc
cmp dword [edi + 4], 0x102
jne 0x488528
lea eax, [esp + 0x70]
mov edx, 0x6d4ac8
push eax
push 1
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x4885bc
cmp dword [esp + 0x70], 0
jle 0x4885bc
mov eax, dword [edi]
xor esi, esi
test eax, eax
jle 0x488553
mov eax, dword [edi + 8]
movzx eax, byte [eax + esi]
push eax
push str._02X
push ebx
call fcn.0046dda0
add esp, 0xc
test eax, eax
jle 0x4885bc
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x488530
test eax, eax
jne 0x488576
lea eax, [esp + 0x74]
mov edx, 0x6dece0
push eax
push 2
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x4885bc
cmp dword [esp + 0x74], 0
jle 0x4885bc
mov eax, dword [edi + 0xc]
mov esi, eax
and esi, 0x80
test al, 0x10
jne 0x488590
push dword [edi + 8]
call fcn.0062d677
add esp, 4
test esi, esi
jne 0x4881b9
push edi
call fcn.0062d677
add esp, 4
jmp 0x4881b9
push str.:BAD_INTEGER
push ebx
call fcn.0046bad0
add esp, 8
test eax, eax
jg 0x4881c0
xor ebx, ebx
jmp 0x487ef6
cmp eax, 0xa
jne 0x4886fb
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 0x6a0b34
push eax
call fcn.00489890
mov esi, eax
add esp, 8
test esi, esi
je 0x4886dc
lea eax, [esp + 0x78]
mov edx, 0x6d4c14
push eax
push 1
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x4886f2
cmp dword [esp + 0x78], 0
jle 0x4886f2
cmp dword [esi + 4], 0x10a
jne 0x488655
lea eax, [esp + 0x7c]
mov edx, 0x6d4ac8
push eax
push 1
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x4886f2
cmp dword [esp + 0x7c], 0
jle 0x4886f2
mov eax, dword [esi]
xor edi, edi
test eax, eax
jle 0x488683
nop dword [eax]
mov eax, dword [esi + 8]
movzx eax, byte [eax + edi]
push eax
push str._02X
push ebx
call fcn.0046dda0
add esp, 0xc
test eax, eax
jle 0x4886f2
mov eax, dword [esi]
inc edi
cmp edi, eax
jl 0x488660
test eax, eax
jne 0x4886ac
lea eax, [esp + 0x80]
mov edx, 0x6dece0
push eax
push 2
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x4886f2
cmp dword [esp + 0x80], 0
jle 0x4886f2
mov eax, dword [esi + 0xc]
mov edi, eax
and edi, 0x80
test al, 0x10
jne 0x4886c6
push dword [esi + 8]
call fcn.0062d677
add esp, 4
test edi, edi
jne 0x4881b9
push esi
call fcn.0062d677
add esp, 4
jmp 0x4881b9
push str.:BAD_ENUMERATED
push ebx
call fcn.0046bad0
add esp, 8
test eax, eax
jg 0x4881c0
xor ebx, ebx
xor edi, edi
jmp 0x487ef8
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x4881b9
lea eax, [esp + 0x84]
mov edx, 0x6d4c1c
push eax
push 1
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x487ef2
cmp dword [esp + 0x84], 0
jle 0x487ef2
push 6
push esi
push dword [esp + 0x50]
mov edx, ebx
call fcn.004865b0
add esp, 0xc
test eax, eax
jle 0x487ef2
mov dword [esp + 0x18], 1
jmp 0x4881b9
lea eax, [esp + 0x88]
mov edx, 0x6d4c14
push eax
push 1
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
jle 0x487ef2
cmp dword [esp + 0x88], 0
jle 0x487ef2
mov esi, dword [esp + 0x10]
test esi, esi
jle 0x4881b9
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x8c]
push eax
push esi
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x8c]
cmp eax, esi
jne 0x487ef2
jmp 0x4881b9
mov ebx, esi
jmp 0x487ed8
push ecx
push str.length_is_greater_than__ld_n
push esi
call fcn.0046dda0
add esp, 0xc
mov dword [esp + 0x20], 0
jmp 0x487ef2
lea eax, [esp + 0x50]
mov edx, str.Error_in_encoding_n
push eax
push 0x12
mov ecx, ebx
call fcn.0046b940
add esp, 8
test eax, eax
cmovg eax, dword [esp + 0x50]
xor ebx, ebx
xor edi, edi
xor esi, esi
test eax, eax
jle 0x487ef8
mov dword [esp + 0x20], ebx
jmp 0x487ef2