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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2a8
movaps xmmword [rsp + 0x290], xmm11
movaps xmmword [rsp + 0x280], xmm10
movaps xmmword [rsp + 0x270], xmm9
movaps xmmword [rsp + 0x260], xmm8
movaps xmmword [rsp + 0x250], xmm7
movaps xmmword [rsp + 0x240], xmm6
mov r12, r9
mov r13, r8
mov r14, rdx
mov rdi, rcx
mov r15, qword [rsp + 0x310]
call fcn.1401305f6
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x74], edx
cmp byte [r14 + 0x2a0], 1
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x80], r13
jne 0x1400302f3
lea rbx, [r14 + 0x280]
mov rax, qword [r14 + 0x280]
test rax, rax
cmove rbx, rax
je 0x1400302b9
call qword [0x1405e8510]
test rax, rax
je 0x1400302bd
mov rsi, rax
lea r13, [rsp + 0xd0]
mov rcx, r13
mov rdx, rbx
call fcn.14003a8e8
mov rax, qword [r13 + 0x10]
lea r9, [rsp + 0x90]
mov qword [r9 + 0x10], rax
movups xmm0, xmmword [r13]
movaps xmmword [r9], xmm0
mov edx, dword [r13 + 0x18]
mov r8d, dword [r13 + 0x1c]
lea rbx, [rsp + 0xd0]
mov rcx, rbx
call fcn.140099e2d
mov rbx, qword [rbx]
test rbx, rbx
je 0x1400302c9
mov r13, qword [rsp + 0xd8]
movups xmm0, xmmword [rsp + 0xe0]
lea rbp, [rsp + 0x188]
mov qword [rbp], rbx
mov qword [rbp + 8], r13
movups xmmword [rbp + 0x10], xmm0
mov ecx, 0xb
call qword [0x1405e8598]
mov rcx, rbp
mov edx, eax
call fcn.140030fe8
test rax, rax
je 0x1400302c1
mov r8d, 1
mov rcx, rsi
mov edx, 0x80
mov r9, rax
call fcn.140223d70
mov ecx, 0x31
call qword [0x1405e8598]
lea rcx, [rsp + 0x188]
mov edx, eax
call fcn.140030fe8
test rax, rax
je 0x1400302c1
mov rcx, rsi
mov edx, 0x80
xor r8d, r8d
mov r9, rax
call fcn.140223d70
mov rcx, rbx
mov rdx, r13
call fcn.14001a7e7
mov al, 2
jmp 0x1400302e7
xor eax, eax
jmp 0x1400302ec
mov al, 1
jmp 0x1400302ec
mov rcx, rbx
mov rdx, r13
jmp 0x1400302e0
mov ecx, 0x10
call fcn.1400bce5a
movups xmm0, xmmword [str.Invalid_IconData]
movups xmmword [rax], xmm0
mov rcx, rax
call fcn.14001a7e7
xor eax, eax
mov r14, qword [rsp + 0x40]
mov byte [r14 + 0x2a0], al
mov rcx, qword [r14 + 0x2a8]
call fcn.14004f7e9
mov rdx, qword [r15]
mov rsi, qword [r15 + 8]
mov al, byte [r14 + 0x2b0]
mov cl, byte [r14 + 0x2b1]
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x20], al
lea rbx, [rsp + 0xd0]
mov rcx, rbx
mov r8, rsi
movaps xmm3, xmm0
call fcn.140031a50
mov eax, dword [rbx + 0x20]
mov dword [r14 + 0x118], eax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r14 + 0x108], xmm1
movups xmmword [r14 + 0xf8], xmm0
movss xmm7, dword [r14 + 0xdc]
mov rcx, qword [r14 + 0xa0]
mov edx, dword [r14 + 0xa8]
call fcn.1401307e1
movq xmm0, rax
punpckldq xmm0, xmmword [0x140224010]
subpd xmm0, xmmword [0x140224020]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
mov eax, edx
cvtsi2sd xmm6, rax
addsd xmm1, xmm0
divsd xmm6, qword [0x140224290]
addsd xmm6, xmm1
mov qword [r14 + 0x10], 1
movsd qword [r14 + 0x18], xmm6
xorps xmm9, xmm9
movaps xmmword [rbx], xmm9
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call qword [0x1405e8528]
test eax, eax
je 0x140030e9d
mov eax, dword [rsp + 0xd8]
mov ecx, dword [rsp + 0xdc]
sub eax, dword [rsp + 0xd0]
sub ecx, dword [rsp + 0xd4]
cvtsi2ss xmm0, rax
cvtsi2ss xmm1, rcx
divss xmm0, xmm7
divss xmm1, xmm7
xorps xmm2, xmm2
xorps xmm3, xmm3
cmpltps xmm3, xmm1
xorps xmm4, xmm4
cmpltps xmm4, xmm0
andps xmm4, xmm3
movd eax, xmm4
addss xmm0, xmm2
addss xmm1, xmm2
and eax, 1
mov dword [r14 + 0x70], eax
and qword [r14 + 0x74], 0
movss dword [r14 + 0x7c], xmm0
movss dword [r14 + 0x80], xmm1
mov eax, dword [r14 + 0x80]
mov dword [rsp + 0x208], eax
mov eax, dword [r14 + 0x70]
and dword [r14 + 0x70], 0
mov rcx, qword [r14 + 0x74]
mov edx, dword [r14 + 0x7c]
mov r8d, dword [r14 + 0x20]
movss xmm7, dword [r14 + 0x24]
and dword [r14 + 0x20], 0
mov r9, qword [r14]
mov r10, qword [r14 + 8]
and qword [r14], 0
mov dword [rsp + 0x1f8], eax
and qword [r14 + 0x10], 0
mov qword [rsp + 0x1fc], rcx
mov dword [rsp + 0x204], edx
movss xmm8, dword [r14 + 0x84]
mov al, byte [r14 + 0x8c]
mov byte [rsp + 0x214], al
mov eax, dword [r14 + 0x88]
mov dword [rsp + 0x210], eax
mov rax, qword [r14 + 0x38]
mov qword [rsp + 0x1c0], rax
movupd xmm0, xmmword [r14 + 0x28]
movupd xmmword [rsp + 0x1b0], xmm0
mov qword [r14 + 0x28], 8
movups xmmword [r14 + 0x30], xmm9
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0x48], rax
mov r14, qword [r14 + 0x50]
test r14, r14
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0x78], r12
mov dword [rsp + 0x3c], r8d
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], r10
je 0x140030559
movabs rax, 0x24924924924924a
xor ebx, ebx
cmp r14, rax
setb al
movabs rcx, 0x249249249249249
cmp r14, rcx
ja 0x140030e9d
imul r13, r14, 0x38
mov bl, al
shl rbx, 3
mov rcx, rbx
mov rdx, r13
call fcn.14007ffc7
mov rsi, rax
test rax, rax
jne 0x14003055e
mov rcx, rbx
mov rdx, r13
call fcn.140218dba
ud2
mov esi, 8
mov rax, qword [rsp + 0x40]
lea rcx, [rax + 0x2a8]
mov qword [rsp + 0x88], rcx
add rax, 0xe8
mov qword [rsp + 0x50], rax
lea r13, [rsp + 0xe8]
imul r12, r14, 0x38
mov rdi, r14
xor r14d, r14d
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x58], rdi
sub rdi, 1
jb 0x140030686
cmp r12, r14
je 0x140030686
lea rbx, [rsi + r14]
mov bpl, byte [r15 + 0x30]
cmp bpl, 2
jne 0x1400305c4
mov byte [rsp + 0x100], 2
jmp 0x140030631
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + r14 + 0x18]
mov r8, qword [rax + r14 + 0x28]
lea rcx, [rsp + 0x90]
call fcn.14001ad16
mov byte [rsp + 0xa8], bpl
movupd xmm0, xmmword [rsp + 0x90]
movupd xmmword [r13], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [r13 + 0x10], rax
mov al, byte [rsp + 0xa8]
mov byte [r13 + 0x18], al
mov eax, dword [rsp + 0xa9]
mov dword [r13 + 0x19], eax
movzx eax, word [rsp + 0xad]
mov word [r13 + 0x1d], ax
mov al, byte [rsp + 0xaf]
mov byte [r13 + 0x1f], al
lea rbp, [r15 + 0x38]
mov rdx, qword [r15]
mov r8, qword [r15 + 0x10]
lea rcx, [rsp + 0xd0]
call fcn.14001ad16
mov rax, qword [rsp + 0x100]
mov qword [rbx + 0x30], rax
movupd xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movups xmm2, xmmword [rsp + 0xf0]
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movupd xmmword [rbx], xmm0
add r14, 0x38
mov r15, rbp
jmp 0x140030599
lea r8, [rsp + 0x188]
mov qword [r8 + 0x40], rsi
mov rax, qword [rsp + 0x58]
mov qword [r8 + 0x48], rax
mov qword [r8 + 0x50], rax
mov r13, qword [rsp + 0x40]
mov rax, qword [r13 + 0x68]
mov qword [r8 + 0x68], rax
movups xmm0, xmmword [r13 + 0x58]
movups xmmword [r8 + 0x58], xmm0
mov qword [r13 + 0x58], 8
xorps xmm0, xmm0
movups xmmword [r13 + 0x60], xmm0
mov al, byte [r13 + 0x8d]
mov ecx, dword [rsp + 0x3c]
mov dword [r8 + 0x20], ecx
movss dword [r8 + 0x24], xmm7
mov rcx, qword [rsp + 0x68]
mov qword [r8], rcx
mov rcx, qword [rsp + 0x60]
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], 1
movsd qword [r8 + 0x18], xmm6
movss dword [r8 + 0x84], xmm8
mov byte [r8 + 0x8d], al
lea r9, [rsp + 0x90]
mov rax, qword [rsp + 0x80]
mov qword [r9], rax
mov rax, qword [rsp + 0x78]
mov qword [r9 + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [r9 + 0x10], rax
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov rdx, qword [rsp + 0x88]
call fcn.140031c05
lea rbx, [r13 + 0x1a0]
mov rcx, rbx
mov rdx, rsi
call fcn.140058c92
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call fcn.140035c63
lea rcx, [rsp + 0x188]
mov r8d, 0xb8
mov rdx, rbx
call fcn.1401e82d0
mov r8d, 0xb8
mov rcx, rbx
mov rdx, rsi
call fcn.1401e82d0
mov rax, qword [r13 + 0x120]
mov qword [rsp + 0x60], rax
mov rax, qword [r13 + 0x128]
mov qword [rsp + 0x50], rax
mov rax, qword [r13 + 0x130]
mov qword [rsp + 0xb8], rax
mov eax, dword [r13 + 0x138]
mov dword [rsp + 0x48], eax
movss xmm6, dword [r13 + 0x13c]
movss xmm7, dword [r13 + 0x140]
mov eax, dword [r13 + 0x144]
mov dword [rsp + 0x68], eax
movss xmm9, dword [r13 + 0x148]
movss xmm10, dword [r13 + 0x14c]
mov r15b, byte [r13 + 0x152]
mov dil, byte [r13 + 0x153]
movzx ebx, byte [r13 + 0x154]
mov r12b, byte [r13 + 0x155]
mov al, byte [r13 + 0x156]
mov byte [rsp + 0x3c], al
mov r14b, byte [r13 + 0x157]
mov bpl, byte [r13 + 0x158]
mov al, byte [r13 + 0x159]
mov byte [rsp + 0x3b], al
mov al, byte [r13 + 0x15a]
mov byte [rsp + 0x3a], al
xor eax, eax
cmp byte [r13 + 0x151], al
sete sil
mov cl, byte [r13 + 0x150]
and qword [r13 + 0x120], 0
and dword [r13 + 0x138], 0
and dword [r13 + 0x144], 0
and word [r13 + 0x150], 0
cmp byte [r13 + 0x2b3], al
mov byte [r13 + 0x152], al
mov edx, 0x2020202
mov dword [r13 + 0x153], edx
mov dword [r13 + 0x156], edx
sete byte [rsp + 0x58]
mov byte [r13 + 0x15a], 3
mov byte [r13 + 0x2b3], al
cmp cl, al
je 0x1400308e5
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov byte [r13 + 0x2b2], al
mov al, byte [r13 + 0x15a]
mov byte [r13 + 0x155], r12b
mov byte [r13 + 0x152], r15b
cmp al, 3
je 0x1400308f3
mov byte [r13 + 0x15a], 3
jmp 0x1400308f3
mov byte [r13 + 0x155], r12b
mov byte [r13 + 0x152], r15b
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.14004f7e9
movaps xmm8, xmm0
cmp dil, 2
mov r12, qword [rsp + 0x310]
je 0x1400309f5
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
lock inc qword [rax]
jle 0x140030e9d
test dil, dil
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rax
setne byte [rsp + 0xe0]
mov ecx, dword [r12 + 0x18]
call fcn.140156c42
test al, al
je 0x140030972
lea r15, [rsp + 0xd0]
mov rcx, r15
call fcn.140036670
mov rcx, r15
call fcn.14002ff6f
jmp 0x1400309f5
mov ecx, 0x18
mov edx, 8
call fcn.1400252c4
mov r15, rax
movups xmm0, xmmword [rsp + 0xd0]
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [r15 + 0x10], rax
mov ecx, 0x10
mov edx, 8
call fcn.1400252c4
mov r12, rax
mov qword [rax], r15
lea rax, [0x1403cfdf0]
mov qword [r12 + 8], rax
mov rax, qword [rsp + 0x310]
mov r15, qword [rax + 0x10]
lea rcx, str.Winit::ExecMsg
call fcn.140154ad4
mov rcx, r15
mov edx, eax
mov r8, r12
mov r12, qword [rsp + 0x310]
xor r9d, r9d
call qword [0x1405e8640]
test eax, eax
je 0x140030e9d
cmp dword [rsp + 0x48], 1
jne 0x140030a6b
mov rcx, qword [r12]
call fcn.140036409
cvtsd2ss xmm11, xmm0
cvtss2sd xmm0, xmm11
call fcn.140035cbc
test al, al
je 0x140030e9d
mulss xmm7, xmm8
movaps xmm0, xmm7
call fcn.1401fe478
movaps xmm7, xmm0
mulss xmm6, xmm8
movaps xmm0, xmm6
call fcn.1401fe478
divss xmm0, xmm11
divss xmm7, xmm11
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm7
lea rdx, [rsp + 0xd0]
movsd qword [rdx + 8], xmm0
movsd qword [rdx + 0x10], xmm1
mov dword [rdx], 1
mov rcx, r12
call fcn.140035cdd
cmp ebx, 2
je 0x140030aa2
test ebx, ebx
jne 0x140030a7f
xor edi, edi
xor ecx, ecx
call fcn.1400300e4
jmp 0x140030a8f
xorps xmm0, xmm0
movups xmmword [rsp + 0xd8], xmm0
mov edi, 1
lea rdx, [rsp + 0xd0]
mov qword [rdx], rdi
mov rcx, r12
call fcn.140035ddf
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x140030af9
lea r15, [rsp + 0xd0]
mov rcx, r15
mov rdx, rdi
mov r8, qword [rsp + 0xb8]
call fcn.1401544ad
mov rcx, qword [r12 + 8]
mov r12, qword [r15]
mov rdx, r12
call qword [0x1405e86e8]
mov rdx, qword [r15 + 8]
mov rcx, r12
mov r12, qword [rsp + 0x310]
call fcn.140127485
mov rcx, rdi
mov rdx, qword [rsp + 0x50]
call fcn.14001a7e7
or sil, byte [rsp + 0x58]
cmp dword [rsp + 0x68], 1
mov bl, byte [rsp + 0x3c]
jne 0x140030b33
cvtss2sd xmm0, xmm9
cvtss2sd xmm1, xmm10
lea rdx, [rsp + 0xd0]
movsd qword [rdx + 8], xmm0
movsd qword [rdx + 0x10], xmm1
mov dword [rdx], 1
mov rcx, r12
call fcn.140035fca
test sil, sil
jne 0x140030b97
lea rsi, [rsp + 0xd0]
and qword [rsi], 0
mov rcx, rsi
call qword [0x1405e8540]
movzx eax, word [rsi]
movzx ecx, word [rsi + 4]
mov word [rsi], ax
mov word [rsi + 2], cx
call qword [0x1405e8678]
mov rcx, qword [r12]
call fcn.140025d8c
mov byte [rax + 0xe0], 1
mov rcx, rax
call fcn.140025dbb
mov rcx, qword [r12 + 8]
lea r9, [rsp + 0xd0]
mov r8d, 2
mov edx, 0xa1
call qword [0x1405e8640]
cmp bl, 2
je 0x140030bac
cmp bl, 1
mov dl, 2
sbb dl, 0
mov rcx, r12
call fcn.140157c9f
cmp r14b, 2
je 0x140030c9a
mov rdi, qword [r12]
mov rsi, qword [r12 + 8]
lock inc qword [rdi]
jle 0x140030e9d
mov rcx, rsi
call fcn.1401563ef
test r14b, r14b
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], rdi
mov byte [rsp + 0xe0], al
setne byte [rsp + 0xe1]
mov ecx, dword [r12 + 0x18]
call fcn.140156c42
test al, al
je 0x140030c20
lea rsi, [rsp + 0xd8]
lea rcx, [rsp + 0xd0]
call fcn.140036331
mov rcx, rsi
call fcn.14002ff6f
jmp 0x140030c93
mov ecx, 0x18
mov edx, 8
call fcn.1400252c4
mov rsi, rax
movups xmm0, xmmword [rsp + 0xd0]
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsi + 0x10], rax
mov ecx, 0x10
mov edx, 8
call fcn.1400252c4
mov rbx, rax
mov qword [rax], rsi
lea rax, [0x1403cfe90]
mov qword [rbx + 8], rax
mov rsi, qword [r12 + 0x10]
lea rcx, str.Winit::ExecMsg
call fcn.140154ad4
mov rcx, rsi
mov edx, eax
mov r8, rbx
xor r9d, r9d
call qword [0x1405e8640]
test eax, eax
je 0x140030e9d
mov byte [r13 + 0x2b0], r14b
cmp bpl, 2
je 0x140030cb5
test bpl, bpl
setne dl
mov rcx, r12
call fcn.140036112
mov byte [r13 + 0x2b1], bpl
mov rbx, qword [r12]
mov rcx, rbx
call fcn.1400361d2
test al, al
jne 0x140030ddd
mov cl, byte [rsp + 0x3b]
mov dl, 1
call fcn.140036220
test al, al
je 0x140030d2c
mov rsi, qword [r12 + 8]
mov rcx, rbx
call fcn.140025d8c
mov dil, byte [rax + 0xd8]
mov rcx, rax
call fcn.140025dbb
mov rcx, rsi
call fcn.1401563ef
mov ebx, eax
call qword [0x1405e8550]
test dil, 0x10
je 0x140030ddd
test bl, bl
jne 0x140030ddd
cmp rsi, rax
je 0x140030ddd
mov rcx, rsi
call fcn.1401579c7
jmp 0x140030ddd
cmp byte [rsp + 0x3a], 3
je 0x140030ddd
mov rdi, qword [r12 + 8]
call qword [0x1405e8510]
cmp rdi, rax
je 0x140030ddd
mov qword [rsp + 0xd0], rdi
mov bl, byte [rsp + 0x3a]
mov byte [rsp + 0xd8], bl
mov ecx, dword [r12 + 0x18]
call fcn.140156c42
test al, al
je 0x140030d7b
lea rcx, [rsp + 0xd0]
call fcn.140036247
jmp 0x140030ddd
mov ecx, 0x10
mov edx, 8
call fcn.1400252c4
mov rsi, rax
mov qword [rax], rdi
mov byte [rax + 8], bl
mov ecx, 0x10
mov edx, 8
call fcn.1400252c4
mov rbx, rax
mov qword [rax], rsi
lea rax, [0x1403cfeb8]
mov qword [rbx + 8], rax
mov rsi, qword [r12 + 0x10]
lea rcx, str.Winit::ExecMsg
call fcn.140154ad4
mov rcx, rsi
mov edx, eax
mov r8, rbx
xor r9d, r9d
call qword [0x1405e8640]
test eax, eax
je 0x140030e9d
mov rcx, qword [rsp + 0xc8]
mov edx, dword [rsp + 0x74]
call fcn.1401307e1
movq xmm0, rax
punpckldq xmm0, xmmword [0x140224010]
subpd xmm0, xmmword [0x140224020]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
mov eax, edx
cvtsi2sd xmm2, rax
addsd xmm1, xmm0
divsd xmm2, qword [0x140224290]
addsd xmm2, xmm1
cvtsd2ss xmm0, xmm2
mov dword [r13 + 0xe8], 1
movss dword [r13 + 0xec], xmm0
lea rdx, [rsp + 0x188]
mov r8d, 0xb8
mov rcx, qword [rsp + 0xc0]
call fcn.1401e82d0
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2