Function at 0x140039180
Capabilities:
Create thread
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rdi, rcx
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r14
lea r8d, [r14 + 0x16]
lea rdx, str.FLiNGTrainerNamedPipe_
lea rcx, [rbp - 0x20]
call fcn.140005f40
mov r8d, ebx
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.140031d50
test al, al
je 0x140039703
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r14
lea r8d, [r14 + 0x2b]
lea rdx, str._n0GY
lea rcx, [rbp - 0x20]
call fcn.140005f40
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.140037b70
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], 7
mov qword [rbp - 8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov rax, qword [str.6417515]
mov dword [rbp - 0x20], eax
movzx eax, word [0x1400cc00c]
mov word [rbp - 0x1c], ax
movzx eax, byte [0x1400cc00e]
mov byte [rbp - 0x1a], al
mov byte [rbp - 0x19], r14b
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1400390d0
lea rcx, [rdi + 0x458]
cmp qword [rcx + 0x18], 0x3a0
jb 0x140039288
mov rbx, qword [rcx]
mov qword [rcx + 0x10], 0x3a0
mov r8d, 0x740
lea rdx, [0x1400cc990]
mov rcx, rbx
call fcn.1400a1760
mov word [rbx + 0x740], r14w
jmp 0x140039299
lea r9, [0x1400cc990]
mov edx, 0x3a0
call fcn.140021d40
lea rcx, [rdi + 0x478]
cmp qword [rcx + 0x18], 0x48d
jb 0x1400392d4
mov rbx, qword [rcx]
mov qword [rcx + 0x10], 0x48d
mov r8d, 0x91a
lea rdx, str._n_nNum_1___Edit_Gold_Takes_effect_in_the_next_turn._nNum_2___Edit_Mana_Takes_effect_in_the_next_turn._n_nNote_this_option_does_not_work_in_battle__but_you_can_edit_mana_before_starting_a_battle._nNum_3___Edit_Imperium_Takes_effect_in_the_next_turn._nNum_4___Edit_Soul_Takes_effect_in_the_next_turn._nNum_5___Edit_Thrall_Takes_effect_in_the_next_turn._nNum_6___Edit_Binding_Essence_Takes_effect_in_the_next_turn_or_when_you_open_the_item_forge._nNum_7___Instant_Research_nNum_8___Infinite_Hurry_Production__Recruitments_Activate_before_selecting_products_or_units._nNum_9___Infinite_World_Map_Casting_Points_Takes_effect_in_the_next_turn._nNum_0___Infinite_Combat_Casting_Points_Takes_effect_when_using_spells_in_battle._nNum_.___Player_Units:_Infinite_Health_nNum____Player_Units:_Infinite_Movement_nNum_____AI_Units:_Drain_Health_One_Hit_Kills_Note_this_will_also_drain_player_units_health_at_the_begining_of_the_battle__you_may_need_to_use__Player_Units:_Infinite_Health__option_to_restore_player_units_health._n_nCtrlNum_1___Infinite_Skill_Points_nCtrlNum_2___Max_Empire_Development_Affinity_Takes_effect_in_the_next_turn._nCtrlNum_3___Set_Game_Speed_n_n
mov rcx, rbx
call fcn.1400a1760
mov word [rbx + 0x91a], r14w
jmp 0x1400392e5
lea r9, str._n_nNum_1___Edit_Gold_Takes_effect_in_the_next_turn._nNum_2___Edit_Mana_Takes_effect_in_the_next_turn._n_nNote_this_option_does_not_work_in_battle__but_you_can_edit_mana_before_starting_a_battle._nNum_3___Edit_Imperium_Takes_effect_in_the_next_turn._nNum_4___Edit_Soul_Takes_effect_in_the_next_turn._nNum_5___Edit_Thrall_Takes_effect_in_the_next_turn._nNum_6___Edit_Binding_Essence_Takes_effect_in_the_next_turn_or_when_you_open_the_item_forge._nNum_7___Instant_Research_nNum_8___Infinite_Hurry_Production__Recruitments_Activate_before_selecting_products_or_units._nNum_9___Infinite_World_Map_Casting_Points_Takes_effect_in_the_next_turn._nNum_0___Infinite_Combat_Casting_Points_Takes_effect_when_using_spells_in_battle._nNum_.___Player_Units:_Infinite_Health_nNum____Player_Units:_Infinite_Movement_nNum_____AI_Units:_Drain_Health_One_Hit_Kills_Note_this_will_also_drain_player_units_health_at_the_begining_of_the_battle__you_may_need_to_use__Player_Units:_Infinite_Health__option_to_restore_player_units_health._n_nCtrlNum_1___Infinite_Skill_Points_nCtrlNum_2___Max_Empire_Development_Affinity_Takes_effect_in_the_next_turn._nCtrlNum_3___Set_Game_Speed_n_n
mov edx, 0x48d
call fcn.140021d40
mov rcx, rdi
call fcn.140036800
mov rcx, rdi
call fcn.140036af0
lea r15, [0x1400e6280]
mov esi, dword [0x1400e5c58]
test esi, esi
je 0x1400393b1
mov ebx, dword [0x1400e5c5c]
test ebx, ebx
je 0x1400393b1
mov rcx, r15
call fcn.140077038
test eax, eax
jne 0x140039717
mov eax, dword [0x1400e62cc]
cmp eax, 0x7fffffff
je 0x140039722
mov dword [rbp + 0x40], 9
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rbp + 0x40], esi
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rbp + 0x40], ebx
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r15
call fcn.140077040
mov rcx, rdi
call fcn.140039790
lea rbx, [rdi + 0x578]
mov r8, rbx
lea rdx, str.Cover
mov ecx, 0x75
call fcn.140042f80
mov rax, qword [rbx + 8]
cmp rax, qword [rbx]
je 0x140039485
mov rcx, r15
call fcn.140077038
test eax, eax
jne 0x140039717
mov eax, dword [0x1400e62cc]
cmp eax, 0x7fffffff
je 0x140039722
mov dword [rbp + 0x40], 3
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbp + 0x40], eax
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rbx]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 8
lea rdx, [rbp + 0x40]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r15
call fcn.140077040
mov rcx, r15
call fcn.140077038
test eax, eax
jne 0x140039717
mov eax, dword [0x1400e62cc]
cmp eax, 0x7fffffff
je 0x140039722
mov dword [rbp + 0x40], 5
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rax, [0x1400364e0]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 8
lea rdx, [rbp + 0x40]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r15
call fcn.140077040
lea r8, [rdi + 0x478]
lea rdx, [rdi + 0x458]
call fcn.1400505b0
mov qword [rbp + 0x48], r15
mov rcx, r15
call fcn.140077038
test eax, eax
jne 0x140039717
mov eax, dword [0x1400e62cc]
cmp eax, 0x7fffffff
je 0x140039722
mov dword [rbp + 0x40], 4
mov dword [rbp + 0x38], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x38]
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdx, [rdi + 0x458]
lea rcx, [rbp - 0x20]
call fcn.14001eef0
mov rdx, rax
mov rcx, rdi
call fcn.140032140
lea rdx, [rdi + 0x478]
lea rcx, [rbp - 0x20]
call fcn.14001eef0
mov rdx, rax
mov rcx, rdi
call fcn.140032140
nop
mov rcx, r15
call fcn.140077040
mov ecx, 8
call fcn.140077fe4
mov qword [rax], rdi
mov qword [rbp + 0x38], rax
lea rcx, [rbp - 0x28]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x14003e710]
xor edx, edx
xor ecx, ecx
call fcn.14008ab24
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14003977a
cmp dword [rbp - 0x28], 0
je 0x14003976f
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call fcn.140077320
test eax, eax
jne 0x14003976f
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
lea ecx, [rax + 8]
call fcn.140077fe4
mov qword [rax], rdi
mov qword [rbp + 0x38], rax
lea rcx, [rbp - 0x28]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x14003e740]
xor edx, edx
xor ecx, ecx
call fcn.14008ab24
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140039760
cmp dword [rbp - 0x28], 0
je 0x140039755
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call fcn.140077320
test eax, eax
jne 0x140039755
call fcn.140035420
mov ecx, 8
call fcn.140077fe4
mov qword [rax], rdi
mov qword [rbp + 0x38], rax
lea rcx, [rbp - 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x14003e580]
xor edx, edx
xor ecx, ecx
call fcn.14008ab24
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140039746
cmp dword [rbp - 0x38], 0
je 0x14003973b
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
call fcn.140077320
test eax, eax
jne 0x14003973b
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
cmp byte [rdi + 0x4b9], al
jne 0x1400396fd
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rdi
call fcn.1400361b0
cmp byte [rdi + 0x4b9], 0
je 0x1400396e1
cmp dword [rbp - 0x38], 0
jne 0x140039735
mov rbx, qword [rsp + 0xa0]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov ecx, 5
call fcn.140076f88
int3
dec eax
mov dword [0x1400e62cc], eax
mov ecx, 6
call fcn.140076f88
int3
call fcn.14008a9c0
nop
mov ecx, 1
call fcn.140076f88
nop
mov dword [rbp - 0x38], r14d
mov ecx, 6
call fcn.140076f88
nop
mov ecx, 1
call fcn.140076f88
nop
mov dword [rbp - 0x28], r14d
mov ecx, 6
call fcn.140076f88
nop
mov ecx, 1
call fcn.140076f88
nop
mov dword [rbp - 0x28], r14d
mov ecx, 6
call fcn.140076f88
int3