Function at 0x180001230
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rcx, qword [0x180112a88]
test rcx, rcx
je 0x1800012ba
lea rdx, str.OverlayHookD3D3
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x180062078]
lea rbx, [0x180062078]
mov r10, rax
xor r11d, r11d
xor r8d, r8d
cmp byte [r10], cl
jne 0x18000128c
mov r9, r10
sub r9, rbx
inc r8
cmp r8, 4
je 0x18000129e
movzx eax, byte [r8 + rbx]
lea rdx, [r8 + rbx]
cmp byte [rdx + r9], al
je 0x180001274
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x180001266
xor r10d, r10d
movsxd rax, dword [0x18006201c]
lea rcx, [r10 - 5]
add rax, rcx
mov qword [0x1801128e0], rcx
mov qword [0x1801129b0], rax
mov rcx, qword [0x180112aa0]
lea rdx, str._GetMainPlayer_GameEngine_GAME__QEBAPEAVPlayer_2_XZ
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx ebx, byte [0x18006207c]
lea rdi, [0x18006207c]
mov r10, rax
mov r9, rax
xor r11d, r11d
xor edx, edx
cmp byte [r9], bl
jne 0x180001309
mov r8, r9
sub r8, rdi
inc rdx
cmp rdx, 6
je 0x18000131b
movzx eax, byte [rdx + rdi]
lea rcx, [rdx + rdi]
cmp byte [rcx + r8], al
je 0x1800012f2
inc r11d
inc r9
cmp r11d, 0x1000000
jb 0x1800012e5
xor r9d, r9d
movsxd rax, dword [0x180062020]
lea rbx, [0x180062084]
movzx r11d, byte [0x180062084]
add rax, r9
mov qword [0x1801128e8], r9
xor r9d, r9d
mov qword [0x1801129b8], rax
xor edx, edx
cmp byte [r10], r11b
jne 0x180001369
mov r8, r10
sub r8, rbx
inc rdx
cmp rdx, 6
je 0x18000137b
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001352
inc r9d
inc r10
cmp r9d, 0x1000000
jb 0x180001345
xor r10d, r10d
movsxd rax, dword [0x180062024]
lea rdx, str._SetIgnoreItemSkillCache_Item_GAME__QEAAX_N_Z
mov rcx, qword [0x180112aa0]
add rax, r10
mov qword [0x1801129c0], rax
mov qword [0x1801128f0], r10
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x18006208c]
lea rbx, [0x18006208c]
mov r9, rax
xor r10d, r10d
nop dword [rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800013e7
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 6
je 0x1800013f9
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x1800013d0
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x1800013c0
xor r9d, r9d
movsxd rax, dword [0x180062028]
lea rdx, str._AddExperience_Skill_GAME__UEAAXI_Z
mov rcx, qword [0x180112aa0]
add rax, r9
mov qword [0x1801129c8], rax
mov qword [0x1801128f8], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x180062094]
lea rbx, [0x180062094]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x180001467
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 6
je 0x180001479
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001450
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001440
xor r9d, r9d
movsxd rax, dword [0x18006202c]
lea rdx, str._FactionClamp_FactionPack_GAME__IEBAMM_Z
mov rcx, qword [0x180112aa0]
add rax, r9
mov qword [0x1801129d0], rax
mov qword [0x180112900], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x18006209c]
lea rbx, [0x18006209c]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800014e7
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 6
je 0x1800014f9
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x1800014d0
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x1800014c0
xor r9d, r9d
movsxd rax, dword [0x180062030]
lea rdx, str._TakeBonus_Character_GAME__UEAAXAEBVBonus_2__NW4PlayStatsLifeType_2__Z
mov rcx, qword [0x180112aa0]
add rax, r9
mov qword [0x1801129d8], rax
mov qword [0x180112908], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800620a4]
lea rbx, [0x1800620a4]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x180001567
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x180001579
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001550
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001540
xor r9d, r9d
movsxd rax, dword [str._a_a_a_a_b_t_b_a]
lea rdx, str._CapRunSpeed_Player_GAME__UEBAMM_Z
mov rcx, qword [0x180112aa0]
add rax, r9
mov qword [0x1801129e0], rax
mov qword [0x180112910], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800620ac]
lea rbx, [0x1800620ac]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800015e7
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x1800015f9
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x1800015d0
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x1800015c0
xor r9d, r9d
movsxd rax, dword [0x180062038]
lea rdx, str._CapAttackSpeed_Player_GAME__UEBAMM_Z
mov rcx, qword [0x180112aa0]
add rax, r9
mov qword [0x1801129e8], rax
mov qword [0x180112918], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800620b4]
lea rbx, [0x1800620b4]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x180001667
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x180001679
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001650
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001640
xor r9d, r9d
movsxd rax, dword [0x18006203c]
lea rdx, str._CapSpellCastSpeed_Player_GAME__UEBAMM_Z
mov rcx, qword [0x180112aa0]
add rax, r9
mov qword [0x1801129f0], rax
mov qword [0x180112920], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800620bc]
lea rbx, [0x1800620bc]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800016e7
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x1800016f9
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x1800016d0
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x1800016c0
xor r9d, r9d
movsxd rax, dword [0x180062040]
lea rdx, str._SubtractLife_Character_GAME__QEAAXMAEBUPlayStatsDamageType_2__N_N_Z
mov rcx, qword [0x180112aa0]
add rax, r9
mov qword [0x1801129f8], rax
mov qword [0x180112928], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800620c8]
lea rdi, [0x1800620c8]
mov rbx, rax
mov r10, rax
xor r11d, r11d
nop dword [rax]
xor r8d, r8d
cmp byte [r10], cl
jne 0x180001768
mov r9, r10
sub r9, rdi
nop
inc r8
cmp r8, 8
je 0x18000177a
movzx eax, byte [r8 + rdi]
lea rdx, [r8 + rdi]
cmp byte [rdx + r9], al
je 0x180001750
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x180001740
xor r10d, r10d
movsxd rax, dword [0x180062044]
lea rdi, [0x1800620d0]
movzx r11d, byte [0x1800620d0]
add rax, r10
mov qword [0x180112930], r10
mov r9, rbx
mov qword [0x180112a00], rax
xor r10d, r10d
xor edx, edx
cmp byte [r9], r11b
jne 0x1800017cb
mov r8, r9
sub r8, rdi
inc rdx
cmp rdx, 9
je 0x1800017dd
movzx eax, byte [rdx + rdi]
lea rcx, [rdx + rdi]
cmp byte [rcx + r8], al
je 0x1800017b4
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x1800017a7
xor r9d, r9d
movsxd rax, dword [0x180062048]
lea rdx, str._SubtractMana_SkillManager_GAME__UEAAXM_Z
mov rcx, qword [0x180112aa0]
add rax, r9
mov qword [0x180112a08], rax
mov qword [0x180112938], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800620e8]
lea rdi, [0x1800620e8]
mov r10, rax
xor r11d, r11d
nop dword [rax]
xor r8d, r8d
cmp byte [r10], cl
jne 0x180001848
mov r9, r10
sub r9, rdi
nop
inc r8
cmp r8, 8
je 0x18000185a
movzx eax, byte [r8 + rdi]
lea rdx, [r8 + rdi]
cmp byte [rdx + r9], al
je 0x180001830
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x180001820
xor r10d, r10d
movsxd rax, dword [0x18006204c]
lea rdx, str._StartCooldown_Skill_GAME__QEAAX_N_Z
mov rcx, qword [0x180112aa0]
add rax, r10
mov qword [0x180112a10], rax
mov qword [0x180112940], r10
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800620dc]
lea rdi, [0x1800620dc]
mov r9, rax
xor r10d, r10d
nop dword [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800018c7
mov r8, r9
sub r8, rdi
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x1800018d9
movzx eax, byte [rdx + rdi]
lea rcx, [rdx + rdi]
cmp byte [rcx + r8], al
je 0x1800018b0
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x1800018a0
xor r9d, r9d
movsxd rax, dword [0x180062050]
lea rdx, str._TakeItemFromCharacter_Character_GAME__QEAAHIH_N00_Z
mov rcx, qword [0x180112aa0]
add rax, r9
mov qword [0x180112a18], rax
mov qword [0x180112948], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx ecx, word [0x1800620c4]
lea rdi, [0x1800620c4]
mov r10, rax
xor r11d, r11d
nop dword [rax]
xor r8d, r8d
cmp byte [r10], cl
jne 0x180001948
mov r9, r10
sub r9, rdi
nop
inc r8
cmp r8, 2
je 0x18000195a
movzx eax, byte [r8 + rdi]
lea rdx, [r8 + rdi]
cmp byte [r9 + rdx], al
je 0x180001930
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x180001920
xor r10d, r10d
mov rcx, qword [0x180112aa0]
lea rdx, str._TakeItemFromPrivateStash_Player_GAME__QEAAHIH_N00_Z
mov qword [0x180112a20], r10
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800620e4]
lea rdi, [0x1800620e4]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800019b7
mov r8, r9
sub r8, rdi
nop dword [rax]
inc rdx
cmp rdx, 3
je 0x1800019c9
movzx eax, byte [rdx + rdi]
lea rcx, [rdx + rdi]
cmp byte [r8 + rcx], al
je 0x1800019a0
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001990
xor r9d, r9d
mov rcx, qword [0x180112aa0]
lea rdx, str._TakeItemFromTransfer_GameEngine_GAME__QEAAHIH_N00_Z
mov qword [0x180112a28], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800620f0]
lea rdi, [0x180000000]
mov rdx, rax
xor r10d, r10d
neg rdx
mov r8, rax
nop
cmp byte [r8], r11b
jne 0x180001a29
lea r9, [rdi + 0x620f0]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 3
je 0x180001a3e
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001a12
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x180001a00
xor r8d, r8d
mov rcx, qword [0x180112aa0]
lea rdx, str._GetStackSize_Item_GAME__UEBAIXZ
mov qword [0x180112a30], r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800620f4]
xor r10d, r10d
mov rdx, rax
mov r8, rax
neg rdx
nop dword [rax]
cmp byte [r8], r11b
jne 0x180001a99
lea r9, [rdi + 0x620f4]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rcx + rdx]
cmp rax, 6
je 0x180001aae
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001a82
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x180001a70
xor r8d, r8d
movsxd rax, dword [0x180062054]
lea rdx, str._DecrementStack_ItemTransmuterSet_GAME__UEAA_NI_Z
mov rcx, qword [0x180112aa0]
add rax, r8
mov qword [0x180112a38], rax
mov qword [0x180112950], r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800620fc]
xor r10d, r10d
mov rdx, rax
mov r8, rax
neg rdx
nop
cmp byte [r8], r11b
jne 0x180001b19
lea r9, [rdi + 0x620fc]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 6
je 0x180001b2e
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001b02
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x180001af0
xor r8d, r8d
movsxd rax, dword [0x180062058]
lea rdx, str._UseItem_PlayerInventoryCtrl_GAME__QEAAXIW4ItemSource_2__Z
mov rcx, qword [0x180112aa0]
add rax, r8
mov qword [0x180112a40], rax
mov qword [0x180112958], r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x180062108]
xor r10d, r10d
mov rdx, rax
mov r8, rax
neg rdx
nop
cmp byte [r8], r11b
jne 0x180001b99
lea r9, [rdi + 0x62108]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 8
je 0x180001bae
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001b82
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x180001b70
xor r8d, r8d
movsxd rax, dword [0x18006205c]
xor r10d, r10d
mov rdx, qword [0x180112a98]
add rax, r8
movzx r11d, byte [0x180062110]
mov qword [0x180112960], r8
mov r8, rdx
neg r8
mov qword [0x180112a48], rax
nop
cmp byte [rdx], r11b
jne 0x180001c09
lea r9, [rdi + 0x62110]
mov rcx, rdx
add r9, r8
lea rcx, [rcx + 1]
lea rax, [r8 + rcx]
cmp rax, 8
je 0x180001c1d
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001bf2
inc r10d
inc rdx
dec r8
cmp r10d, 0x1000000
jb 0x180001be0
xor edx, edx
movzx r11d, byte [0x180062104]
xor r10d, r10d
mov r8, rdx
mov qword [0x180112968], rdx
neg r8
cmp byte [rdx], r11b
jne 0x180001c67
lea r9, [rdi + 0x62104]
mov rcx, rdx
add r9, r8
nop word [rax + rax]
lea rcx, [rcx + 1]
lea rax, [r8 + rcx]
cmp rax, 3
je 0x180001c7b
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001c50
inc r10d
inc rdx
dec r8
cmp r10d, 0x1000000
jb 0x180001c35
xor edx, edx
mov rcx, qword [0x180112aa0]
mov qword [0x180112970], rdx
lea rdx, str._GenerateUISkillText_GameEngine_GAME__SAXPEBVSkill_2_AEAV__vector_UGameTextLine_GAME___mem__PEBUSkillReasons_2__N3HW4GameTextClass_2_3_Z
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x180062118]
xor r10d, r10d
mov rdx, rax
mov r8, rax
neg rdx
nop word [rax + rax]
cmp byte [r8], r11b
jne 0x180001cd9
lea r9, [rdi + 0x62118]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 2
je 0x180001cee
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001cc2
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x180001cb0
xor r8d, r8d
mov rax, qword [0x180112a90]
xor r9d, r9d
movzx r10d, byte [0x180062120]
add rax, 0x422790
mov rdx, rbx
mov qword [0x180112980], rax
neg rdx
mov qword [0x180112978], r8
nop word [rax + rax]
cmp byte [rbx], r10b
jne 0x180001d49
lea r8, [rdi + 0x62120]
mov rcx, rbx
add r8, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 8
je 0x180001d5d
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
je 0x180001d32
inc r9d
inc rbx
dec rdx
cmp r9d, 0x1000000
jb 0x180001d20
xor ebx, ebx
movsxd rax, dword [0x18006206c]
lea rdx, str._gGameEngine_GAME__3PEAVGameEngine_1_EA
mov rcx, qword [0x180112aa0]
add rax, rbx
mov qword [0x180112a50], rax
mov qword [0x180112988], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180112aa0]
lea rdx, str._InitiatePlayerTeleport_GameEngine_GAME__QEAAXHHHW4TeleportEffect_2__N_Z
mov qword [0x180112990], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180112a90]
lea rdx, str._GetWorldPosition_WorldVec3_GAME__QEBA_AVVec3_2_XZ
mov qword [0x180112a58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180112aa0]
lea rdx, str._LoadPlayerTransfer_GameEngine_GAME__QEAAXXZ
mov qword [0x180112a60], rax
lea rax, [rcx + 0x544398]
mov qword [0x180112998], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx ebx, byte [0x180062128]
xor r11d, r11d
mov rdx, rax
mov r10, rax
neg rdx
mov r8, rax
nop
cmp byte [r8], bl
jne 0x180001e29
lea r9, [rdi + 0x62128]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 8
je 0x180001e3e
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001e12
inc r11d
inc r8
dec rdx
cmp r11d, 0x1000000
jb 0x180001e00
xor r8d, r8d
movsxd rax, dword [0x180062070]
lea rbx, [0x180062130]
add rax, r8
mov qword [0x1801129a0], r8
mov qword [0x180112a68], rax
xor r11d, r11d
mov rax, qword [0x180062130]
xor r8d, r8d
cmp byte [r10], al
jne 0x180001e8d
mov r9, r10
sub r9, rbx
inc r8
cmp r8, 8
je 0x180001e9f
movzx ecx, byte [r8 + rbx]
lea rdx, [r8 + rbx]
cmp byte [r9 + rdx], cl
je 0x180001e75
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x180001e67
xor r10d, r10d
movsxd rcx, dword [0x180062074]
lea rdx, str._AddTransferSack_GameEngine_GAME__QEAA_NXZ
movsxd rax, dword [0x180062134]
add rcx, r10
add rax, rcx
mov qword [0x180112a70], rcx
mov rcx, qword [0x180112aa0]
mov qword [0x180112a78], rax
mov qword [0x1801129a8], r10
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, qword [rsp + 0x30]
mov qword [0x180112a80], rax
add rsp, 0x20
pop rdi
ret