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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x238
lea r9, [0x00540370]
mov r8d, 1
lea rsi, [rsp + 0x80]
mov r12, rdx
mov edx, 0x2c
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x80], 0xffffffffffffffff
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x8c], 1
mov dword [rsp + 0x228], 0
call fcn.004d3020
test eax, eax
mov ebp, eax
jne 0x540ce0
mov r13d, dword [rsp + 0x88]
lea eax, [r13 - 0x10]
cmp eax, 1
ja 0x540c50
test r12, r12
je 0x5411cf
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x60], 0
call fcn.00494b40
test rax, rax
mov r14, rax
je 0x5411fa
test rbx, rbx
je 0x541040
mov rdx, rbx
mov rcx, r12
call fcn.0054bdf0
test rax, rax
mov rdi, rax
je 0x54120d
xor ebx, ebx
jmp 0x5409c8
mov edx, ebx
mov rcx, rdi
call fcn.00495380
mov rcx, qword [rax + 0x10]
mov rdx, r12
call fcn.005408c0
test rax, rax
je 0x540d10
mov rdx, rax
mov rcx, r14
call fcn.00495060
test eax, eax
je 0x540d10
add ebx, 1
mov rcx, rdi
call fcn.00495370
cmp ebx, eax
jl 0x540993
cmp r13d, 0x11
lea rdx, [rsp + 0x60]
mov rcx, r14
je 0x540d00
call fcn.004cd940
mov r15d, eax
test r15d, r15d
js 0x54100a
call fcn.004cd7c0
test rax, rax
mov rbx, rax
je 0x541010
mov ecx, r13d
call fcn.0049dd60
test rax, rax
mov qword [rbx + 8], rax
je 0x541010
mov rdx, qword [rsp + 0x60]
mov dword [rbx], r13d
mov rcx, r14
mov dword [rax], r15d
mov qword [rax + 8], rdx
lea rdx, [fcn.004cd7d0]
mov qword [rsp + 0x60], 0
call fcn.004952b0
test rdi, rdi
jne 0x540d2f
nop dword [rax]
cmp dword [rsp + 0x80], 0xffffffff
jne 0x540a69
mov ecx, dword [rsp + 0x228]
test ecx, ecx
je 0x540ce2
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.004cd7b0
mov rcx, rbx
mov r14d, eax
call fcn.004cd7d0
cmp dword [rsp + 0x80], 0xffffffff
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
je 0x540fe0
lea rdx, [rsp + 0x3c]
lea rcx, [rsp + 0x50]
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], r14d
call fcn.0049d140
mov edx, eax
and edx, 0x80
jne 0x540ff0
mov rcx, qword [rsp + 0x50]
sub rcx, qword [rsp + 0x48]
sub r14d, ecx
test al, 1
mov r13d, r14d
je 0x5410d0
mov dword [rsp + 0x3c], 0
mov r12d, 2
mov r8d, dword [rsp + 0x80]
xor ecx, ecx
call fcn.0049d4b0
mov r14d, eax
movsxd rdx, dword [rsp + 0x228]
mov rax, rdx
lea rdx, [rdx + rdx*4]
test eax, eax
lea rbx, [rsi + rdx*4 + 4]
jle 0x540b46
xor edi, edi
nop word [rax + rax]
mov edx, dword [rbx + 0xc]
mov r8d, dword [rbx]
xor ecx, ecx
add edi, 1
sub rbx, 0x14
add edx, r14d
mov dword [rbx + 0x24], edx
call fcn.0049d4b0
cmp dword [rsp + 0x228], edi
mov r14d, eax
jg 0x540b20
lea rdx, str.asn1_gen.c
mov r8d, 0xe5
mov ecx, r14d
call fcn.00493db0
test rax, rax
mov r15, rax
je 0x540ff0
mov edx, dword [rsp + 0x228]
add rsi, 0x18
mov qword [rsp + 0x58], rax
lea rdi, [rsp + 0x58]
test edx, edx
jle 0x540bc5
mov eax, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov r9d, dword [rsi]
mov r8d, dword [rsi + 0x10]
call fcn.0049d380
mov eax, dword [rsi + 0xc]
test eax, eax
je 0x540fc0
mov rax, qword [rsp + 0x58]
add ebp, 1
add rsi, 0x14
lea rdx, [rax + 1]
mov qword [rsp + 0x58], rdx
mov byte [rax], 0
cmp ebp, dword [rsp + 0x228]
jl 0x540b80
mov r9d, dword [rsp + 0x80]
cmp r9d, 0xffffffff
je 0x540c04
mov eax, dword [rsp + 0x84]
test eax, eax
jne 0x540bee
lea edx, [r9 - 0x10]
cmp edx, 1
mov edx, 0x20
cmovbe r12d, edx
mov r8d, dword [rsp + 0x3c]
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x20], eax
mov edx, r12d
call fcn.0049d380
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
movsxd r8, r13d
call sub.msvcrt.dll_memcpy
lea rdx, [rsp + 0x60]
xor ecx, ecx
mov r8d, r14d
mov qword [rsp + 0x60], r15
call fcn.004cd7a0
mov rcx, qword [rsp + 0x48]
mov rbx, rax
test rcx, rcx
je 0x540c3c
call fcn.00494240
mov rcx, r15
call fcn.00494240
jmp 0x540ce2
mov edi, dword [rsp + 0x8c]
mov r12, qword [rsp + 0x90]
call fcn.004cd7c0
test rax, rax
mov rbx, rax
je 0x54122f
test r12, r12
je 0x541060
cmp r13d, 0x1e
ja case.0x540c90.0
lea rcx, [0x006c491c]
mov edx, r13d
movsxd rax, dword [rcx + rdx*4]
add rax, rcx
jmp rax
lea r12, [0x006c4910]
nop dword [rax]
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x32e
mov r8d, 0xc4
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
lea rdx, str.string
mov r8, r12
mov ecx, 2
call fcn.00499a10
mov rcx, rbx
call fcn.004cd7d0
xor ebx, ebx
mov rax, rbx
add rsp, 0x238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call fcn.004cd960
mov r15d, eax
jmp 0x5409ee
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jne 0x5410e0
lea rdx, [fcn.004cd7d0]
mov rcx, r14
xor ebx, ebx
call fcn.004952b0
mov rdx, rdi
mov rcx, r12
call fcn.0054be80
test rbx, rbx
jne 0x540a50
jmp 0x540ce0
lea r12, [0x006c4910]
cmp edi, 1
jne 0x54112b
call fcn.0049dce0
test rax, rax
mov qword [rbx + 8], rax
je 0x5412cd
mov r8d, 0xffffffff
mov rdx, r12
mov rcx, rax
call fcn.0049db90
test eax, eax
je 0x541297
mov rcx, qword [rbx + 8]
mov dword [rcx + 4], r13d
call fcn.00536ac0
test eax, eax
jne case.0x54107b.5
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x2d3
mov r8d, 0xb8
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cc4
lea r12, [0x006c4910]
cmp edi, 1
je 0x541120
cmp edi, 2
mov r14d, 0x1000
jne 0x54126e
mov ecx, r13d
call fcn.004c8db0
lea rcx, [rbx + 8]
mov dword [rsp + 0x20], eax
mov r9d, r14d
mov r8d, 0xffffffff
mov rdx, r12
call fcn.005582e0
test eax, eax
jg case.0x54107b.5
mov dword [rsp + 0x20], 0x2f1
lea r9, str.asn1_gen.c
mov r8d, 0x41
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cc4
lea r12, [0x006c4910]
cmp edi, 1
jne 0x54117d
xor edx, edx
mov rcx, r12
call fcn.004a0f40
test rax, rax
mov qword [rbx + 8], rax
jne case.0x54107b.5
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x2ba
mov r8d, 0xb7
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cc4
lea r12, [0x006c4910]
call fcn.0049dce0
test rax, rax
mov qword [rbx + 8], rax
je 0x5412da
cmp edi, 3
je 0x54107d
cmp edi, 1
je 0x541258
cmp edi, 4
jne 0x5412a4
cmp r13d, 3
jne 0x5412a4
lea r9, [0x00540290]
mov qword [rsp + 0x20], rax
mov r8d, 1
mov edx, 0x2c
mov rcx, r12
call fcn.004d3020
test eax, eax
jne case.0x54107b.5
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x316
mov r8d, 0xbc
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cc4
lea r12, [0x006c4910]
cmp edi, 1
jne 0x5411a6
xor ecx, ecx
mov rdx, r12
call fcn.004d0260
test rax, rax
mov qword [rbx + 8], rax
jne case.0x54107b.5
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x2ad
mov r8d, 0xb4
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cc4
lea r12, [0x006c4910]
cmp edi, 1
jne 0x541154
pxor xmm0, xmm0
lea rdx, [rbx + 8]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x70], r12
movaps xmmword [rsp + 0x60], xmm0
call fcn.004d0630
test eax, eax
jne case.0x54107b.5
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x29f
mov r8d, 0xb0
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cc4
add ebp, 1
add rsi, 0x14
cmp dword [rsp + 0x228], ebp
jg 0x540b80
jmp 0x540bc5
xor r12d, r12d
mov r13d, r14d
jmp 0x540afd
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x540ce0
call fcn.00494240
xor ebx, ebx
jmp 0x540ce2
xor ebx, ebx
nop dword [rax]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x54101f
call fcn.00494240
lea rdx, [fcn.004cd7d0]
mov rcx, r14
call fcn.004952b0
test rdi, rdi
je 0x540d3a
jmp 0x540d2f
xor edi, edi
cmp r13d, 0x11
lea rdx, [rsp + 0x60]
mov rcx, r14
jne 0x5409e6
jmp 0x540d00
cmp r13d, 0x1e
ja case.0x54107b.0
lea rcx, [0x006c4998]
mov edx, r13d
movsxd rax, dword [rcx + rdx*4]
add rax, rcx
jmp rax
lea rdi, [rsp + 0x58]
mov rcx, r12
mov rdx, rdi
call fcn.004d0ff0
test rax, rax
je 0x541303
mov rdx, qword [rbx + 8]
mov qword [rdx + 8], rax
mov eax, dword [rsp + 0x58]
mov dword [rdx + 4], r13d
mov dword [rdx], eax
cmp r13d, 3
jne case.0x54107b.5
mov rdx, qword [rbx + 8]
mov eax, dword [rdx + 0x10]
and eax, 0xfffffff0
or eax, 8
mov dword [rdx + 0x10], eax
nop
mov dword [rbx], r13d
jmp 0x540a50
and eax, 0x20
mov edx, dword [rsp + 0x3c]
mov r12d, eax
jmp 0x540aeb
xor ebx, ebx
jmp 0x54101a
cmp byte [r12], 0
je case.0x54107b.5
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x28f
mov r8d, 0xb6
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cd8
mov r14d, 0x1001
jmp 0x540ddf
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x2c3
mov r8d, 0xc1
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cd8
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x297
mov r8d, 0xbe
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cd8
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x2b5
mov r8d, 0xbf
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cd8
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x2a8
mov r8d, 0xb9
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cd8
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0xa3
mov r8d, 0xc0
mov edx, 0xb2
mov ecx, 0xd
xor ebx, ebx
call fcn.00498ab0
jmp 0x540ce2
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jne 0x540ffe
jmp 0x540ce0
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jne 0x5410e0
lea rdx, [fcn.004cd7d0]
mov rcx, r14
call fcn.004952b0
jmp 0x540ce0
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x282
mov r8d, 0x41
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540ce2
mov r8d, 0xffffffff
mov rdx, r12
mov rcx, rax
call fcn.0049db90
jmp 0x5410a8
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x2e9
mov r8d, 0xb1
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cd8
mov dword [rsp + 0x20], 0x2cd
jmp 0x540e10
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x31e
mov r8d, 0xaf
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cd8
mov dword [rsp + 0x20], 0x2c8
jmp 0x540e10
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x2fe
mov r8d, 0x41
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cd8
lea r9, str.asn1_gen.c
mov dword [rsp + 0x20], 0x307
mov r8d, 0xb2
mov edx, 0xb3
mov ecx, 0xd
call fcn.00498ab0
jmp 0x540cc4