Function at 0x10092270
Capabilities:
Access peb ldr_data
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov esi, esp
mov dword [esi + 0x118], ebp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x11c], esp
mov dword [esi + 0x128], 0xffffffff
mov dword [esi + 0x124], 0x100a55e0
mov eax, dword fs:[0]
mov dword [esi + 0x120], eax
lea eax, [esi + 0x120]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x60], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x64], eax
call fcn.100f74c6
lea edi, [esi + 0x68]
push 7
push str.advance
push eax
push edi
call fcn.100953a0
add esp, 0x10
mov dword [esi + 0x128], 0
lea eax, [esi + 0x60]
mov dword [esi + 0xc], edi
mov ecx, edi
push eax
call fcn.10092840
pxor xmm0, xmm0
movdqa xmmword [esi + 0x20], xmm0
mov dword [esi + 0x34], 0
mov dword [esi + 0x30], 0
mov edx, dword [eax + 0x10]
cmp dword [eax + 0x14], 8
jb 0x1009231b
mov eax, dword [eax]
cmp edx, 0x7fffffff
jae 0x10092741
cmp edx, 7
ja 0x10092344
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], 7
movdqu xmm0, xmmword [eax]
movdqa xmmword [esi + 0x20], xmm0
jmp 0x100923d0
mov dword [esi + 0x34], 7
mov ecx, edx
or ecx, 7
cmp ecx, 0x7ffffffe
ja 0x10092768
cmp ecx, 0xb
mov edi, 0xa
cmovae edi, ecx
lea ecx, [edi + edi]
cmp edi, 0x7ff
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 0x18], edi
jb 0x100923a3
cmp edi, 0x7fffffee
jae 0x10092768
add ecx, 0x25
push ecx
call fcn.100f6bcd
mov edx, dword [esi + 0x10]
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x100923b2
add ecx, 2
push ecx
call fcn.100f6bcd
mov edx, dword [esi + 0x10]
add esp, 4
mov ecx, dword [esi + 0x1c]
mov edi, dword [esi + 0x18]
mov dword [esi + 0x20], eax
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edi
lea ecx, [ecx + ecx + 2]
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x7c]
cmp eax, 8
jb 0x1009240d
mov ecx, dword [esi + 0x68]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10092403
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10092762
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100f6c02
add esp, 8
call fcn.100f74c6
mov dword [esi + 0x128], 1
push 7
push str.advance
push eax
lea eax, [esi + 0x68]
push eax
call fcn.100953a0
add esp, 0x10
cmp dword [esi + 0x7c], 8
jb 0x1009243c
mov eax, dword [esi + 0x68]
mov dword [esi + 0xc], eax
push dword [esi + 0xc]
call fcn.100f7587
test edx, edx
jne 0x10092746
mov eax, dword [esi + 0x7c]
cmp eax, 8
jb 0x10092489
mov ecx, dword [esi + 0x68]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1009247f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10092762
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100f6c02
add esp, 8
mov byte [esi + 0x38], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x128], 2
lea ecx, [esi + 0x38]
push str.advance
call fcn.10092980
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 0x14], eax
cmp ecx, dword [esi + 0x14]
je 0x100924d7
nop
mov dword [esi + 0xc], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
push dword [esi + 0x10]
call dword [eax]
mov ecx, dword [esi + 0xc]
add ecx, 4
cmp ecx, dword [esi + 0x14]
jne 0x100924c0
sub esp, 0x14
movdqa xmm0, xmmword [0x1015b140]
movdqu xmmword [esp + 4], xmm0
lea eax, [esi + 0x48]
mov dword [esp], eax
lea ecx, [esi + 0x38]
call fcn.10092c40
mov eax, dword [esi + 0x58]
cmp dword [esi + 0x5c], 0x10
lea edi, [esi + 0x48]
jb 0x10092505
mov edi, dword [esi + 0x48]
test eax, eax
je 0x10092617
mov edx, edi
cmp eax, 8
jb 0x10092609
xor ecx, ecx
cmp eax, 0x20
jb 0x100925c6
mov ecx, eax
and ecx, 0xffffffe0
lea edx, [ecx - 0x20]
mov ebx, edx
shr ebx, 5
inc ebx
test edx, edx
mov dword [esi + 0xc], ebx
je 0x100925fb
and ebx, 0xfffffffe
xor edx, edx
pcmpeqd xmm0, xmm0
nop word cs:[eax + eax]
movdqu xmm1, xmmword [edi + edx]
movdqu xmm2, xmmword [edi + edx + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [edi + edx], xmm1
movdqu xmmword [edi + edx + 0x10], xmm2
movdqu xmm1, xmmword [edi + edx + 0x20]
movdqu xmm2, xmmword [edi + edx + 0x30]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [edi + edx + 0x20], xmm1
movdqu xmmword [edi + edx + 0x30], xmm2
add edx, 0x40
add ebx, 0xfffffffe
jne 0x10092550
test byte [esi + 0xc], 1
je 0x100925be
movdqu xmm0, xmmword [edi + edx]
movdqu xmm1, xmmword [edi + edx + 0x10]
pcmpeqd xmm2, xmm2
pxor xmm0, xmm2
pxor xmm1, xmm2
movdqu xmmword [edi + edx], xmm0
movdqu xmmword [edi + edx + 0x10], xmm1
cmp eax, ecx
je 0x10092617
test al, 0x18
je 0x10092605
mov ebx, eax
and ebx, 0xfffffff8
lea edx, [edi + ebx]
pcmpeqd xmm0, xmm0
nop word cs:[eax + eax]
movq xmm1, qword [edi + ecx]
pxor xmm1, xmm0
movq qword [edi + ecx], xmm1
add ecx, 8
cmp ebx, ecx
jne 0x100925e0
cmp eax, ebx
jne 0x10092609
jmp 0x10092617
xor edx, edx
test byte [esi + 0xc], 1
jne 0x1009259c
jmp 0x100925be
add ecx, edi
mov edx, ecx
add edi, eax
nop dword [eax + eax]
not byte [edx]
inc edx
cmp edx, edi
jne 0x10092610
cmp dword [esi + 0x34], 8
jb 0x10092622
mov eax, dword [esi + 0x20]
jmp 0x10092625
lea eax, [esi + 0x20]
mov dword [esi + 0x128], 3
lea ecx, [esi + 0x68]
push 1
push 0x40
push 0x12
push eax
call fcn.100989e0
mov eax, dword [esi + 0x68]
mov ecx, dword [eax + 4]
lea eax, [esi + 0x68]
add ecx, eax
mov dword [esi + 0x128], 4
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::fail_void_const]
test al, al
jne 0x1009267c
mov eax, dword [esi + 0x58]
cmp dword [esi + 0x5c], 0x10
jb 0x1009266b
mov ecx, dword [esi + 0x48]
jmp 0x1009266e
lea ecx, [esi + 0x48]
lea edx, [esi + 0x68]
push eax
push ecx
push edx
call fcn.1004ec80
add esp, 0xc
lea edi, [esi + 0xd0]
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 4]
mov dword [esi + eax + 0x68], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esi + eax + 0x64], ecx
lea ecx, [esi + 0x6c]
call fcn.10068740
mov ecx, edi
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
mov eax, dword [esi + 0x5c]
cmp eax, 0x10
jb 0x100926e5
mov ecx, dword [esi + 0x48]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x100926db
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10092762
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100f6c02
add esp, 8
movzx eax, byte [esi + 0x38]
lea ecx, [esi + 0x40]
push eax
call fcn.10018590
mov eax, dword [esi + 0x34]
cmp eax, 8
jb 0x1009272b
mov ecx, dword [esi + 0x20]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10092721
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10092762
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100f6c02
add esp, 8
mov eax, dword [esi + 0x120]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
call fcn.10017ca0
mov dword [esi + 0x128], 5
lea eax, [esi + 0x68]
push eax
push edx
push str.create_directory
call fcn.10093bd0
add esp, 0xc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.10016270
nop dword [eax]
push ebp
sub esp, 0x14
lea esi, [ebp - 0x12c]
mov ebp, dword [esi + 0x118]
lea ecx, [esi + 0x68]
call fcn.10092920
add esp, 0x14
pop ebp
ret