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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x140070040]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov r15, rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SafeArrayDestroy]
movdqu xmmword [rbp - 0x50], xmm1
movsd xmm0, qword [str.iGummiShipParts]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [0x1400657b0]
mov dword [rbp - 0x58], eax
movzx eax, word [0x1400657b4]
mov word [rbp - 0x54], ax
movzx eax, byte [0x1400657b6]
mov byte [rbp - 0x52], al
mov byte [rbp - 0x51], 0
lea rdx, [rbp - 0x60]
call fcn.140017ed0
mov rdi, rax
cmp byte [rax + 0x5c], 0
je 0x1400228c1
mov bl, 1
jmp 0x140022de8
xor eax, eax
mov qword [rdi + 0x10], rax
mov dword [rdi], eax
mov dword [rdi + 4], 2
mov word [rdi + 0x60], 0x100
mov byte [rdi + 0x5d], 1
mov byte [rdi + 0x5f], 1
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov ecx, 0x100
call fcn.14002d954
mov rsi, rax
mov qword [rbp], rax
mov qword [rbp + 0x10], 0xf2
mov qword [rbp + 0x18], 0xff
mov rcx, rax
lea rax, str.52_48_8D_84_18_s1_00_00_83_FB_3F_7E_30_83_FB_46_7E_24_83_FB_76_7E_0F_83_FB_7F_7E_31_81_FB_8F_00_00_00_7E_19_EB_27_BA_01_00_00_00_83_3D_CD_01_00_00_01_74_17_EB_17_BA_01_00_00_00_EB_05_BA_63_00_00_00_83_3D_BA_01_00_00_01_75_02_88_10_5A_0F_B6_00
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
sub rcx, 0xffffffffffffff80
movups xmm0, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rax]
movups xmmword [rcx], xmm1
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm1
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm0
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm1
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm0
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm1
movzx eax, word [rax + 0x70]
mov word [rcx + 0x70], ax
mov byte [rsi + 0xf2], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov ecx, 0x20
call fcn.14002d954
mov r14, rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x10], SafeArrayUnaccessData
mov r12d, 0x1f
mov qword [rbp - 8], r12
movups xmm0, xmmword [str.0F_B6_84_03_s1_00_00]
movups xmmword [rax], xmm0
mov eax, dword [0x1400658c8]
mov dword [r14 + 0x10], eax
mov byte [r14 + 0x14], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
lea ecx, [r12 + 0x31]
call fcn.14002d954
mov rbx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x49
mov r13d, 0x4f
mov qword [rbp - 0x28], r13
movaps xmm0, xmmword [str.E8_____B9_04_00_00_00_E8_____0F_B6_84_03_s1_00_00_48_83_C4___C3]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x1400658e0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1400658f0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x140065900]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [0x140065910]
movsd qword [rax + 0x40], xmm0
movzx eax, byte [0x140065918]
mov byte [rbx + 0x48], al
mov byte [rbx + 0x49], 0
xor eax, eax
mov dword [rdi], eax
cmp dword [rdi + 4], 2
je 0x140022a5e
mov dword [rdi + 4], eax
lea rcx, [rdi + 0x68]
lea rax, [rbp - 0x40]
cmp rcx, rax
je 0x140022a81
mov r8d, 0x49
mov rdx, rbx
call fcn.1400020c0
mov r13, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x40]
lea rcx, [rdi + 0x88]
lea rax, [rbp - 0x20]
cmp rcx, rax
je 0x140022aa7
mov r8d, SafeArrayUnaccessData
mov rdx, r14
call fcn.1400020c0
mov r12, qword [rbp - 8]
mov r14, qword [rbp - 0x20]
lea rcx, [rdi + 0xa8]
lea rax, [rbp]
cmp rcx, rax
je 0x140022ac9
mov r8d, 0xf2
mov rdx, rsi
call fcn.1400020c0
mov rsi, qword [rbp]
cmp r13, 0xf
jbe 0x140022b01
lea rdx, [r13 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140022af8
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022e55
mov rcx, rbx
call fcn.14002d920
nop
cmp r12, 0xf
jbe 0x140022b3a
lea rdx, [r12 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x140022b31
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022e5b
mov rcx, r14
call fcn.14002d920
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x140022b74
inc rdx
mov rax, rsi
cmp rdx, 0x1000
jb 0x140022b6c
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022e61
mov rcx, rsi
call fcn.14002d920
mov dword [rdi + 0x38], reloc.OLEAUT32.dll_SafeArrayDestroy
lea rax, [rsp + 0x48]
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], 2
mov qword [rbp - 0x68], reloc.OLEAUT32.dll_SafeArrayDestroy
mov eax, 0x3173
mov word [rbp - 0x80], ax
mov byte [rbp - 0x7e], 0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
movups xmmword [rsp + 0x48], xmm0
xor r14d, r14d
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x48], r14b
lea r8d, [r14 + 2]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x48]
call fcn.1400020c0
movdqa xmm0, xmmword [0x140065df0]
movdqu xmmword [rsp + 0x68], xmm0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140022c28
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022c23
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022e67
call fcn.14002d920
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x80], 0
lea r8, [rsp + 0x48]
mov rdx, rdi
lea rcx, [r15 + 0xf8]
call fcn.140028aa0
test al, al
jne 0x140022c57
xor bl, bl
jmp 0x140022de8
mov rdx, 0xffffffffffffffff
lea rcx, [r15 + 0xf8]
call fcn.140028090
mov qword [rdi + 0x18], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movdqu xmmword [rbp - 0x70], xmm1
mov ecx, 0x3043
mov word [rbp - 0x80], cx
mov byte [rbp - 0x7e], 0
lea rbx, [rax + 0x200]
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.140025860
mov qword [rax + 0x10], rbx
mov esi, 1
mov dword [rax + 0x3c], esi
mov ecx, dword [rax + 0x4c]
mov edx, esi
cmp ecx, 0x7fffffff
je 0x140022cc4
cmp ecx, edx
jge 0x140022cc4
mov dword [rax + 0x3c], ecx
mov edx, ecx
mov r8d, dword [rax + 0x50]
cmp r8d, 0x80000000
je 0x140022cd9
cmp edx, ecx
jge 0x140022cd9
mov dword [rax + 0x3c], r8d
mov dword [rax + 0x40], r14d
mov byte [rax + 0x60], sil
mov byte [rax + 0x5e], 0
mov dword [rax], 2
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140022d26
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022d21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022e6d
call fcn.14002d920
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movdqu xmmword [rbp - 0x70], xmm1
mov eax, 0x2e43
mov word [rbp - 0x80], ax
mov byte [rbp - 0x7e], 0
mov rbx, qword [rdi + 0x18]
add rbx, 0x204
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.140025860
mov qword [rax + 0x10], rbx
mov dword [rax + 0x3c], esi
mov ecx, dword [rax + 0x4c]
cmp ecx, 0x7fffffff
je 0x140022d7a
cmp ecx, 1
jge 0x140022d7a
mov dword [rax + 0x3c], ecx
mov esi, ecx
mov edx, dword [rax + 0x50]
cmp edx, 0x80000000
je 0x140022d8c
cmp esi, ecx
jge 0x140022d8c
mov dword [rax + 0x3c], edx
mov dword [rax + 0x40], r14d
mov byte [rax + 0x60], 1
mov byte [rax + 0x5e], 0
mov dword [rax], 2
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140022dd9
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022dd4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022e73
call fcn.14002d920
lea rdx, [rbp - 0x60]
mov rcx, r15
call fcn.1400236a0
movzx ebx, al
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140022e1f
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022e1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022e4f
call fcn.14002d920
movzx eax, bl
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.14002d900
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14003474c
nop
call fcn.14003474c
nop
call fcn.14003474c
nop
call fcn.14003474c
int3
call fcn.14003474c
int3
call fcn.14003474c
int3
call fcn.14003474c
int3