Function at 0x14004b510
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 [0x14007a080]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov rsi, r9
mov qword [rsp + 0x68], r8
mov r13, rdx
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov r12, qword [rbp + 0xd0]
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
call fcn.14000d0b0
xor r15b, r15b
mov rbx, 0xffffffffffffffff
cmp byte [rbp + 0xe8], r15b
je 0x14004b762
movdqa xmm0, xmmword [0x14006f290]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], r15b
movzx r9d, byte [rbp + 0xe0]
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x78]
mov ecx, eax
call fcn.14004c000
test al, al
je 0x14004b68c
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14004b68c
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
call fcn.14000e970
test eax, eax
je 0x14004b669
mov rdx, qword [rbp - 0x78]
lea rcx, [rsp + 0x78]
call fcn.14000ea90
test eax, eax
je 0x14004b5f1
mov r15b, 1
jmp 0x14004b71e
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 0x14004b602
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x10]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x14004b650
lea rax, [rcx + r14]
mov qword [rsi + 0x10], rax
cmp rdx, 0x10
mov rax, rsi
jb 0x14004b633
mov rax, qword [rsi]
lea rdi, [rax + rcx]
mov r8, r14
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140017850
mov byte [rdi + r14], 0
jmp 0x14004b719
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x50]
mov rdx, r14
mov rcx, rsi
call fcn.140012a30
jmp 0x14004b719
mov word [rbp + 0x50], 0x3131
mov byte [rbp + 0x52], 0
lea rax, [rbp + 0x50]
mov r14, rbx
nop word [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x14004b680
jmp 0x14004b60c
mov dword [rbp + 0x50], 0x5f3031
lea rax, [rbp + 0x50]
mov r14, rbx
nop word [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x14004b6a0
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x14004b6eb
lea rax, [rcx + r14]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0x10
jb 0x14004b6d1
mov rax, qword [rsi]
lea rdi, [rax + rcx]
mov r8, r14
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140017850
mov byte [rdi + r14], 0
jmp 0x14004b6ff
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x50]
mov rdx, r14
mov rcx, rsi
call fcn.140012a30
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0x10
cmovae rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
mov rcx, rsi
call fcn.140012bb0
mov r14, qword [rsp + 0x60]
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14004b759
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b754
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfb2
call fcn.140015c34
test r15b, r15b
je 0x14004bf8a
lea rdx, [0x14006dc60]
lea rcx, [rbp + 0x10]
call fcn.140009480
cmp qword [rax + 0x18], 0x10
jb 0x14004b77c
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 0x14004b7c3
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b7be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfb8
call fcn.140015c34
movdqa xmm0, xmmword [0x14006f290]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], 0
test rdi, rdi
je 0x14004bf21
lea rdx, [0x14006d040]
lea rcx, [rbp + 0x30]
call fcn.140009480
cmp qword [rax + 0x18], 0x10
jb 0x14004b7f7
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4d8], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14004b845
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b840
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfbe
call fcn.140015c34
lea rdx, [0x14006d070]
lea rcx, [rbp + 0x30]
call fcn.140009480
cmp qword [rax + 0x18], 0x10
jb 0x14004b85f
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4d0], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14004b8ad
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b8a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfc4
call fcn.140015c34
lea rdx, [0x14006d0a0]
lea rcx, [rbp + 0x30]
call fcn.140009480
cmp qword [rax + 0x18], 0x10
jb 0x14004b8c7
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c4c8], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14004b915
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b910
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfca
call fcn.140015c34
mov eax, 0x5a4d
cmp word [r14], ax
jne 0x14004bdaa
movsxd r15, dword [r14 + 0x3c]
add r15, r14
cmp dword [r15], 0x4550
jne 0x14004bd56
lea rdx, [rsp + 0x70]
mov rcx, r13
call fcn.14000e280
movzx eax, word [r15 + 4]
mov ecx, 0x14c
cmp ax, cx
jne 0x14004b95b
cmp dword [rsp + 0x70], 0
jmp 0x14004b96a
mov ecx, 0x8664
cmp ax, cx
jne 0x14004b970
cmp dword [rsp + 0x70], 6
jne 0x14004bf8a
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 r14d, r14d
mov word [rbp - 0x20], r14w
cmp byte [rbp + 0xe8], al
lea rax, [rbp + 0x10]
je 0x14004b9d5
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x38], rax
mov r8, qword [rsp + 0x68]
mov rdx, r13
mov rcx, qword [rbp - 0x80]
call fcn.14003d0d0
jmp 0x14004b9f0
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x68]
mov rcx, r13
call fcn.140051970
test eax, eax
je 0x14004bcdc
mov edx, 8
call fcn.140008ff0
mov r13, rax
mov dword [rax + 0x30], 0x100002
mov rdx, rax
mov rcx, qword [rbp + 0x18]
call fcn.140051aa0
test eax, eax
je 0x14004bc4d
mov rdx, qword [r13 + 0x88]
add rdx, 0x10
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rbp - 0x70]
mov rcx, qword [rbp + 0x10]
call qword [0x14007c4d8]
mov eax, dword [rbp - 0x70]
mov r14, rbx
cmp rax, qword [r15 + 0x30]
lea rax, [rbp + 0x50]
jne 0x14004ba71
mov dword [rbp + 0x53], 0x5f6f6f
mov word [rbp + 0x51], 0x676d
mov byte [rbp + 0x50], 0x69
inc r14
cmp byte [rax + r14], 0
jne 0x14004ba65
jmp 0x14004ba8c
mov dword [rbp + 0x53], 0x5f6666
mov word [rbp + 0x50], 0x6d69
mov byte [rbp + 0x52], 0x67
inc r14
cmp byte [rax + r14], 0
jne 0x14004ba82
mov rdx, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x10]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x14004bace
lea rax, [rcx + r14]
cmp rdx, 0x10
mov qword [r12 + 0x10], rax
jb 0x14004bab4
mov r12, qword [r12]
lea rdi, [r12 + rcx]
mov r8, r14
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140017850
mov byte [r14 + rdi], 0
jmp 0x14004bae2
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x50]
mov rdx, r14
mov rcx, r12
call fcn.140012a30
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.1400475b0
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14004bbc7
mov r9d, dword [r15 + 0x54]
mov rsi, qword [rsp + 0x60]
mov r8, rsi
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.140051b90
movzx edi, word [r15 + 0x14]
add rdi, 0x2c
xor r14d, r14d
mov ebx, r14d
cmp r14w, word [r15 + 6]
jae 0x14004bb7a
add rdi, r15
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.140051b90
lea rdi, [rdi + 0x28]
inc ebx
movzx eax, word [r15 + 6]
cmp ebx, eax
jl 0x14004bb50
mov rdx, qword [r13 + 0x88]
add rdx, 0x10
mov r9d, 8
lea r8, [rsp + 0x68]
mov rcx, qword [rbp + 0x10]
call fcn.140051b90
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 [0x14007c4d0]
mov rcx, qword [rbp + 0x18]
call qword [0x14007c4c8]
mov bl, 1
jmp 0x14004bde4
mov word [rbp + 0x50], 0x3831
mov byte [rbp + 0x52], 0
lea rax, [rbp + 0x50]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14004bbd5
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rax, rdx
sub rax, rcx
cmp rbx, rax
ja 0x14004bc29
lea rax, [rcx + rbx]
mov qword [rsi + 0x10], rax
cmp rdx, 0x10
jb 0x14004bc02
mov rsi, qword [rsi]
lea rdi, [rsi + rcx]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140017850
mov byte [rbx + rdi], 0
xor edx, edx
mov rcx, qword [rbp + 0x10]
call fcn.140046ce0
jmp 0x14004bddf
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.140012a30
xor edx, edx
mov rcx, qword [rbp + 0x10]
call fcn.140046ce0
jmp 0x14004bddf
mov word [rbp + 0x51], 0x37
mov byte [rbp + 0x50], 0x31
lea rax, [rbp + 0x50]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14004bc60
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rax, rdx
sub rax, rcx
cmp rbx, rax
ja 0x14004bcb6
lea rax, [rcx + rbx]
mov qword [rsi + 0x10], rax
cmp rdx, 0x10
jb 0x14004bc8d
mov rsi, qword [rsi]
lea rdi, [rsi + rcx]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140017850
mov byte [rbx + rdi], r14b
xor edx, edx
mov rcx, qword [rbp + 0x10]
call fcn.140046ce0
xor bl, bl
jmp 0x14004bde4
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.140012a30
xor edx, edx
mov rcx, qword [rbp + 0x10]
call fcn.140046ce0
xor bl, bl
jmp 0x14004bde4
mov word [rbp + 0x50], 0x3631
mov byte [rbp + 0x52], r14b
lea rax, [rbp + 0x50]
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14004bcf0
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rax, rdx
sub rax, rcx
cmp rbx, rax
ja 0x14004bd3b
lea rax, [rcx + rbx]
mov qword [rsi + 0x10], rax
cmp rdx, 0x10
jb 0x14004bd1d
mov rsi, qword [rsi]
lea rdi, [rsi + rcx]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140017850
mov byte [rbx + rdi], r14b
xor bl, bl
jmp 0x14004bde4
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.140012a30
xor bl, bl
jmp 0x14004bde4
mov word [rbp + 0x50], 0x3531
mov byte [rbp + 0x52], 0
lea rax, [rbp + 0x50]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14004bd64
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x10]
mov rax, rdx
sub rax, rcx
cmp rbx, rax
ja 0x14004bdcb
lea rax, [rcx + rbx]
cmp rdx, 0x10
mov qword [rsi + 0x10], rax
jb 0x14004bd91
mov rsi, qword [rsi]
lea rdi, [rsi + rcx]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140017850
mov byte [rbx + rdi], 0
jmp 0x14004bddf
mov word [rbp + 0x51], 0x34
mov byte [rbp + 0x50], 0x31
lea rax, [rbp + 0x50]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14004bdc0
jmp 0x14004bd6d
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.140012a30
xor bl, bl
xor r14d, r14d
cmp qword [rsp + 0x78], 0
je 0x14004befc
lea rdx, [0x14006d0c0]
lea rcx, [rbp + 0x10]
call fcn.140009480
nop
cmp qword [rax + 0x18], 0x10
jb 0x14004be0b
mov rax, qword [rax]
mov rcx, rax
call fcn.1400090f0
mov rdi, rax
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14004be51
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004be4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfd0
call fcn.140015c34
movdqa xmm0, xmmword [0x14006f290]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], 0
test rdi, rdi
je 0x14004bef7
lea rdx, [0x14006d0e0]
lea rcx, [rbp + 0x30]
call fcn.140009480
cmp qword [rax + 0x18], 0x10
jb 0x14004be85
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007c500], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14004beda
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004bece
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfac
call fcn.140015c34
mov rax, qword [0x14007c500]
movdqa xmm0, xmmword [0x14006f290]
movdqu xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x30], 0
test rax, rax
je 0x14004bef7
mov rcx, qword [rsp + 0x78]
call rax
mov qword [rsp + 0x78], r14
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14004bf0e
call fcn.1400082a0
mov qword [rbp - 0x80], r14
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14004bf1c
call fcn.1400082a0
movzx eax, bl
jmp 0x14004bf8c
mov word [rbp + 0x50], 0x3331
mov byte [rbp + 0x52], 0
lea rax, [rbp + 0x50]
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x14004bf30
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rax, rdx
sub rax, rcx
cmp rbx, rax
ja 0x14004bf76
lea rax, [rcx + rbx]
mov qword [rsi + 0x10], rax
cmp rdx, 0x10
jb 0x14004bf5d
mov rsi, qword [rsi]
lea rdi, [rsi + rcx]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140017850
mov byte [rbx + rdi], 0
jmp 0x14004bf8a
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.140012a30
xor al, al
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.140015c10
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14001a104
int3
call fcn.14001a104
int3
call fcn.14001a104
int3
call fcn.14001a104
int3
call fcn.14001a104
int3
call fcn.14001a104
int3
call fcn.14001a104
int3