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

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x308
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0x98], 0
mov dword [rsp + 0xc8], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0xd8], 0
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x94], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xe0], 0
mov dword [rsp + 0x90], 0
xor eax, eax
mov word [rsp + 0x38], ax
xor eax, eax
mov word [rsp + 0x40], ax
xor eax, eax
mov word [rsp + 0x34], ax
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0x68], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0xa0], 0
mov rcx, qword [rsp + 0x310]
call qword [0x18001ad38]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
jne 0x180015758
mov eax, 1
jmp 0x1800161d8
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa8], rax
jnp 0x180015791
push rbp
push rcx
pop rcx
pop rbp
jp 0x180015791
or ebx, 0x1462cbcb
pop rsi
lea eax, [rbp + 0x88114cb]
lea esi, [rsi + rbx*2]
xor dword [rdx + rbx*8], 0x8d8d5eda
invalid
mov rax, qword [rsp + 0xa8]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x1800157ad
mov eax, 1
jmp 0x1800161d8
mov rax, qword [rsp + 0xa8]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xa8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb8], rax
jle 0x1800157fb
nop
jg 0x1800157fb
cmc
invalid
mov rax, qword [rsp + 0xb8]
cmp dword [rax], 0x4550
je 0x180015815
mov eax, 1
jmp 0x1800161d8
mov r8d, 0x200
xor edx, edx
lea rcx, [rsp + 0x100]
call qword [0x18001ace8]
mov r8d, 0x1ff
lea rdx, [rsp + 0x100]
mov rcx, qword [rsp + 0x58]
call qword [0x18001ad60]
test eax, eax
jne 0x180015852
mov eax, 1
jmp 0x1800161d8
xor edx, edx
lea rcx, [rsp + 0x100]
call fcn.180005a40
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
jne 0x180015878
mov eax, 1
jmp 0x1800161d8
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xb0], rax
jnp 0x1800158b1
nop
jp 0x1800158b1
cmc
adc dword [rdx + riz*2], 0x760873da
invalid
mov rax, qword [rsp + 0xb0]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x1800158e0
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x18001ad70]
mov eax, 1
jmp 0x1800161d8
mov rax, qword [rsp + 0xb0]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jle 0x18001592b
push rcx
push rdi
push rsp
push rax
pop rax
pop rsp
pop rdi
pop rcx
jg 0x18001592b
lea esi, [rdx + riz*2]
cmc
invalid
mov rax, qword [rsp + 0x70]
cmp dword [rax], 0x4550
je 0x180015955
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x18001ad70]
mov eax, 1
jmp 0x1800161d8
mov dword [rsp + 0x50], 0
jmp 0x180015969
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 6]
cmp dword [rsp + 0x50], eax
jae 0x180015bb1
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
mov rcx, qword [rsp + 0x70]
lea rax, [rcx + rax + 0x18]
mov ecx, dword [rsp + 0x50]
imul rcx, rcx, 0x28
add rax, rcx
mov qword [rsp + 0x98], rax
jne 0x1800159ce
push rsp
nop
pop rsp
je 0x1800159ce
retf
mov r8d, 0x10
xor edx, edx
lea rcx, [rsp + 0xe8]
call qword [0x18001ace8]
jbe 0x180015a10
push rdi
push rdi
pop rdi
pop rdi
ja 0x180015a10
invalid
mov rax, qword [rsp + 0x98]
mov r8d, 8
mov rdx, rax
lea rcx, [rsp + 0xe8]
call qword [0x18001ad78]
jbe 0x180015a5b
push rax
nop
pop rax
ja 0x180015a5b
cmc
fiadd dword [rbp - 0x347e8950]
or byte [rbp + 0x8493462], al
jae 0x180015aa7
mov al, 0x34
or byte [rcx - 0x7a4f34cc], al
retf
jp 0x180015a87
push rdi
push rbx
push rdx
nop
pop rdx
pop rbx
pop rdi
jnp 0x180015a87
ficomp dword [rsi + 0x73]
retf
lea rdx, [0x18001af60]
lea rcx, [rsp + 0xe8]
call qword [0x18001b028]
test eax, eax
jne 0x180015bac
mov dword [rsp + 0xc8], 1
enter 0, 0
add dword [rax], eax
add byte [rax], al
jp 0x180015adb
jnp 0x180015adb
test dword [rsi - 0x26], esi
mov r8b, 0xda
invalid
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jl 0x180015b25
push rdx
push rsp
pop rsp
pop rdx
jge 0x180015b25
adc al, 0xb0
retf
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x14]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xd8], rax
jno 0x180015b6f
push rbp
push rbp
pop rbp
pop rbp
jo 0x180015b6f
invalid
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x6c], eax
jbe 0x180015baa
push rcx
pop rcx
ja 0x180015baa
test dword [rsi - 0x7b], esi
retf
jmp 0x180015bb1
jmp 0x18001595f
cmp qword [rsp + 0x88], 0
jne 0x180015bd9
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x18001ad70]
mov eax, 1
jmp 0x1800161d8
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x30]
cmp qword [rsp + 0x58], rax
je 0x18001603a
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x30]
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xd0], rax
mov eax, 8
imul rax, rax, 5
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx + rax + 0x8c], 0
je 0x18001603a
mov eax, 8
imul rax, rax, 5
mov rcx, qword [rsp + 0xb8]
mov eax, dword [rcx + rax + 0x88]
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x68]
add rax, rcx
mov qword [rsp + 0x80], rax
jp 0x180015c86
nop
jnp 0x180015c86
retf
xor al, 0x76
mov rax, qword [rsp + 0x80]
cmp dword [rax], 0
jne 0x180015c98
jmp 0x18001603a
jno 0x180015cc4
push rdi
nop
pop rdi
jo 0x180015cc4
mov al, 0x73
pop rsi
or byte [rcx - 0x50], cl
test dword [rbx + 0x62], esi
jae 0x180015c84
and qword [r10 + 0x5e], 0xffffffff8db0768d
retf
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x58]
test byte [rax + rax*4], ah
add byte [rax], al
add byte [rbx + 0x4c8b4800], cl
and al, 0x58
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xe0], rax
jl 0x180015d0d
jge 0x180015d0d
adc al, 0x85
mov al, 0x85
cmc
jae 0x180015d35
lea ecx, [rcx - 0x35]
lea esp, [rdx + 0x73]
lea esi, [rdx + rbx*8]
fcmove st(0), st(3)
invalid
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 4]
sub rax, 8
xor edx, edx
mov ecx, 2
div rcx
mov dword [rsp + 0x90], eax
jl 0x180015d59
push rcx
push rax
push rbx
nop
pop rbx
pop rax
pop rcx
jge 0x180015d59
or byte [rdx + riz*2], dl
xor al, 0xcb
adc al, 0x8d
jbe 0x180015cc6
adc al, 0x73
mov al, 0x85
adc al, 0x85
test dword [rbx + 0x34], esi
jbe 0x180015d41
retf
mov dword [rsp + 0x54], 0
jmp 0x180015d6d
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x90]
cmp dword [rsp + 0x54], eax
jae 0x180015fc6
mov eax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax*2 + 8]
mov word [rsp + 0x38], ax
jb 0x180015dc0
nop
jae 0x180015dc0
invalid
movzx eax, word [rsp + 0x38]
and eax, 0xfff
mov word [rsp + 0x40], ax
jnp 0x180015dfb
push rsp
push rbx
push rsp
pop rsp
pop rbx
pop rsp
jp 0x180015dfb
invalid
movzx eax, word [rsp + 0x38]
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
mov word [rsp + 0x34], ax
jp 0x180015e3d
push rdi
push rcx
nop
pop rcx
pop rdi
jnp 0x180015e3d
lea eax, [rcx - 0x72cba17f]
retf
movzx eax, word [rsp + 0x40]
mov rcx, qword [rsp + 0xe0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0xc0], rax
jb 0x180015fc1
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
cmp qword [rsp + 0xc0], rax
jae 0x180015fc1
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
movzx eax, word [rsp + 0x34]
test eax, eax
je 0x180015fc1
movzx eax, word [rsp + 0x34]
cmp eax, 3
jne 0x180015f28
jl 0x180015f0e
push rcx
push rbp
push rbx
nop
pop rbx
pop rbp
pop rcx
jge 0x180015f0e
cmc
invalid
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
add eax, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x60]
mov dword [rcx], eax
jmp 0x180015fc1
movzx eax, word [rsp + 0x34]
cmp eax, 0xa
jne 0x180015f78
jae 0x180015f5e
push rdi
push rbx
push rbp
pop rbp
pop rbx
pop rdi
jb 0x180015f5e
and dl, byte [rbx + rsi*2]
adc al, 0x73
fidiv dword [rsi + rsi*2]
test dword [rbx + rsi*2], edx
jae 0x180015f3b
fcmove st(0), st(3)
xor dword [rsi - 0x35], 0x14147662
mov r8b, 0xcb
fcmove st(0), st(3)
retf
retf
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
add rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
jmp 0x180015fc1
jne 0x180015fa4
push rdi
push rdx
pop rdx
pop rdi
je 0x180015fa4
or byte [r9 + rcx*2], sil
jbe 0x180015fba
lea rsi, [r11 - 0x7b]
jbe 0x180015fea
invalid
jbe 0x180015f1d
jae 0x180015f4a
cmc
test dword [rsi + 0x34], esi
xor al, 0xb0
adc al, 0x34
or byte [rbx + 0x41], dh
mov eax, 0x8000
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x18001ad70]
mov eax, 1
add byte [rax], al
jmp 0x1800161d8
jmp 0x180015d63
jg 0x180015ff2
push rax
nop
pop rax
jle 0x180015ff2
jae 0x180016003
xor dword [rax + 0x14f549cb], 0x348534cb
jbe 0x18001600f
cmc
test dword [rax], ecx
invalid
invalid
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 4]
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x68], eax
jge 0x180016035
push rbx
push rcx
pop rcx
pop rbx
jl 0x180016035
cmc
jae 0x180015f96
pop rsi
xor al, 0x81
jae 0x18001607c
pop rsi
retfq
jmp 0x180015c28
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xa0], rax
cmp dword [rsp + 0x3c], 0
jne 0x18001606b
jmp 0x1800161c3
mov dword [rsp + 0x30], 0x1000
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x3c], eax
jae 0x180016085
or byte [rbx - 0x76cfdbbc], cl
and al, 0x3c
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x30]
mov r8d, eax
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
call qword [0x18001ad68]
test eax, eax
je 0x180016180
call qword [0x18001ad40]
lea rcx, [rsp + 0x94]
mov qword [rsp + 0x20], rcx
mov r9d, 0x40
mov r8d, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x78]
mov rcx, rax
call fcn.1800026e0
test eax, eax
je 0x1800160f3
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x18001ad70]
mov eax, 1
jmp 0x1800161d8
mov eax, dword [rsp + 0x30]
mov r8d, eax
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
call qword [0x18001ad78]
jno 0x180016139
push rax
push rsi
nop
pop rsi
pop rax
jo 0x180016139
invalid
call qword [0x18001ad40]
mov qword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x94]
mov r8d, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x78]
mov rcx, rax
call fcn.1800026e0
test eax, eax
je 0x180016180
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x18001ad70]
mov eax, 1
jmp 0x1800161d8
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
jmp 0x18001605f
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x18001ad70]
xor eax, eax
add rsp, 0x308
ret