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

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x20], 0
jns 0x1800155a9
push rcx
nop
pop rcx
js 0x1800155a9
sbb byte [rbx], ch
invalid
mov rdx, 0xffffffffffffffff
mov ecx, dword [0x18001e460]
call qword [0x18001af30]
jg 0x1800155e8
push rcx
nop
pop rcx
jle 0x1800155e8
adc byte [rcx + 0x79], bh
sbb bl, bl
cmp al, 0xf1
cmp al, 0xfc
insb byte [rdi], dx
int1
int1
in al, 0x5e
sbb byte [rax], dl
sbb al, dh
cmp al, 0x26
sbb byte [rsi + riz], bh
sub ebx, ebx
mov bh, 0x79
in al, 0xe2
in al, 0xfc
loop 0x18001565d
pop rsi
invalid
mov ecx, dword [0x18001b448]
call qword [0x18001b018]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x180015608
mov eax, 1
jmp 0x180015615
mov rcx, qword [rsp + 0x20]
call qword [0x18001afe0]
xor eax, eax
add rsp, 0x38
ret
add byte [rax], al
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
ja 0x180015791
jbe 0x180015791
fist dword [rax]
sbb ah, ah
lock sbb byte es:[rax + rbx - 0x1e], ch
lock sbb byte [rbx], ch
insb byte [rdi], dx
cld
loop 0x180015792
sbb dl, ah
invalid
mov rax, qword [rsp + 0xa8]
mov eax, dword [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
js 0x1800157fb
push rbx
nop
pop rbx
jns 0x1800157fb
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
mov al, 0
add byte [rax], al
jb 0x1800158b1
push rdi
nop
pop rdi
jae 0x1800158b1
insb byte [rdi], dx
sub esp, esp
jns 0x180015881
loop 0x180015883
jns 0x1800158ad
sbb byte [rax], dl
cld
int1
cmp al, 0xfc
invalid
in al, 0x79
jns 0x1800158dc
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
clc
or byte [rax], al
add byte [rax - 0x75], cl
test byte [rax + rsi*4], ah
add byte [rax], al
add byte [rax + 0x63], cl
cmp al, 0x48
mov ecx, dword [rsp + 0xb0]
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
jge 0x18001592b
push rsp
push rsi
push rcx
nop
pop rcx
pop rsi
pop rsp
jl 0x18001592b
sub ebp, dword [rdi + rsi*4 + 0x5e]
pop rsi
int1
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
jnp 0x1800159ce
push rsi
push rbp
nop
pop rbp
pop rsi
jp 0x1800159ce
cld
adc bl, bl
int1
adc byte [rax], bl
mov bh, 0xf0
invalid
mov r8d, 0x10
xor edx, edx
lea rcx, [rsp + 0xe8]
call qword [0x18001ace8]
add byte [rbx], dh
ror byte [rax - 0x73], cl
mov word [rax + rbp*8], fs
add byte [rax], al
add bh, bh
adc eax, 0x5304
jbe 0x180015a10
push rbp
push rcx
nop
pop rcx
pop rbp
ja 0x180015a10
loop 0x1800159d3
lock sub ebp, dword [rbx]
sbb byte [rsi], ah
mov bh, 0x6c
pop rsi
mov bh, 0x26
insb byte [rdi], dx
mov bh, 0xf1
adc byte [rbx], ch
cld
lock sbb byte es:[rdi - 0x1b030f10], dh
int1
mov bh, 0xf1
jns 0x1800159e8
in al, 0xf0
invalid
mov rax, qword [rsp + 0x98]
mov r8d, 8
mov rdx, rax
lea rcx, [rsp + 0xe8]
call qword [0x18001ad78]
push rbx
add byte [rax], al
jae 0x180015a5b
push rbx
push rsp
push rdx
pop rdx
pop rsp
pop rbx
jb 0x180015a5b
loop 0x180015a2c
invalid
jge 0x180015a87
push rbp
nop
pop rbp
jl 0x180015a87
cmp al, 0x18
pop rsi
int1
loop 0x180015ae1
mov bh, 0x79
mov bh, 0x10
int1
jns 0x180015ae8
sub ebp, dword [rbx]
in al, 0xfc
int1
sub esp, edx
adc al, dh
cmp al, 0xf0
sbb al, dh
fcomi st(1)
sub esi, eax
cmp al, 0xf0
pop rsi
jns 0x180015a76
fsetpm
lea rdx, [0x18001af60]
lea rcx, [rsp + 0xe8]
call qword [0x18001b028]
test eax, eax
jne 0x180015bac
mov dword [rsp + 0xc8], 1
jo 0x180015adb
push rsi
push rdx
pop rdx
pop rsi
jno 0x180015adb
loop 0x180015af6
fistp dword [rax]
sbb dl, ah
int1
invalid
mov rax, qword [rsp + 0x98]
add byte [rax], al
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x58]
and al, 0x58
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jg 0x180015b25
add byte [rax], al
add byte [rdi + 0x2a], bh
push rax
push rdx
push rdx
push rsp
pop rsp
pop rdx
pop rdx
pop rax
jle 0x180015b25
mov bh, 0x3c
adc byte [rdi + rsi*4 + 0x79], ch
insb byte [rdi], dx
mov bh, 0xb7
pop rsi
int1
mov bh, 0xf0
invalid
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x14]
mov rcx, qword [rsp + 0x48]
and al, 0x48
add rcx, rax
add ecx, eax
mov rax, rcx
mov qword [rsp + 0xd8], rax
jbe 0x180015b6f
push rsp
push rsp
pop rsp
pop rsp
ja 0x180015b6f
pop rsi
fsetpm
cmp al, 0xdb
cmp al, 0x3c
jns 0x180015b36
int1
loop 0x180015b32
adc byte [rax], bl
cmp al, 0x18
fcmovnu st(0), st(3)
insb byte [rdi], dx
mov bh, 0x2b
jns 0x180015bdc
int1
invalid
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x6c], eax
jnp 0x180015baa
nop
jp 0x180015baa
mov bh, 0xe2
fcmovnu st(0), st(3)
adc byte [rax], dl
int1
invalid
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]
and al, 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
jle 0x180015c86
push rbp
push rax
push rsp
nop
pop rsp
pop rax
pop rbp
jg 0x180015c86
invalid
mov rax, qword [rsp + 0x80]
cmp dword [rax], 0
jne 0x180015c98
add eax, 0x3a2e9
add byte [rdx + 0x2a], bh
jmp 0x18001603a
jp 0x180015cc4
push rsi
pop rsi
jnp 0x180015cc4
cld
loop 0x180015c92
jns 0x180015cce
cmp al, 0xf1
cld
adc byte [rsi], ah
int1
sub ebx, ebx
jns 0x180015d26
sub esp, edx
sub esi, ecx
invalid
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xe0], rax
jle 0x180015d0d
push rcx
nop
pop rcx
jg 0x180015d0d
lock sub esi, dword [rdi - 0x481bd487]
sub esi, eax
adc byte [rsi], ah
cmp al, 0xe4
sbb al, dh
sbb ah, ah
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
jp 0x180015d59
push rsp
push rdx
push rbx
push rdi
pop rdi
pop rbx
pop rdx
pop rsp
jnp 0x180015d59
jns 0x180015db4
sub edi, esp
cmp al, 0x3c
jns 0x180015d3d
cld
int1
jns 0x180015d56
invalid
invalid
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
jnp 0x180015dc0
push rcx
nop
pop rcx
jp 0x180015dc0
in al, 0x5e
sub esp, dword [rsi]
pop rsi
invalid
lock adc byte [rax], dl
in al, 0xe4
loop 0x180015e19
sbb ah, ah
int1
jns 0x180015e39
movzx eax, word [rsp + 0x38]
and eax, 0xfff
mov word [rsp + 0x40], ax
jp 0x180015dfb
push rsp
push rbx
nop
pop rbx
pop rsp
jnp 0x180015dfb
cld
sbb byte [rsp + rdi + 0x6c], ch
int1
loop 0x180015e59
fcomi st(0)
adc byte [rsi - 4], bl
cld
sub edx, dword [rax]
invalid
movzx eax, word [rsp + 0x38]
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
mov word [rsp + 0x34], ax
ja 0x180015e3d
push rdx
push rax
nop
pop rax
pop rdx
jbe 0x180015e3d
and ebp, dword [rax + rsi*8 - 0x1c]
loop 0x180015e8b
insb byte [rdi], dx
invalid
cld
sbb byte [rsi - 0x25], bl
loop 0x180015e00
adc byte [rax], dl
in al, 0xe4
invalid
sbb ah, bh
mov bh, 0x5e
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]
mov eax, dword [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
add dword [rax], eax
add byte [rax - 0x75], cl
test byte [rax + rax*8], ah
add byte [rax], al
add byte [rax - 0x77], cl
and al, 0x60
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
xor al, 0x83
clc
add esi, dword [rbp + 0x46]
jb 0x180015f0e
jae 0x180015f0e
adc byte [rcx + rdi*2 + 0x6c], ch
loop 0x180015edc
invalid
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
add eax, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
jmp 0x180015fc1
movzx eax, word [rsp + 0x34]
cmp eax, 0xa
jne 0x180015f78
jno 0x180015f5e
push rdi
pop rdi
jo 0x180015f5e
insb byte [rdi], dx
in al, 0x18
insb byte [rdi], dx
int1
int1
cld
loop 0x180015f9f
cmp al, 0x3c
loop 0x180015f5d
adc byte [rsi], ah
in al, 0xf0
mov bh, 0xf0
in al, 0x6c
mov bh, 0xe2
pop rsi
sbb ah, bh
lock sub ebp, dword es:[rbx]
fstp xword es:[rcx + rdi*2]
sub edi, esp
adc byte es:[rax - 0x75], cl
adc byte [rax - 0x75], cl
mov rax, qword [rsp + 0x60]
and al, 0x60
mov rax, qword [rax]
add rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
jmp 0x180015fc1
jne 0x180015fa4
je 0x180015fa4
sbb bl, bl
cmp al, 0xdb
invalid
loop 0x180015fdd
adc al, dh
in al, 0x41
mov eax, 0x8000
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x18001ad70]
mov eax, 1
jmp 0x1800161d8
add cl, ch
invalid
jmp 0x180015d63
js 0x180015ff2
push rbp
pop rbp
jns 0x180015ff2
loop 0x180015fde
loop 0x180015fe0
insb byte [rdi], dx
mov bh, 0x79
sbb ah, bh
adc byte [rdi - 0xf1b0f1e], dh
cmp al, 0xf1
pop rsi
jns 0x180015fbb
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
jg 0x180016035
nop
jle 0x180016035
loop 0x180016028
pop rsi
invalid
invalid
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
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]
ja 0x180016139
push rsp
push rdi
pop rdi
pop rsp
jbe 0x180016139
fcmovnu st(0), st(3)
adc byte [rbx], ch
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