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

Disassembly:
mov qword [rsp + 0x10], rdx
mov rax, rsp
sub rsp, 0x98
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rbp, qword [rdx + 0x30]
xor r11d, r11d
mov qword [rax - 8], rsi
mov qword [rax - 0x10], rdi
cmp dword [rdx + 0x38], r11d
mov qword [rax - 0x18], r12
mov qword [rax - 0x20], r13
mov r13, qword [rcx + 0x10]
mov qword [rax - 0x28], r14
mov r12, rdx
mov rbx, rcx
mov dword [rsp + 0x34], r11d
mov r14d, r11d
mov qword [rsp + 0x50], r13
mov dword [rsp + 0x40], r11d
mov byte [rdx], 1
mov dword [rsp + 0x3c], r11d
mov qword [rsp + 0x48], rbp
lea r10d, [r11 + 0xa]
jle 0x485632
mov qword [rax - 0x30], r15
nop
mov rax, qword [rbp]
mov dword [rsp + 0x38], r11d
mov r15, qword [rax + 0x20]
test r15, r15
je 0x485124
mov edi, dword [r15]
mov ecx, dword [rbx + 0x44]
mov r12d, dword [rbx + 0x48]
cmp edi, ecx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0xa0], r12d
jg 0x4850fa
lea eax, [r12 + rdi]
sub ecx, edi
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x48510e
mov eax, dword [rbx + 0x54]
lea r12d, [rax + 1]
add eax, edi
mov dword [rsp + 0xa0], r12d
mov dword [rbx + 0x54], eax
mov r9b, 1
mov r8d, r12d
mov rdx, r15
mov rcx, rbx
call fcn.00459f90
xor r11d, r11d
jmp 0x485134
mov dword [rsp + 0x30], r11d
mov r12d, r11d
mov dword [rsp + 0xa0], r11d
cmp dword [rbp + 0x14], 0
jl 0x485270
mov r13, qword [r13 + 0x30]
movsxd r14, dword [r13 + 0x78]
lea eax, [r14 + 1]
mov dword [r13 + 0x78], eax
lea eax, [r14 - 1]
test r14d, eax
jne 0x48522a
mov rsi, qword [r13]
mov rbp, qword [r13 + 0x80]
lea eax, [r14 + r14 + 1]
movsxd r12, eax
mov rdi, r11
shl r12, 2
cmp byte [rsi + 0x50], 0
jne 0x48520e
test rbp, rbp
jne 0x485194
mov rdx, r12
mov rcx, rsi
call fcn.0043b030
mov rdi, rax
jmp 0x48520e
cmp rbp, qword [rsi + 0x168]
jb 0x4851ea
cmp rbp, qword [rsi + 0x170]
jae 0x4851ea
movzx eax, word [rsi + 0x148]
cmp r12, rax
ja 0x4851b7
mov rdi, rbp
jmp 0x48520e
mov rdx, r12
mov rcx, rsi
call fcn.0043b030
test rax, rax
mov rdi, rax
je 0x48520e
movzx r8d, word [rsi + 0x148]
mov rdx, rbp
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdx, rbp
mov rcx, rsi
call fcn.00425ea0
jmp 0x48520e
call fcn.0049a550
test eax, eax
je 0x4851f7
xor edi, edi
jmp 0x48520a
mov rdx, r12
mov rcx, rbp
call fcn.0043ac70
test rax, rax
mov rdi, rax
jne 0x48520e
mov byte [rsi + 0x50], 1
test rdi, rdi
jne 0x48521e
mov rdx, rbp
mov rcx, rsi
call fcn.00425ea0
mov rbp, qword [rsp + 0x48]
mov qword [r13 + 0x80], rdi
mov rcx, qword [r13 + 0x80]
test rcx, rcx
je 0x48523e
mov dword [rcx + r14*4], 0xffffffff
mov r12d, dword [rsp + 0xa0]
mov edx, dword [rbp + 0x14]
mov edi, 0xffffffff
sub edi, r14d
mov r9d, 1
mov rcx, rbx
mov r8d, edi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x20], r12d
call fcn.004548a0
mov r13, qword [rsp + 0x50]
mov rax, qword [rbp + 8]
test byte [rax + 2], 0x20
je 0x4853a6
mov rsi, qword [r15 + 8]
mov r14d, dword [rsp + 0x30]
xor ebp, ebp
xor edi, edi
nop
nop
cmp edi, r14d
jge 0x4852b0
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.00480040
inc edi
add rsi, 0x28
test rax, rax
mov rbp, rax
je 0x485290
jmp 0x4852bc
test rbp, rbp
jne 0x4852bc
mov rax, qword [rbx]
mov rbp, qword [rax + 0x10]
mov esi, dword [rsp + 0x34]
test esi, esi
jne 0x4852db
mov rax, qword [rsp + 0xa8]
cmp dword [rax + 0x2c], esi
je 0x4852db
inc dword [rbx + 0x54]
mov esi, dword [rbx + 0x54]
mov dword [rsp + 0x34], esi
mov rax, qword [r13 + 0x30]
movsxd rdi, dword [r13 + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x485303
mov edx, 1
mov rcx, r13
call fcn.00441a80
test eax, eax
je 0x485303
mov edi, 1
xor r15d, r15d
jmp 0x485333
inc dword [r13 + 0x3c]
mov rax, qword [r13 + 8]
lea rcx, [rdi + rdi*2]
xor r15d, r15d
mov byte [rax + rcx*8], 0x24
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], r15b
mov rsi, qword [r13 + 8]
mov rcx, qword [r13]
test rsi, rsi
je 0x485392
cmp byte [rcx + 0x50], 0
jne 0x485392
test edi, edi
jns 0x485350
mov edi, dword [r13 + 0x3c]
dec edi
movsxd rax, edi
lea rdi, [rax + rax*2]
movsx edx, byte [rsi + rdi*8 + 1]
mov r8, qword [rsi + rdi*8 + 0x10]
call fcn.00441fd0
test rbp, rbp
mov qword [rsi + rdi*8 + 0x10], r15
jne 0x485381
mov byte [rsi + rdi*8 + 1], bpl
mov rbp, qword [rsp + 0x48]
mov qword [rsi + rdi*8 + 0x10], r15
jmp 0x4853ab
mov qword [rsi + rdi*8 + 0x10], rbp
mov rbp, qword [rsp + 0x48]
mov byte [rsi + rdi*8 + 1], 0xfc
jmp 0x4853ab
mov r8, rbp
mov edx, 0xfffffffc
call fcn.00441fd0
mov rbp, qword [rsp + 0x48]
jmp 0x4853ab
mov r14d, dword [rsp + 0x30]
mov rax, qword [r13 + 0x30]
movsxd rdi, dword [r13 + 0x3c]
mov esi, dword [rbp + 0x10]
cmp dword [rax + 0x60], edi
mov rbp, qword [rbp + 8]
jg 0x4853d7
mov edx, 1
mov rcx, r13
call fcn.00441a80
test eax, eax
je 0x4853d7
mov edi, 1
jmp 0x485404
inc dword [r13 + 0x3c]
mov rax, qword [r13 + 8]
lea rcx, [rdi + rdi*2]
xor edx, edx
mov byte [rax + rcx*8], 0xa
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], esi
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
mov rsi, qword [r13 + 8]
mov rcx, qword [r13]
test rsi, rsi
je 0x485460
cmp byte [rcx + 0x50], 0
jne 0x485460
test edi, edi
jns 0x485421
mov edi, dword [r13 + 0x3c]
dec edi
movsxd rax, edi
lea rdi, [rax + rax*2]
movsx edx, byte [rsi + rdi*8 + 1]
mov r8, qword [rsi + rdi*8 + 0x10]
call fcn.00441fd0
xor r11d, r11d
test rbp, rbp
mov qword [rsi + rdi*8 + 0x10], r11
jne 0x485450
mov qword [rsi + rdi*8 + 0x10], r11
mov byte [rsi + rdi*8 + 1], r11b
jmp 0x485470
mov qword [rsi + rdi*8 + 0x10], rbp
mov byte [rsi + rdi*8 + 1], 0xfb
jmp 0x485470
mov r8, rbp
mov edx, 0xfffffffb
call fcn.00441fd0
xor r11d, r11d
mov rdx, qword [r13 + 8]
test rdx, rdx
je 0x485486
movsxd rax, dword [r13 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], r14b
mov r10d, 0xa
lea r9d, [r12 + r14 - 1]
lea rcx, [rbx + 0x94]
mov r8, r10
nop
nop
mov edx, dword [rcx]
cmp edx, r12d
jl 0x4854cb
cmp edx, r9d
jg 0x4854cb
cmp byte [rcx - 6], 0
je 0x4854c8
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x4854c4
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r11d
add rcx, 0x14
dec r8
jne 0x4854a0
lea rcx, [rbx + 0x94]
mov r8, r10
nop
mov edx, dword [rcx]
cmp edx, r12d
jl 0x48550b
cmp edx, r9d
jg 0x48550b
cmp byte [rcx - 6], 0
je 0x485508
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x485504
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r11d
add rcx, 0x14
dec r8
jne 0x4854e0
cmp r14d, dword [rbx + 0x44]
jle 0x485522
mov dword [rbx + 0x44], r14d
mov dword [rbx + 0x48], r12d
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x48558f
mov r8, qword [r13 + 0x30]
mov eax, 0xffffffff
sub eax, ecx
js 0x48554d
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x48554d
movsxd rcx, eax
mov eax, dword [r13 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r13 + 0x3c]
lea rcx, [rbx + 0x94]
dec eax
mov dword [r8 + 0x64], eax
mov r8, r10
mov edx, dword [rcx]
test edx, edx
je 0x485586
cmp byte [rcx - 6], 0
je 0x485583
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x48557f
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r11d
add rcx, 0x14
dec r8
jne 0x485561
mov ecx, dword [rsp + 0x3c]
mov rbp, qword [rsp + 0x48]
mov r12, qword [rsp + 0xa8]
inc ecx
add rbp, 0x18
cmp ecx, dword [r12 + 0x38]
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x48], rbp
jl 0x4850c0
mov edi, dword [rsp + 0x34]
mov r15, qword [rsp + 0x68]
test edi, edi
je 0x48562d
mov rax, qword [r13 + 0x30]
movsxd r14, dword [r13 + 0x3c]
cmp dword [rax + 0x60], r14d
jg 0x4855f8
mov edx, 1
mov rcx, r13
call fcn.00441a80
test eax, eax
je 0x4855f5
mov r14d, 1
xor r11d, r11d
lea r10d, [r14 + 9]
jmp 0x485632
xor r11d, r11d
mov rax, qword [r13 + 8]
inc dword [r13 + 0x3c]
lea rcx, [r14 + r14*2]
mov byte [rax + rcx*8], Ordinal_46
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r11d
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov byte [rax + rcx*8 + 1], 0
mov r10d, 0xa
jmp 0x485632
mov r14d, dword [rsp + 0x40]
mov rbp, qword [rsp + 0xb8]
lea rcx, [rbx + 0x94]
mov r8, r10
mov edx, dword [rcx]
test edx, edx
je 0x485669
cmp byte [rcx - 6], 0
je 0x485666
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x485662
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r11d
add rcx, 0x14
dec r8
jne 0x485644
cmp dword [r12 + 0x2c], r8d
mov rdi, qword [r12 + 0x20]
mov esi, r11d
jle 0x4856b5
add rdi, 0x18
nop
nop
nop
mov r8d, dword [rdi - 4]
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.004d69b0
inc esi
add rdi, 0x20
cmp esi, dword [r12 + 0x2c]
jl 0x485690
mov r10d, 0xa
xor r11d, r11d
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov byte [r12], 0
mov r12, qword [rsp + 0x80]
lea rcx, [rbx + 0x94]
nop
nop
mov edx, dword [rcx]
test edx, edx
je 0x485705
cmp byte [rcx - 6], 0
je 0x485702
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x4856fe
movzx eax, al
mov dword [rbx + rax*4 + 0x24], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], r11d
add rcx, 0x14
dec r10
jne 0x4856e0
test r14d, r14d
mov rbx, qword [rsp + 0xb0]
je 0x485740
mov edx, dword [r13 + 0x3c]
cmp edx, r14d
jbe 0x485733
mov eax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r13 + 0x3c]
mov rax, qword [r13 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
add rsp, 0x98
ret