Function at 0x140031650
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 - 0x130]
sub rsp, 0x230
mov rax, qword [0x14008a040]
xor rax, rsp
mov qword [rbp + 0x128], rax
mov rsi, rcx
xor ebx, ebx
call fcn.140030990
test al, al
je 0x140032859
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
movdqa xmm1, xmmword [0x14007eb10]
movdqu xmmword [rbp - 0x78], xmm1
movsd xmm0, qword [str.__iMovement]
movsd qword [rsp + 0x78], xmm0
movzx eax, word [0x14007d790]
mov word [rbp - 0x80], ax
movzx eax, byte [0x14007d792]
mov byte [rbp - 0x7e], al
mov byte [rbp - 0x7d], bl
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.14001c5f0
mov rdi, rax
cmp byte [rax + 0x5c], 0
je 0x1400316f2
mov bl, 1
jmp 0x14003281e
mov qword [rax + 0x10], rbx
mov dword [rax], ebx
mov dword [rax + 4], 2
mov word [rax + 0x60], 0x100
mov byte [rax + 0x5d], 1
mov byte [rax + 0x5f], 1
lea rcx, [rsi + 0x660]
mov rdx, qword [rsi + 0x450]
mov r8, qword [rcx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jb 0x14003288f
lea r9, [rsi + 0x440]
cmp qword [rsi + 0x458], 0xf
jbe 0x14003174d
mov r9, qword [rsi + 0x440]
cmp qword [rcx + 0x18], 0xf
jbe 0x140031757
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
lea rcx, [rsp + 0x58]
call fcn.1400051a0
mov r8d, 0x1000
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.140007480
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov ecx, 0x1a0
call fcn.140041224
mov r14, rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x38], 0x196
mov qword [rbp - 0x30], 0x19f
mov rcx, rax
lea rdx, str.50_53_BB__lastCalculatedBaseSpeedExplained_B8__BaseNumber_k__BackingField_01_C3_48_A1_00_04_20_E2_F7_7F_00_00_48_39_F0_B8__lastCalculatedSpeed_0F_85_1E_00_00_00_83_3D_D3_01_00_00_00_0F_84_3D_00_00_00_D9_04_33_D8_0D_C4_01_00_00_D9_1C_30_E9_2C_00_00_00_83_3D_B9_01_00_00_01_0F_85_0C_00_00_00_C7_04_30_BD_F3_B8_3E_E9_13_00_00_00_81_3C_30_BD_F3_B8_3E_0F_85_06_00_00_00_D9_04_33_D9_1C_30_5B_58_48_83_BE__army_00
mov eax, 3
nop word [rax + rax]
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rdx, [rdx + 0x80]
sub rax, 1
jne 0x1400317d0
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
mov eax, dword [rdx + 0x10]
mov dword [rcx + 0x10], eax
movzx eax, word [rdx + 0x14]
mov word [rcx + 0x14], ax
mov byte [r14 + 0x196], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov ecx, 0x20
call fcn.140041224
mov r15, rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x58], SafeArrayGetElement
mov eax, 0x1f
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x50], rax
movups xmm0, xmmword [str.48_83_BE__army_00]
movups xmmword [r15], xmm0
movzx eax, byte [0x14007d948]
mov byte [r15 + 0x10], al
mov byte [r15 + 0x11], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
mov ecx, 0x30
call fcn.140041224
mov rbx, rax
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe8], 0x21
mov eax, 0x2f
mov qword [rsp + 0x48], rax
mov r13d, eax
mov qword [rbp + 0xf0], rax
movups xmm0, xmmword [str.48_83_BE__army_00_0F_84___00_00]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14007d960]
movups xmmword [rbx + 0x10], xmm1
movzx eax, byte [0x14007d970]
mov byte [rbx + 0x20], al
mov byte [rbx + 0x21], 0
xor eax, eax
mov dword [rdi], eax
cmp dword [rdi + 4], 2
je 0x1400318f4
mov dword [rdi + 4], eax
lea rcx, [rdi + 0x68]
lea rax, [rbp + 0xd8]
cmp rcx, rax
je 0x140031920
mov r8d, 0x21
mov rdx, rbx
call fcn.140004400
mov r13, qword [rbp + 0xf0]
mov rbx, qword [rbp + 0xd8]
lea rcx, [rdi + 0x88]
lea rax, [rbp - 0x68]
cmp rcx, rax
je 0x140031942
mov r8d, 0x11
mov rdx, r15
call fcn.140004400
mov r15, qword [rbp - 0x68]
lea rcx, [rdi + 0xa8]
lea rax, [rbp - 0x48]
cmp rcx, rax
je 0x140031964
mov r8d, 0x196
mov rdx, r14
call fcn.140004400
mov r14, qword [rbp - 0x48]
cmp r13, 0xf
jbe 0x14003199c
lea rdx, [r13 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140031993
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032895
mov rcx, rbx
call fcn.1400411f0
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x1400319d7
inc rdx
mov rax, r15
cmp rdx, 0x1000
jb 0x1400319ce
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003289b
mov rcx, r15
call fcn.1400411f0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140031a11
inc rdx
mov rax, r14
cmp rdx, 0x1000
jb 0x140031a09
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328e3
mov rcx, r14
call fcn.1400411f0
lea rdx, [rsi + 0x440]
lea rcx, [rsp + 0x58]
call fcn.1400042e0
mov rbx, rax
mov qword [rsp + 0x40], rax
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140031a37
mov r8, qword [rax]
mov r9d, 4
lea rdx, str._army
mov rcx, rdi
call fcn.140007060
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140031a87
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140031a82
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400328a7
mov rcx, r8
call fcn.1400411f0
xor r15d, r15d
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbx], r15b
lea rdx, [rsi + 0x440]
lea rcx, [rsp + 0x58]
call fcn.1400042e0
mov rbx, rax
mov qword [rsp + 0x40], rax
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140031abf
mov r8, qword [rax]
mov r9d, 4
lea rdx, str._lastCalculatedSpeed
mov rcx, rdi
call fcn.140007060
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140031b0f
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140031b0a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400328ad
mov rcx, r8
call fcn.1400411f0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbx], 0
lea rdx, [rsi + 0x440]
lea rcx, [rsp + 0x58]
call fcn.1400042e0
mov rbx, rax
mov qword [rsp + 0x40], rax
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140031b44
mov r8, qword [rax]
mov r9d, 4
lea rdx, str._lastCalculatedBaseSpeedExplained
mov rcx, rdi
call fcn.140007060
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140031b94
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140031b8f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400328b3
mov rcx, r8
call fcn.1400411f0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbx], 0
mov r9d, 4
lea r8, str.TaleWorlds.CampaignSystem.ExplainedNumber
lea rdx, str._BaseNumber_k__BackingField
mov rcx, rdi
call fcn.140007060
movabs r12, 0x7ff7e2200400
lea rcx, [rsi + 0xf8]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0x10000
xor r8d, r8d
mov rdx, rdi
call fcn.14003d420
test al, al
jne 0x140032565
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov ecx, 0x150
call fcn.140041224
mov rbx, rax
mov qword [rbp - 8], rax
mov qword [rbp + 8], 0x148
mov r13d, 0x14f
mov qword [rbp + 0x10], r13
mov rcx, rax
lea rax, str.50_48_A1_00_04_20_E2_F7_7F_00_00_48_39_F0_B8__pureSpeed_0F_85_1F_00_00_00_83_3D_E0_01_00_00_00_0F_84_41_00_00_00_D9_04_30_D8_0D_D1_01_00_00_D9_5C_30_04_E9_2F_00_00_00_83_3D_C5_01_00_00_01_0F_85_0D_00_00_00_C7_44_30_04_BD_F3_B8_3E_E9_15_00_00_00_81_7C_30_04_BD_F3_B8_3E_0F_85_07_00_00_00_D9_04_30_D9_5C_30_04_58_48_83_BE__army_00
mov edx, 2
nop dword [rax]
nop dword [rax + rax]
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
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140031c40
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
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov byte [rbx + 0x148], dl
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
lea ecx, [rdx + 0x20]
call fcn.140041224
mov r15, rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x28], SafeArrayGetElement
mov qword [rbp + 0x30], 0x1f
movups xmm0, xmmword [str.48_83_BE__army_00]
movups xmmword [rax], xmm0
movzx eax, byte [0x14007d948]
mov byte [r15 + 0x10], al
mov byte [r15 + 0x11], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov ecx, 0x30
call fcn.140041224
mov r14, rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], 0x25
mov r12d, 0x2f
mov qword [rbp - 0x10], r12
movups xmm0, xmmword [str.48_83_BE__army_00_75__83____00_00]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14007db70]
movups xmmword [rax + 0x10], xmm1
mov eax, dword [0x14007db80]
mov dword [r14 + 0x20], eax
movzx eax, byte [0x14007db84]
mov byte [r14 + 0x24], al
mov byte [r14 + 0x25], 0
xor eax, eax
mov dword [rdi], eax
cmp dword [rdi + 4], 2
je 0x140031d64
mov dword [rdi + 4], eax
lea rcx, [rdi + 0x68]
lea rax, [rbp - 0x28]
cmp rcx, rax
je 0x140031d87
mov r8d, 0x25
mov rdx, r14
call fcn.140004400
mov r12, qword [rbp - 0x10]
mov r14, qword [rbp - 0x28]
lea rcx, [rdi + 0x88]
lea rax, [rbp + 0x18]
cmp rcx, rax
je 0x140031da9
mov r8d, 0x11
mov rdx, r15
call fcn.140004400
mov r15, qword [rbp + 0x18]
lea rcx, [rdi + 0xa8]
lea rax, [rbp - 8]
cmp rcx, rax
je 0x140031dcf
mov r8d, 0x148
mov rdx, rbx
call fcn.140004400
mov r13, qword [rbp + 0x10]
mov rbx, qword [rbp - 8]
cmp r12, 0xf
jbe 0x140031e08
lea rdx, [r12 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x140031dff
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328a1
mov rcx, r14
call fcn.1400411f0
nop
mov rdx, qword [rbp + 0x30]
cmp rdx, 0xf
jbe 0x140031e43
inc rdx
mov rax, r15
cmp rdx, 0x1000
jb 0x140031e3a
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328b9
mov rcx, r15
call fcn.1400411f0
nop
cmp r13, 0xf
jbe 0x140031e7a
lea rdx, [r13 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140031e72
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328e3
mov rcx, rbx
call fcn.1400411f0
lea rdx, [rsi + 0x440]
lea rcx, [rsp + 0x58]
call fcn.1400042e0
mov rbx, rax
mov qword [rsp + 0x40], rax
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140031ea0
mov r8, qword [rax]
mov r9d, 4
lea rdx, str._army
mov rcx, rdi
call fcn.140007060
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140031ef0
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140031eeb
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400328c5
mov rcx, r8
call fcn.1400411f0
xor r15d, r15d
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbx], r15b
lea rdx, [rsi + 0x440]
lea rcx, [rsp + 0x58]
call fcn.1400042e0
mov rbx, rax
mov qword [rsp + 0x40], rax
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140031f28
mov r8, qword [rax]
mov r9d, 4
lea rdx, str._pureSpeed
mov rcx, rdi
call fcn.140007060
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140031f78
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140031f73
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400328cb
mov rcx, r8
call fcn.1400411f0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbx], 0
movabs r12, 0x7ff7e2200400
lea rcx, [rsi + 0xf8]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0x10000
xor r8d, r8d
mov rdx, rdi
call fcn.14003d420
test al, al
jne 0x140032565
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov ecx, 0xb0
call fcn.140041224
mov r15, rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x68], 0xa1
mov qword [rbp + 0x70], 0xaf
lea rax, [0x140000000]
lea rax, [rax + 0x7dba0]
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r15 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r15 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r15 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r15 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r15 + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r15 + 0x70], xmm1
movups xmm0, xmmword [rax + 0x80]
movups xmmword [r15 + 0x80], xmm0
movups xmm1, xmmword [rax + 0x90]
movups xmmword [r15 + 0x90], xmm1
movzx eax, byte [rax + 0xa0]
mov byte [r15 + 0xa0], al
mov byte [r15 + 0xa1], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
mov ecx, 0x20
call fcn.140041224
mov r14, rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x48], SafeArrayGetElement
mov r12d, 0x1f
mov qword [rbp + 0x50], r12
movups xmm0, xmmword [str.4C_8B_C6_48_8B_01]
movups xmmword [rax], xmm0
movzx eax, byte [0x14007dc58]
mov byte [r14 + 0x10], al
mov byte [r14 + 0x11], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
lea ecx, [r12 + 0x11]
call fcn.140041224
mov rbx, rax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x110], 0x21
mov r13d, 0x2f
mov qword [rbp + 0x118], r13
movups xmm0, xmmword [str.4C_8B_C6_48_8B_01_48_8B___FF_50]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14007dc70]
movups xmmword [rax + 0x10], xmm1
movzx eax, byte [0x14007dc80]
mov byte [rbx + 0x20], al
mov byte [rbx + 0x21], 0
xor eax, eax
mov dword [rdi], eax
cmp dword [rdi + 4], 2
je 0x14003211d
mov dword [rdi + 4], eax
lea rcx, [rdi + 0x68]
lea rax, [rbp + 0x100]
cmp rcx, rax
je 0x140032149
mov r8d, 0x21
mov rdx, rbx
call fcn.140004400
mov r13, qword [rbp + 0x118]
mov rbx, qword [rbp + 0x100]
lea rcx, [rdi + 0x88]
lea rax, [rbp + 0x38]
cmp rcx, rax
je 0x14003216f
mov r8d, 0x11
mov rdx, r14
call fcn.140004400
mov r12, qword [rbp + 0x50]
mov r14, qword [rbp + 0x38]
lea rcx, [rdi + 0xa8]
lea rax, [rbp + 0x58]
cmp rcx, rax
je 0x140032191
mov r8d, 0xa1
mov rdx, r15
call fcn.140004400
mov r15, qword [rbp + 0x58]
cmp r13, 0xf
jbe 0x1400321c9
lea rdx, [r13 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400321c0
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328bf
mov rcx, rbx
call fcn.1400411f0
nop
cmp r12, 0xf
jbe 0x140032202
lea rdx, [r12 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400321f9
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328d1
mov rcx, r14
call fcn.1400411f0
nop
mov rdx, qword [rbp + 0x70]
cmp rdx, 0xf
jbe 0x14003223c
inc rdx
mov rax, r15
cmp rdx, 0x1000
jb 0x140032234
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328e3
mov rcx, r15
call fcn.1400411f0
movabs r12, 0x7ff927840400
lea rcx, [rsi + 0xf8]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0x10000
xor r8d, r8d
mov rdx, rdi
call fcn.14003d420
test al, al
jne 0x140032562
xorps xmm0, xmm0
movups xmmword [rbp + 0xb8], xmm0
mov ecx, 0xb0
call fcn.140041224
mov r15, rax
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc8], 0xa1
mov r13d, 0xaf
mov qword [rbp + 0xd0], r13
lea rax, [0x140000000]
lea rax, [rax + 0x7dc90]
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r15 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r15 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r15 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r15 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r15 + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r15 + 0x70], xmm1
movups xmm0, xmmword [rax + 0x80]
movups xmmword [r15 + 0x80], xmm0
movups xmm1, xmmword [rax + 0x90]
movups xmmword [r15 + 0x90], xmm1
movzx eax, byte [rax + 0xa0]
mov byte [r15 + 0xa0], al
mov byte [r15 + 0xa1], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
mov ecx, 0x20
call fcn.140041224
mov r14, rax
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa8], SafeArrayGetElement
mov qword [rbp + 0xb0], 0x1f
movups xmm0, xmmword [str.48_8B_D6_45_33_C9]
movups xmmword [rax], xmm0
movzx eax, byte [0x14007dd48]
mov byte [r14 + 0x10], al
mov byte [r14 + 0x11], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x78], xmm0
lea ecx, [r13 - 0x7f]
call fcn.140041224
mov rbx, rax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x88], 0x29
mov qword [rbp + 0x90], 0x2f
movups xmm0, xmmword [str.48_8B_D6_45_33_C9_48_8B__48_8B___FF_50]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14007dd60]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14007dd70]
movsd qword [rax + 0x20], xmm0
movzx eax, byte [0x14007dd78]
mov byte [rbx + 0x28], al
mov byte [rbx + 0x29], 0
xor eax, eax
mov dword [rdi], eax
cmp dword [rdi + 4], 2
je 0x1400323ee
mov dword [rdi + 4], eax
lea rcx, [rdi + 0x68]
lea rax, [rbp + 0x78]
cmp rcx, rax
je 0x140032419
mov r8d, 0x29
mov rdx, rbx
call fcn.140004400
mov rax, qword [rbp + 0x90]
mov qword [rsp + 0x48], rax
mov rbx, qword [rbp + 0x78]
lea rcx, [rdi + 0x88]
lea rax, [rbp + 0x98]
cmp rcx, rax
je 0x14003244d
mov r8d, 0x11
mov rdx, r14
call fcn.140004400
mov rax, qword [rbp + 0xb0]
mov qword [rsp + 0x50], rax
mov r14, qword [rbp + 0x98]
lea rcx, [rdi + 0xa8]
lea rax, [rbp + 0xb8]
cmp rcx, rax
je 0x14003247c
mov r8d, 0xa1
mov rdx, r15
call fcn.140004400
mov r13, qword [rbp + 0xd0]
mov r15, qword [rbp + 0xb8]
mov rax, qword [rsp + 0x48]
cmp rax, 0xf
jbe 0x1400324b9
lea rdx, [rax + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400324b0
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328d7
mov rcx, rbx
call fcn.1400411f0
nop
mov rax, qword [rsp + 0x50]
cmp rax, 0xf
jbe 0x1400324f6
lea rdx, [rax + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400324ed
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328dd
mov rcx, r14
call fcn.1400411f0
nop
cmp r13, 0xf
jbe 0x14003252d
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140032525
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328e3
mov rcx, r15
call fcn.1400411f0
lea rcx, [rsi + 0xf8]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0x10000
mov r8b, 1
mov rdx, rdi
call fcn.14003d420
test al, al
jne 0x140032562
xor bl, bl
jmp 0x14003281e
xor r15d, r15d
lea rcx, [rsi + 0xf8]
mov r8d, 0x800
mov rdx, qword [rdi + 0x10]
call fcn.14003ccf0
mov qword [rdi + 0x18], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movdqa xmm1, xmmword [0x14007eb20]
movdqu xmmword [rsp + 0x68], xmm1
movsd xmm0, qword [str.iMobileParty]
movsd qword [rsp + 0x58], xmm0
mov eax, dword [0x14007d368]
mov dword [rsp + 0x60], eax
mov byte [rsp + 0x64], 0
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.140037c70
mov r9, qword [rax + 0x18]
add r9, 0x400
lea rdx, [rdi + 0xa8]
mov r8, r12
call fcn.1400079c0
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x140032617
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032612
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328e9
call fcn.1400411f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movdqu xmmword [rsp + 0x68], xmm1
mov r12d, 0x3843
mov word [rsp + 0x58], r12w
mov byte [rsp + 0x5a], 0
mov rbx, qword [rdi + 0x18]
add rbx, 0x200
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.140037c70
mov qword [rax + 0x10], rbx
mov r14d, 1
mov dword [rax + 0x3c], r14d
mov ecx, dword [rax + 0x4c]
mov edx, r14d
cmp ecx, 0x7fffffff
je 0x14003267b
cmp ecx, edx
jge 0x14003267b
mov dword [rax + 0x3c], ecx
mov edx, ecx
mov r8d, dword [rax + 0x50]
cmp r8d, 0x80000000
je 0x140032690
cmp edx, ecx
jge 0x140032690
mov dword [rax + 0x3c], r8d
mov dword [rax + 0x40], r15d
mov byte [rax + 0x60], r14b
mov byte [rax + 0x5e], 0
mov dword [rax], 2
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x1400326df
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400326da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328ef
call fcn.1400411f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movdqu xmmword [rsp + 0x68], xmm1
mov word [rsp + 0x58], r12w
mov byte [rsp + 0x5a], 0
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.140037c70
mov dword [rax + 8], 2
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x140032751
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003274c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328f5
call fcn.1400411f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movdqu xmmword [rsp + 0x68], xmm1
mov eax, 0x3943
mov word [rsp + 0x58], ax
mov byte [rsp + 0x5a], 0
mov rbx, qword [rdi + 0x18]
add rbx, 0x204
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.140037c70
mov qword [rax + 0x10], rbx
mov dword [rax + 0x3c], r14d
mov ecx, dword [rax + 0x4c]
cmp ecx, 0x7fffffff
je 0x1400327ac
cmp ecx, 1
jge 0x1400327ac
mov dword [rax + 0x3c], ecx
mov r14d, ecx
mov edx, dword [rax + 0x50]
cmp edx, 0x80000000
je 0x1400327bf
cmp r14d, ecx
jge 0x1400327bf
mov dword [rax + 0x3c], edx
mov dword [rax + 0x40], r15d
mov byte [rax + 0x60], 1
mov byte [rax + 0x5e], 0
mov dword [rax], 2
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x14003280e
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032809
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400328fb
call fcn.1400411f0
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.140033200
movzx ebx, al
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x140032856
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032851
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032889
call fcn.1400411f0
movzx eax, bl
mov rcx, qword [rbp + 0x128]
xor rcx, rsp
call fcn.1400411d0
lea r11, [rsp + 0x230]
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.140047ff4
nop
call fcn.140001300
nop
call fcn.140047ff4
nop
call fcn.140047ff4
nop
call fcn.140047ff4
nop
call fcn.140047ff4
int3
call fcn.140047ff4
int3
call fcn.140047ff4
nop
call fcn.140047ff4
nop
call fcn.140047ff4
nop
call fcn.140047ff4
int3
call fcn.140047ff4
nop
call fcn.140047ff4
nop
call fcn.140047ff4
nop
call fcn.140047ff4
nop
call fcn.140047ff4
int3
call fcn.140047ff4
int3
call fcn.140047ff4
int3
call fcn.140047ff4
int3
call fcn.140047ff4
int3