Function at 0x140049180
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov rax, qword [0x140081080]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov rsi, r9
mov qword [rbp - 0x78], r8
mov r14, rdx
mov qword [rsp + 0x68], rdx
mov r13, rcx
mov qword [rbp - 0x70], rcx
mov r12, qword [rbp + 0xd0]
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov rbx, 0xffffffffffffffff
mov dword [rsp + 0x60], ebx
lea rcx, [rsp + 0x60]
call fcn.14004f8b0
xor r15b, r15b
cmp byte [rbp + 0xe8], r15b
je 0x1400493e2
movdqa xmm0, xmmword [0x1400755e0]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], r15b
movzx r9d, byte [rbp + 0xe0]
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x80]
mov ecx, eax
call fcn.1400075e0
test al, al
je 0x14004930f
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14004930f
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
call fcn.1400564d0
test eax, eax
je 0x1400492e7
mov rdx, qword [rbp - 0x80]
lea rcx, [rsp + 0x70]
call fcn.140017450
test eax, eax
je 0x14004926f
mov r15b, 1
jmp 0x14004939e
mov word [rbp + 0x50], 0x3231
mov byte [rbp + 0x52], 0
lea rax, [rbp + 0x50]
mov r14, rbx
inc r14
cmp byte [rax + r14], 0
jne 0x140049280
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x10]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x1400492ce
lea rax, [rcx + r14]
mov qword [rsi + 0x10], rax
cmp rdx, 0x10
mov rax, rsi
jb 0x1400492b1
mov rax, qword [rsi]
lea rdi, [rax + rcx]
mov r8, r14
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.1400213b0
mov byte [rdi + r14], 0
jmp 0x140049399
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x50]
mov rdx, r14
mov rcx, rsi
call fcn.14001c670
jmp 0x140049399
mov word [rbp + 0x50], 0x3131
mov byte [rbp + 0x52], 0
lea rax, [rbp + 0x50]
mov r14, rbx
nop dword [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x140049300
jmp 0x14004928a
mov dword [rbp + 0x50], 0x5f3031
lea rax, [rbp + 0x50]
mov r14, rbx
nop dword [rax]
inc r14
cmp byte [rax + r14], 0
jne 0x140049320
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x14004936b
lea rax, [rcx + r14]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0x10
jb 0x140049351
mov rax, qword [rsi]
lea rdi, [rax + rcx]
mov r8, r14
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.1400213b0
mov byte [rdi + r14], 0
jmp 0x14004937f
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x50]
mov rdx, r14
mov rcx, rsi
call fcn.14001c670
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0x10
cmovae rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
mov rcx, rsi
call fcn.14001c7f0
mov r14, qword [rsp + 0x68]
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x1400493d9
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400493d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049b53
call fcn.14001f794
test r15b, r15b
je 0x140049b2b
lea rdx, [0x140073f50]
lea rcx, [rbp + 0x10]
call fcn.140001390
cmp qword [rax + 0x18], 0x10
jb 0x1400493fc
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x140049443
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004943e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049b59
call fcn.14001f794
movdqa xmm0, xmmword [0x1400755e0]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], 0
test rdi, rdi
je 0x140049ac3
lea rdx, [0x140073110]
lea rcx, [rbp + 0x30]
call fcn.140001390
cmp qword [rax + 0x18], 0x10
jb 0x140049477
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400835d0], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x1400494c5
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400494c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049b5f
call fcn.14001f794
lea rdx, [0x140073140]
lea rcx, [rbp + 0x30]
call fcn.140001390
cmp qword [rax + 0x18], 0x10
jb 0x1400494df
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400835c8], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14004952d
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049528
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049b65
call fcn.14001f794
lea rdx, [0x140073170]
lea rcx, [rbp + 0x30]
call fcn.140001390
cmp qword [rax + 0x18], 0x10
jb 0x140049547
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400835c0], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x140049595
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049590
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049b6b
call fcn.14001f794
mov eax, 0x5a4d
cmp word [r13], ax
jne 0x140049952
movsxd r15, dword [r13 + 0x3c]
add r15, r13
cmp dword [r15], 0x4550
jne 0x140049939
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.140055200
movzx eax, word [r15 + 4]
mov ecx, 0x14c
cmp ax, cx
jne 0x1400495dc
cmp dword [rsp + 0x60], 0
jmp 0x1400495eb
mov ecx, 0x8664
cmp ax, cx
jne 0x1400495f1
cmp dword [rsp + 0x60], 6
jne 0x140049b2b
lea rdi, [rbp + 0x10]
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
lea rdi, [rbp - 0x60]
mov ecx, 0x68
rep stosb byte [rdi], al
mov dword [rbp - 0x60], 0x68
mov dword [rbp - 0x24], 0x101
xor edi, edi
mov word [rbp - 0x20], di
cmp byte [rbp + 0xe8], al
lea rax, [rbp + 0x10]
je 0x140049654
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov r8, qword [rbp - 0x78]
mov rdx, r14
mov rcx, qword [rsp + 0x78]
call fcn.1400175d0
jmp 0x14004966e
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x40], rax
mov rdx, qword [rbp - 0x78]
mov rcx, r14
call fcn.140017730
test eax, eax
je 0x1400498e5
mov edx, 8
call fcn.1400178f0
mov r13, rax
mov dword [rax + 0x30], 0x100002
mov rdx, rax
mov rcx, qword [rbp + 0x18]
call fcn.140017a70
test eax, eax
je 0x1400498c9
mov rdx, qword [r13 + 0x88]
add rdx, 0x10
mov qword [rsp + 0x20], rdi
mov r9d, 8
lea r8, [rbp - 0x78]
mov rcx, qword [rbp + 0x10]
call qword [0x1400835d0]
mov eax, dword [rbp - 0x78]
mov r14, rbx
cmp rax, qword [r15 + 0x30]
lea rax, [rbp + 0x50]
jne 0x1400496ee
mov dword [rbp + 0x53], 0x5f6f6f
mov word [rbp + 0x51], 0x676d
mov byte [rbp + 0x50], 0x69
inc r14
cmp byte [rax + r14], dil
jne 0x1400496e3
jmp 0x140049709
mov dword [rbp + 0x53], 0x5f6666
mov word [rbp + 0x50], 0x6d69
mov byte [rbp + 0x52], 0x67
nop
inc r14
cmp byte [rax + r14], dil
jne 0x140049700
mov rdx, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x10]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x14004974b
lea rax, [rcx + r14]
cmp rdx, 0x10
mov qword [r12 + 0x10], rax
jb 0x140049731
mov r12, qword [r12]
lea rdi, [r12 + rcx]
mov r8, r14
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.1400213b0
mov byte [r14 + rdi], 0
jmp 0x14004975f
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x50]
mov rdx, r14
mov rcx, r12
call fcn.14001c670
mov eax, 4
mov ecx, 0x40
cmp byte [rbp + 0xd8], 0
cmovne eax, ecx
mov r8d, dword [r15 + 0x50]
mov dword [rsp + 0x20], eax
xor edx, edx
mov rcx, qword [rbp + 0x10]
call fcn.1400565f0
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140049847
mov r9d, dword [r15 + 0x54]
mov rsi, qword [rbp - 0x70]
mov r8, rsi
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.140056770
movzx edi, word [r15 + 0x14]
add rdi, 0x2c
xor r14d, r14d
mov ebx, r14d
cmp r14w, word [r15 + 6]
jae 0x1400497fa
add rdi, r15
nop dword [rax]
nop dword [rax + rax]
mov r9d, dword [rdi - 4]
mov r8d, dword [rdi]
add r8, rsi
mov edx, dword [rdi - 8]
add rdx, qword [rsp + 0x68]
mov rcx, qword [rbp + 0x10]
call fcn.140056770
lea rdi, [rdi + 0x28]
inc ebx
movzx eax, word [r15 + 6]
cmp ebx, eax
jl 0x1400497d0
mov rdx, qword [r13 + 0x88]
add rdx, 0x10
mov r9d, 8
lea r8, [rsp + 0x68]
mov rcx, qword [rbp + 0x10]
call fcn.140056770
mov eax, dword [r15 + 0x28]
add rax, qword [rsp + 0x68]
mov qword [r13 + 0x80], rax
mov rdx, r13
mov rcx, qword [rbp + 0x18]
call qword [0x1400835c8]
mov rcx, qword [rbp + 0x18]
call qword [0x1400835c0]
mov bl, 1
jmp 0x140049984
mov word [rbp + 0x50], 0x3831
mov byte [rbp + 0x52], 0
lea rax, [rbp + 0x50]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140049855
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rbx, rax
ja 0x1400498a7
lea rax, [rcx + rbx]
cmp rdx, 0x10
mov qword [rsi + 0x10], rax
jb 0x140049882
mov rsi, qword [rsi]
lea rdi, [rsi + rcx]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.1400213b0
mov byte [rbx + rdi], 0
mov rcx, qword [rbp + 0x10]
call fcn.1400568f0
jmp 0x14004997f
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.14001c670
mov rcx, qword [rbp + 0x10]
call fcn.1400568f0
jmp 0x14004997f
mov word [rbp + 0x51], 0x37
mov byte [rbp + 0x50], 0x31
lea rax, [rbp + 0x50]
inc rbx
cmp byte [rax + rbx], dil
jne 0x1400498d7
jmp 0x14004985e
mov word [rbp + 0x50], 0x3631
mov byte [rbp + 0x52], dil
lea rax, [rbp + 0x50]
inc rbx
cmp byte [rax + rbx], dil
jne 0x1400498f3
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rbx, rax
ja 0x14004996b
lea rax, [rcx + rbx]
cmp rdx, 0x10
mov qword [rsi + 0x10], rax
jb 0x140049920
mov rsi, qword [rsi]
lea rdi, [rsi + rcx]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.1400213b0
mov byte [rbx + rdi], 0
jmp 0x14004997f
mov word [rbp + 0x50], 0x3531
mov byte [rbp + 0x52], 0
lea rax, [rbp + 0x50]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140049947
jmp 0x1400498fc
mov word [rbp + 0x51], 0x34
mov byte [rbp + 0x50], 0x31
lea rax, [rbp + 0x50]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140049960
jmp 0x1400498fc
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.14001c670
xor bl, bl
xor r14d, r14d
cmp qword [rsp + 0x70], 0
je 0x140049a9c
lea rdx, [0x140073190]
lea rcx, [rbp + 0x10]
call fcn.140001390
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400499ab
mov rax, qword [rax]
mov rcx, rax
call fcn.140017be0
mov rdi, rax
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x1400499f1
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400499ec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049b71
call fcn.14001f794
movdqa xmm0, xmmword [0x1400755e0]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], 0
test rdi, rdi
je 0x140049a97
lea rdx, [0x1400731b0]
lea rcx, [rbp + 0x30]
call fcn.140001390
cmp qword [rax + 0x18], 0x10
jb 0x140049a25
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400835f8], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x140049a7a
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049a6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140049b4d
call fcn.14001f794
mov rax, qword [0x1400835f8]
movdqa xmm0, xmmword [0x1400755e0]
movdqu xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x30], 0
test rax, rax
je 0x140049a97
mov rcx, qword [rsp + 0x70]
call rax
mov qword [rsp + 0x70], r14
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140049ab0
call fcn.140014dc0
mov qword [rsp + 0x78], r14
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140049abe
call fcn.140014dc0
movzx eax, bl
jmp 0x140049b2d
mov word [rbp + 0x50], 0x3331
mov byte [rbp + 0x52], 0
lea rax, [rbp + 0x50]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140049ad1
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rax, rdx
sub rax, rcx
cmp rbx, rax
ja 0x140049b17
lea rax, [rcx + rbx]
mov qword [rsi + 0x10], rax
cmp rdx, 0x10
jb 0x140049afe
mov rsi, qword [rsi]
lea rdi, [rsi + rcx]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.1400213b0
mov byte [rbx + rdi], 0
jmp 0x140049b2b
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.14001c670
xor al, al
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.14001f770
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140023c64
int3
call fcn.140023c64
int3
call fcn.140023c64
int3
call fcn.140023c64
int3
call fcn.140023c64
int3
call fcn.140023c64
int3
call fcn.140023c64
int3