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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x01760780]
mov rax, qword [rax + 0xe8]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
je 0x4d5c0c
mov rax, qword [rbp - 8]
cmp rax, qword [rbp + 0x38]
je 0x4d5c0c
mov rax, qword [rbp - 8]
lock inc dword [rax]
cmp dword [rax + 4], 0x53
jne 0x4d6074
mov qword [rbp - 0x10], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
push rbx
lea rax, [rax + 8]
push rax
call fcn.004d66ce
mov rax, qword [rbp - 0x10]
lock dec dword [rax]
mov rax, qword [rbp - 8]
lock inc dword [rax]
cmp dword [rax + 4], 0x53
jne 0x4d6076
mov qword [rbp - 0x10], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
mov rsi, qword [rbp - 0x10]
lock dec dword [rsi]
cmp ebx, 9
jne 0x4d5bab
mov rax, qword [rbp - 8]
lock inc dword [rax]
cmp dword [rax + 4], 0x53
jne 0x4d6078
mov qword [rbp - 0x10], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
cmp ebx, 9
jne 0x4d6078
mov byte [rax + 0x128], 0
mov rax, qword [rbp - 0x10]
lock dec dword [rax]
push rax
mov rax, qword [rbp - 8]
lock inc dword [rax]
cmp dword [rax + 4], 0x53
jne 0x4d607a
mov qword [rbp - 0x10], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
cmp ebx, 9
jne 0x4d607a
lea rax, [rax + 0x88]
push rax
call fcn.0054ee01
pop rcx
mov rax, qword [rbp - 0x10]
lock dec dword [rax]
mov rax, qword [rbp - 8]
lock inc dword [rax]
cmp dword [rax + 4], 0x53
jne 0x4d607c
mov qword [rbp - 0x10], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
mov rsi, qword [rbp - 0x10]
lock dec dword [rsi]
cmp ebx, 1
jne 0x4d5c0c
push rax
mov rax, qword [rbp - 8]
lock inc dword [rax]
cmp dword [rax + 4], 0x53
jne 0x4d607e
mov qword [rbp - 0x10], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
cmp ebx, 1
jne 0x4d607e
lea rax, [rax + 0x88]
push rax
call fcn.0054ee01
pop rcx
mov rax, qword [rbp - 0x10]
lock dec dword [rax]
cmp qword [rbp + 0x38], 0
je 0x4d6070
mov rax, qword [rbp + 0x38]
lock inc dword [rax]
cmp dword [rax + 4], 0x53
jne 0x4d6080
mov qword [rbp - 0x10], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
mov dword [rbp - 0x18], ebx
lea rax, [rax + 8]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov ebx, dword [rbp + 0x30]
sub ebx, dword [rax + 4]
mov dword [rbp - 4], ebx
mov rax, qword [rbp - 0x20]
mov ebx, dword [rbp + 0x28]
sub ebx, dword [rax + 8]
mov dword [rbp - 8], ebx
cmp dword [rbp - 0x18], 0
je 0x4d5c90
mov rax, qword [0x01760780]
mov rax, qword [rax + 0xe8]
cmp rax, qword [rbp + 0x38]
je 0x4d5c90
mov rax, qword [0x01760780]
mov rbx, qword [rbp + 0x38]
mov qword [rax + 0xe8], rbx
push qword [0x01760780]
push 0
call fcn.0054ee3a
mov eax, dword [rbp - 0x18]
cmp eax, 0xa
ja case.default.0x4d5c9c
jmp qword [rax*8 + 0x71fda0]
jmp 0x4d605e
push rax
push qword [rbp - 0x18]
push qword [rbp - 0x20]
push qword [rbp - 4]
cmp dword [rbp - 0x18], 1
jne 0x4d6082
mov rax, qword [rbp - 0x20]
lea rax, [rax + 0x80]
push rax
mov rax, qword [rbp - 0x20]
push qword [rax + 0xc]
push 0
push qword [rbp + 0x20]
call fcn.0054eead
pop rcx
push qword [rbp - 0x18]
push qword [rbp - 0x20]
call fcn.004d66ce
jmp 0x4d605e
cmp dword [rbp - 0x18], 2
jne 0x4d6084
mov rax, qword [rbp - 0x20]
test byte [rax + 0x80], 0xff
je 0x4d605e
cmp dword [rbp - 0x18], 2
jne 0x4d6086
mov rax, qword [rbp - 0x20]
cmp dword [rbp - 0x18], 2
jne 0x4d6086
mov rbx, qword [rbp - 0x20]
test byte [rbx + 0x81], 0xff
sete bl
mov byte [rax + 0x81], bl
push qword [rbp - 0x18]
push qword [rbp - 0x20]
call fcn.004d66ce
lea rcx, [rbp - 0x50]
mov edx, 0x2c
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_RtlZeroMemory]
add rsp, 0x20
push 8
lea rax, [rbp - 0x50]
push rax
push qword [rbp - 0x18]
push qword [rbp - 0x20]
call fcn.0054f217
jmp 0x4d605e
push rax
push qword [rbp + 0x38]
call fcn.0054f26e
pop rcx
jmp 0x4d605e
cmp dword [rbp - 0x18], 4
jne 0x4d6088
mov rax, qword [rbp - 0x20]
mov byte [rax + 0x7c], 1
push qword [rbp - 0x18]
push qword [rbp - 0x20]
call fcn.004d66ce
jmp 0x4d605e
lea rcx, [rbp - 0x50]
mov edx, 0x2c
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_RtlZeroMemory]
add rsp, 0x20
push rax
push qword [rbp - 4]
call fcn.00421448
pop rcx
mov dword [rbp - 0x38], eax
push rax
push qword [rbp - 8]
call fcn.00421448
pop rcx
mov dword [rbp - 0x34], eax
push 0x17
lea rax, [rbp - 0x50]
push rax
push qword [rbp - 0x18]
push qword [rbp - 0x20]
call fcn.0054f217
jmp 0x4d605e
push rax
push qword [rbp - 0x18]
push qword [rbp - 0x20]
push qword [rbp - 4]
push qword [rbp - 8]
cmp dword [rbp - 0x18], 6
jne 0x4d608a
mov rax, qword [rbp - 0x20]
lea rax, [rax + 0x80]
push rax
mov rax, qword [rbp - 0x20]
push qword [rax + 0x10]
push 1
push qword [rbp + 0x18]
push qword [rbp + 0x10]
call fcn.0054f4a2
pop rcx
jmp 0x4d605e
push rax
push qword [rbp - 0x18]
push qword [rbp - 0x20]
push qword [rbp - 4]
push qword [rbp - 8]
cmp dword [rbp - 0x18], 8
jne 0x4d608c
mov rax, qword [rbp - 0x20]
lea rax, [rax + 0x80]
push rax
mov rax, qword [rbp - 0x20]
push qword [rax + 0x10]
push 1
push qword [rbp + 0x18]
push qword [rbp + 0x10]
call fcn.0054f4a2
pop rcx
jmp 0x4d605e
cmp dword [rbp - 0x18], 7
jne 0x4d608e
mov rax, qword [rbp - 0x20]
cmp dword [rax + 0x7c], 0
jne 0x4d5e94
push qword [rbp - 0x18]
push qword [rbp - 0x20]
push qword [rbp - 4]
cmp dword [rbp - 0x18], 7
jne 0x4d6090
mov rax, qword [rbp - 0x20]
lea rax, [rax + 0x7c]
push rax
call fcn.0054f8a1
jmp 0x4d5eb5
push qword [rbp - 0x18]
push qword [rbp - 0x20]
push qword [rbp - 8]
cmp dword [rbp - 0x18], 7
jne 0x4d6092
mov rax, qword [rbp - 0x20]
lea rax, [rax + 0x7c]
push rax
call fcn.0054f9a0
jmp 0x4d605e
cmp dword [rbp - 8], 0
jl 0x4d5fb1
mov rax, qword [rbp - 0x20]
mov ebx, dword [rbp - 8]
cmp ebx, dword [rax + 0x10]
jge 0x4d5fb1
mov rax, qword [rbp - 0x20]
cmp dword [rbp - 0x18], 9
jne 0x4d6094
mov rbx, qword [rbp - 0x20]
mov eax, dword [rax + 0xc]
sub eax, dword [rbx + 0xf8]
cmp eax, dword [rbp - 4]
jle 0x4d5f5d
push qword [rbp - 0x18]
push qword [rbp - 0x20]
call fcn.004d66ce
cmp dword [rbp - 0x18], 9
jne 0x4d6096
mov rax, qword [rbp - 0x20]
mov byte [rax + 0x120], 0
push rax
push qword [rbp - 0x18]
push qword [rbp - 0x20]
push qword [rbp - 4]
cmp dword [rbp - 0x18], 9
jne 0x4d6098
mov rax, qword [rbp - 0x20]
lea rax, [rax + 0x80]
push rax
mov rax, qword [rbp - 0x20]
cmp dword [rbp - 0x18], 9
jne 0x4d6098
mov rbx, qword [rbp - 0x20]
mov eax, dword [rax + 0xc]
sub eax, dword [rbx + 0xf8]
push rax
push 0
push qword [rbp + 0x20]
call fcn.0054eead
pop rcx
jmp 0x4d5faf
cmp dword [rbp - 0x18], 9
jne 0x4d609a
mov rax, qword [rbp - 0x20]
mov al, byte [rax + 0x120]
mov byte [rbp - 0x21], al
cmp dword [rbp - 0x18], 9
jne 0x4d609c
mov rax, qword [rbp - 0x20]
mov byte [rax + 0x120], 1
push qword [rbp - 0x18]
push qword [rbp - 0x20]
call fcn.004d66ce
cmp dword [rbp - 0x18], 9
jne 0x4d609e
mov rax, qword [rbp - 0x20]
test byte [rbp - 0x21], 0xff
sete bl
mov byte [rax + 0x120], bl
jmp 0x4d6029
cmp dword [rbp - 0x18], 9
jne 0x4d60a0
mov rax, qword [rbp - 0x20]
test byte [rax + 0x120], 0xff
je 0x4d6029
push rax
push qword [rbp - 0x18]
push qword [rbp - 0x20]
push qword [rbp - 4]
mov rax, qword [rbp - 0x20]
mov ebx, dword [rbp - 8]
add ebx, dword [rax + 8]
cmp dword [rbp - 0x18], 9
jne 0x4d60a2
mov rax, qword [rbp - 0x20]
sub ebx, dword [rax + 0x124]
push rbx
cmp dword [rbp - 0x18], 9
jne 0x4d60a2
mov rax, qword [rbp - 0x20]
lea rax, [rax + 0xb8]
push rax
cmp dword [rbp - 0x18], 9
jne 0x4d60a2
mov rax, qword [rbp - 0x20]
push qword [rax + 0x128]
push 1
push qword [rbp + 0x18]
push qword [rbp + 0x10]
call fcn.0054f4a2
pop rcx
jmp 0x4d605e
push qword [rbp - 0x18]
push qword [rbp - 0x20]
push qword [rbp - 4]
push qword [rbp - 8]
mov al, byte [0x01815d09]
test al, al
je 0x4d6051
cmp dword [rbp - 0x18], 0xa
jne 0x4d60a4
mov rax, qword [rbp - 0x20]
mov al, byte [rax + 0x108]
push rax
push qword [rbp + 0x20]
call fcn.0054fa9f
jmp 0x4d605e
jmp 0x4d605e
mov rax, qword [rbp - 0x20]
mov qword [0x01815d10], rax
mov rax, qword [rbp - 0x10]
lock dec dword [rax]
leave
ret 0x30
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5