Function at 0x1800011f0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rcx, qword [0x180061788]
test rcx, rcx
je 0x18000127a
lea rdx, str.OverlayHookD3D3
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x180061078]
lea rbx, [0x180061078]
mov r10, rax
xor r11d, r11d
xor r8d, r8d
cmp byte [r10], cl
jne 0x18000124c
mov r9, r10
sub r9, rbx
inc r8
cmp r8, 4
je 0x18000125e
movzx eax, byte [r8 + rbx]
lea rdx, [r8 + rbx]
cmp byte [rdx + r9], al
je 0x180001234
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x180001226
xor r10d, r10d
movsxd rax, dword [0x18006101c]
lea rcx, [r10 - 5]
add rax, rcx
mov qword [0x1800615e0], rcx
mov qword [0x1800616b0], rax
mov rcx, qword [0x1800617a0]
lea rdx, str._GetMainPlayer_GameEngine_GAME__QEBAPEAVPlayer_2_XZ
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx ebx, byte [0x18006107c]
lea rdi, [0x18006107c]
mov r10, rax
mov r9, rax
xor r11d, r11d
xor edx, edx
cmp byte [r9], bl
jne 0x1800012c9
mov r8, r9
sub r8, rdi
inc rdx
cmp rdx, 6
je 0x1800012db
movzx eax, byte [rdx + rdi]
lea rcx, [rdx + rdi]
cmp byte [rcx + r8], al
je 0x1800012b2
inc r11d
inc r9
cmp r11d, 0x1000000
jb 0x1800012a5
xor r9d, r9d
movsxd rax, dword [0x180061020]
lea rbx, [0x180061084]
movzx r11d, byte [0x180061084]
add rax, r9
mov qword [0x1800615e8], r9
xor r9d, r9d
mov qword [0x1800616b8], rax
xor edx, edx
cmp byte [r10], r11b
jne 0x180001329
mov r8, r10
sub r8, rbx
inc rdx
cmp rdx, 6
je 0x18000133b
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001312
inc r9d
inc r10
cmp r9d, 0x1000000
jb 0x180001305
xor r10d, r10d
movsxd rax, dword [0x180061024]
lea rdx, str._SetIgnoreItemSkillCache_Item_GAME__QEAAX_N_Z
mov rcx, qword [0x1800617a0]
add rax, r10
mov qword [0x1800616c0], rax
mov qword [0x1800615f0], r10
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x18006108c]
lea rbx, [0x18006108c]
mov r9, rax
xor r10d, r10d
nop dword [rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800013a7
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 6
je 0x1800013b9
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001390
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001380
xor r9d, r9d
movsxd rax, dword [0x180061028]
lea rdx, str._AddExperience_Skill_GAME__UEAAXI_Z
mov rcx, qword [0x1800617a0]
add rax, r9
mov qword [0x1800616c8], rax
mov qword [0x1800615f8], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x180061094]
lea rbx, [0x180061094]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x180001427
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 6
je 0x180001439
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001410
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001400
xor r9d, r9d
movsxd rax, dword [0x18006102c]
lea rdx, str._FactionClamp_FactionPack_GAME__IEBAMM_Z
mov rcx, qword [0x1800617a0]
add rax, r9
mov qword [0x1800616d0], rax
mov qword [0x180061600], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x18006109c]
lea rbx, [0x18006109c]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800014a7
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 6
je 0x1800014b9
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001490
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001480
xor r9d, r9d
movsxd rax, dword [0x180061030]
lea rdx, str._TakeBonus_Character_GAME__UEAAXAEBVBonus_2__NW4PlayStatsLifeType_2__Z
mov rcx, qword [0x1800617a0]
add rax, r9
mov qword [0x1800616d8], rax
mov qword [0x180061608], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800610a4]
lea rbx, [0x1800610a4]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x180001527
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x180001539
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001510
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001500
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 [0x1800617a0]
add rax, r9
mov qword [0x1800616e0], rax
mov qword [0x180061610], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800610ac]
lea rbx, [0x1800610ac]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800015a7
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x1800015b9
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001590
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001580
xor r9d, r9d
movsxd rax, dword [0x180061038]
lea rdx, str._CapAttackSpeed_Player_GAME__UEBAMM_Z
mov rcx, qword [0x1800617a0]
add rax, r9
mov qword [0x1800616e8], rax
mov qword [0x180061618], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800610b4]
lea rbx, [0x1800610b4]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x180001627
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x180001639
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001610
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001600
xor r9d, r9d
movsxd rax, dword [0x18006103c]
lea rdx, str._CapSpellCastSpeed_Player_GAME__UEBAMM_Z
mov rcx, qword [0x1800617a0]
add rax, r9
mov qword [0x1800616f0], rax
mov qword [0x180061620], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800610bc]
lea rbx, [0x1800610bc]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x1800016a7
mov r8, r9
sub r8, rbx
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x1800016b9
movzx eax, byte [rdx + rbx]
lea rcx, [rdx + rbx]
cmp byte [rcx + r8], al
je 0x180001690
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001680
xor r9d, r9d
movsxd rax, dword [0x180061040]
lea rdx, str._SubtractLife_Character_GAME__QEAAXMAEBUPlayStatsDamageType_2__N_N_Z
mov rcx, qword [0x1800617a0]
add rax, r9
mov qword [0x1800616f8], rax
mov qword [0x180061628], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800610c8]
lea rdi, [0x1800610c8]
mov rbx, rax
mov r10, rax
xor r11d, r11d
nop dword [rax]
xor r8d, r8d
cmp byte [r10], cl
jne 0x180001728
mov r9, r10
sub r9, rdi
nop
inc r8
cmp r8, 8
je 0x18000173a
movzx eax, byte [r8 + rdi]
lea rdx, [r8 + rdi]
cmp byte [rdx + r9], al
je 0x180001710
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x180001700
xor r10d, r10d
movsxd rax, dword [0x180061044]
lea rdi, [0x1800610d0]
movzx r11d, byte [0x1800610d0]
add rax, r10
mov qword [0x180061630], r10
mov r9, rbx
mov qword [0x180061700], rax
xor r10d, r10d
xor edx, edx
cmp byte [r9], r11b
jne 0x18000178b
mov r8, r9
sub r8, rdi
inc rdx
cmp rdx, 9
je 0x18000179d
movzx eax, byte [rdx + rdi]
lea rcx, [rdx + rdi]
cmp byte [rcx + r8], al
je 0x180001774
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001767
xor r9d, r9d
movsxd rax, dword [0x180061048]
lea rdx, str._SubtractMana_SkillManager_GAME__UEAAXM_Z
mov rcx, qword [0x1800617a0]
add rax, r9
mov qword [0x180061708], rax
mov qword [0x180061638], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800610e8]
lea rdi, [0x1800610e8]
mov r10, rax
xor r11d, r11d
nop dword [rax]
xor r8d, r8d
cmp byte [r10], cl
jne 0x180001808
mov r9, r10
sub r9, rdi
nop
inc r8
cmp r8, 8
je 0x18000181a
movzx eax, byte [r8 + rdi]
lea rdx, [r8 + rdi]
cmp byte [rdx + r9], al
je 0x1800017f0
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x1800017e0
xor r10d, r10d
movsxd rax, dword [0x18006104c]
lea rdx, str._StartCooldown_Skill_GAME__QEAAX_N_Z
mov rcx, qword [0x1800617a0]
add rax, r10
mov qword [0x180061710], rax
mov qword [0x180061640], r10
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800610dc]
lea rdi, [0x1800610dc]
mov r9, rax
xor r10d, r10d
nop dword [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x180001887
mov r8, r9
sub r8, rdi
nop dword [rax]
inc rdx
cmp rdx, 7
je 0x180001899
movzx eax, byte [rdx + rdi]
lea rcx, [rdx + rdi]
cmp byte [rcx + r8], al
je 0x180001870
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001860
xor r9d, r9d
movsxd rax, dword [0x180061050]
lea rdx, str._TakeItemFromCharacter_Character_GAME__QEAAHIH_N00_Z
mov rcx, qword [0x1800617a0]
add rax, r9
mov qword [0x180061718], rax
mov qword [0x180061648], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx ecx, word [0x1800610c4]
lea rdi, [0x1800610c4]
mov r10, rax
xor r11d, r11d
nop dword [rax]
xor r8d, r8d
cmp byte [r10], cl
jne 0x180001908
mov r9, r10
sub r9, rdi
nop
inc r8
cmp r8, 2
je 0x18000191a
movzx eax, byte [r8 + rdi]
lea rdx, [r8 + rdi]
cmp byte [r9 + rdx], al
je 0x1800018f0
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x1800018e0
xor r10d, r10d
mov rcx, qword [0x1800617a0]
lea rdx, str._TakeItemFromPrivateStash_Player_GAME__QEAAHIH_N00_Z
mov qword [0x180061720], r10
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800610e4]
lea rdi, [0x1800610e4]
mov r9, rax
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp byte [r9], r11b
jne 0x180001977
mov r8, r9
sub r8, rdi
nop dword [rax]
inc rdx
cmp rdx, 3
je 0x180001989
movzx eax, byte [rdx + rdi]
lea rcx, [rdx + rdi]
cmp byte [r8 + rcx], al
je 0x180001960
inc r10d
inc r9
cmp r10d, 0x1000000
jb 0x180001950
xor r9d, r9d
mov rcx, qword [0x1800617a0]
lea rdx, str._TakeItemFromTransfer_GameEngine_GAME__QEAAHIH_N00_Z
mov qword [0x180061728], r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800610f0]
lea rdi, [0x180000000]
mov rdx, rax
xor r10d, r10d
neg rdx
mov r8, rax
nop
cmp byte [r8], r11b
jne 0x1800019e9
lea r9, [rdi + 0x610f0]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 3
je 0x1800019fe
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x1800019d2
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x1800019c0
xor r8d, r8d
mov rcx, qword [0x1800617a0]
lea rdx, str._GetStackSize_Item_GAME__UEBAIXZ
mov qword [0x180061730], r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800610f4]
xor r10d, r10d
mov rdx, rax
mov r8, rax
neg rdx
nop dword [rax]
cmp byte [r8], r11b
jne 0x180001a59
lea r9, [rdi + 0x610f4]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rcx + rdx]
cmp rax, 6
je 0x180001a6e
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001a42
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x180001a30
xor r8d, r8d
movsxd rax, dword [0x180061054]
lea rdx, str._DecrementStack_ItemTransmuterSet_GAME__UEAA_NI_Z
mov rcx, qword [0x1800617a0]
add rax, r8
mov qword [0x180061738], rax
mov qword [0x180061650], r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x1800610fc]
xor r10d, r10d
mov rdx, rax
mov r8, rax
neg rdx
nop
cmp byte [r8], r11b
jne 0x180001ad9
lea r9, [rdi + 0x610fc]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 6
je 0x180001aee
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001ac2
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x180001ab0
xor r8d, r8d
movsxd rax, dword [0x180061058]
lea rdx, str._UseItem_PlayerInventoryCtrl_GAME__QEAAXIW4ItemSource_2__Z
mov rcx, qword [0x1800617a0]
add rax, r8
mov qword [0x180061740], rax
mov qword [0x180061658], r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx r11d, byte [0x180061108]
xor r10d, r10d
mov rdx, rax
mov r8, rax
neg rdx
nop
cmp byte [r8], r11b
jne 0x180001b59
lea r9, [rdi + 0x61108]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 8
je 0x180001b6e
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001b42
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x180001b30
xor r8d, r8d
movsxd rax, dword [0x18006105c]
xor r10d, r10d
mov rdx, qword [0x180061798]
add rax, r8
movzx r11d, byte [0x180061110]
mov qword [0x180061660], r8
mov r8, rdx
neg r8
mov qword [0x180061748], rax
nop
cmp byte [rdx], r11b
jne 0x180001bc9
lea r9, [rdi + 0x61110]
mov rcx, rdx
add r9, r8
lea rcx, [rcx + 1]
lea rax, [r8 + rcx]
cmp rax, 8
je 0x180001bdd
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001bb2
inc r10d
inc rdx
dec r8
cmp r10d, 0x1000000
jb 0x180001ba0
xor edx, edx
movzx r11d, byte [0x180061104]
xor r10d, r10d
mov r8, rdx
mov qword [0x180061668], rdx
neg r8
cmp byte [rdx], r11b
jne 0x180001c27
lea r9, [rdi + 0x61104]
mov rcx, rdx
add r9, r8
nop word [rax + rax]
lea rcx, [rcx + 1]
lea rax, [r8 + rcx]
cmp rax, 3
je 0x180001c3b
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001c10
inc r10d
inc rdx
dec r8
cmp r10d, 0x1000000
jb 0x180001bf5
xor edx, edx
mov rcx, qword [0x1800617a0]
mov qword [0x180061670], 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 [0x180061118]
xor r10d, r10d
mov rdx, rax
mov r8, rax
neg rdx
nop word [rax + rax]
cmp byte [r8], r11b
jne 0x180001c99
lea r9, [rdi + 0x61118]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 2
je 0x180001cae
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001c82
inc r10d
inc r8
dec rdx
cmp r10d, 0x1000000
jb 0x180001c70
xor r8d, r8d
mov rax, qword [0x180061790]
xor r9d, r9d
movzx r10d, byte [0x180061120]
add rax, 0x4227a4
mov rdx, rbx
mov qword [0x180061680], rax
neg rdx
mov qword [0x180061678], r8
nop word [rax + rax]
cmp byte [rbx], r10b
jne 0x180001d09
lea r8, [rdi + 0x61120]
mov rcx, rbx
add r8, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 8
je 0x180001d1d
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
je 0x180001cf2
inc r9d
inc rbx
dec rdx
cmp r9d, 0x1000000
jb 0x180001ce0
xor ebx, ebx
movsxd rax, dword [0x18006106c]
lea rdx, str._gGameEngine_GAME__3PEAVGameEngine_1_EA
mov rcx, qword [0x1800617a0]
add rax, rbx
mov qword [0x180061750], rax
mov qword [0x180061688], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800617a0]
lea rdx, str._InitiatePlayerTeleport_GameEngine_GAME__QEAAXHHHW4TeleportEffect_2__N_Z
mov qword [0x180061690], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180061790]
lea rdx, str._GetWorldPosition_WorldVec3_GAME__QEBA_AVVec3_2_XZ
mov qword [0x180061758], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800617a0]
lea rdx, str._LoadPlayerTransfer_GameEngine_GAME__QEAAXXZ
mov qword [0x180061760], rax
lea rax, [rcx + 0x543398]
mov qword [0x180061698], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx ebx, byte [0x180061128]
xor r11d, r11d
mov rdx, rax
mov r10, rax
neg rdx
mov r8, rax
nop
cmp byte [r8], bl
jne 0x180001de9
lea r9, [rdi + 0x61128]
mov rcx, r8
add r9, rdx
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, 8
je 0x180001dfe
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
je 0x180001dd2
inc r11d
inc r8
dec rdx
cmp r11d, 0x1000000
jb 0x180001dc0
xor r8d, r8d
movsxd rax, dword [0x180061070]
lea rbx, [0x180061130]
add rax, r8
mov qword [0x1800616a0], r8
mov qword [0x180061768], rax
xor r11d, r11d
mov rax, qword [0x180061130]
xor r8d, r8d
cmp byte [r10], al
jne 0x180001e4d
mov r9, r10
sub r9, rbx
inc r8
cmp r8, 8
je 0x180001e5f
movzx ecx, byte [r8 + rbx]
lea rdx, [r8 + rbx]
cmp byte [r9 + rdx], cl
je 0x180001e35
inc r11d
inc r10
cmp r11d, 0x1000000
jb 0x180001e27
xor r10d, r10d
movsxd rcx, dword [0x180061074]
lea rdx, str._AddTransferSack_GameEngine_GAME__QEAA_NXZ
movsxd rax, dword [0x180061134]
add rcx, r10
add rax, rcx
mov qword [0x180061770], rcx
mov rcx, qword [0x1800617a0]
mov qword [0x180061778], rax
mov qword [0x1800616a8], r10
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, qword [rsp + 0x30]
mov qword [0x180061780], rax
add rsp, 0x20
pop rdi
ret