Function at 0x100105a0
Capabilities:
Create process on windows
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x170
mov esi, esp
mov dword [esi + 0x158], ebp
mov dword [esi + 0x15c], esp
mov dword [esi + 0x168], 0xffffffff
lea eax, [esi + 0x160]
mov dword [esi + 0x164], 0x100155d0
mov ecx, dword fs:[0]
mov dword [esi + 0x160], ecx
mov dword fs:[0], eax
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], 0
mov dword [esi + 0x5c], 0
push 0x410
call fcn.100177b6
add esp, 4
mov dword [esi + 0x50], eax
movsd xmm0, qword [0x100293a0]
movsd qword [esi + 0x60], xmm0
push 0x402
push 0
push eax
call fcn.1001ab10
add esp, 0xc
mov dword [esi + 0x70], 0
mov dword [esi + 0x6c], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0x168], 0
push 0x410
call fcn.100177b6
add esp, 4
mov edi, eax
mov dword [esi + 0x68], eax
movsd xmm0, qword [0x100293a0]
movsd qword [esi + 0x78], xmm0
push 0x402
push 0
push eax
call fcn.1001ab10
add esp, 0xc
movaps xmm0, xmmword [0x100293b0]
movups xmmword [esi + 0xe0], xmm0
movaps xmm0, xmmword [0x100293c0]
movups xmmword [esi + 0xf0], xmm0
mov word [esi + 0x100], 0xa64b
mov word [esi + 0x120], 0
movups xmm0, xmmword [esi + 0xe2]
xorps xmm0, xmmword [0x100293d0]
movups xmmword [esi + 0xe2], xmm0
movups xmm0, xmmword [esi + 0xf2]
xorps xmm0, xmmword [0x100293e0]
movups xmmword [esi + 0xf2], xmm0
movups xmm0, xmmword [esi + 0x102]
xorps xmm0, xmmword [0x100293f0]
movups xmmword [esi + 0x102], xmm0
xor word [esi + 0x112], 0xa654
xor word [esi + 0x114], 0xa655
xor word [esi + 0x116], 0xa656
xor word [esi + 0x118], 0xa657
xor word [esi + 0x11a], 0xa658
lea eax, [esi + 0xe2]
xor word [esi + 0x11c], 0xa659
xor word [esi + 0x11e], 0xa65a
mov word [esi + 0x120], 0
push 0x200
push edi
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov ecx, eax
dec ecx
mov edx, dword [esi + 0x78]
mov edi, ecx
sub edi, edx
jbe 0x1001078c
mov dword [esi], eax
mov eax, dword [esi + 0x7c]
mov ebx, eax
sub ebx, edx
cmp ebx, edi
jae 0x10010797
mov dword [esi + 0x168], 1
sub esp, 0x10
movzx ecx, byte [esi + 0xe0]
mov byte [esp + 4], cl
mov dword [esp + 8], edi
mov dword [esp], edi
mov dword [esp + 0xc], 0
lea ecx, [esi + 0x68]
call fcn.1000bc10
jmp 0x100107d0
cmp dword [esi + 0x7c], 8
jb 0x100107a4
mov edx, dword [esi + 0x68]
jmp 0x100107a7
mov dword [esi + 0x78], ecx
cmp eax, 8
jb 0x100107b3
mov ebx, dword [esi + 0x68]
jmp 0x100107b6
lea edx, [esi + 0x68]
mov dword [esi + 0x78], ecx
mov word [edx + eax*2 - 2], 0
jmp 0x100107d0
lea ebx, [esi + 0x68]
lea ecx, [ebx + edx*2]
add edi, edi
push edi
push 0
push ecx
call fcn.1001ab10
add esp, 0xc
mov eax, dword [esi]
mov word [ebx + eax*2 - 2], 0
mov dword [esi + 0x128], 0
mov eax, dword [0x10032ae0]
mov ecx, dword [0x10032dac]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x100115b6
mov dword [esi + 0x12c], 0x100320f8
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp dword [esi + 0x64], 8
jb 0x10010818
mov ecx, dword [esi + 0x50]
jmp 0x1001081b
lea ecx, [esi + 0x50]
push 0x200
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, eax
mov ecx, dword [esi + 0x60]
sub eax, ecx
jbe 0x1001086d
mov edx, dword [esi + 0x64]
mov ebx, edx
sub ebx, ecx
cmp ebx, eax
jae 0x10010878
mov dword [esi + 0x168], 1
sub esp, 0x10
movzx ecx, byte [esi + 0xe0]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp], eax
mov dword [esp + 0xc], 0
lea ecx, [esi + 0x50]
call fcn.1000bc10
jmp 0x100108ad
cmp dword [esi + 0x64], 8
jb 0x10010885
mov eax, dword [esi + 0x50]
jmp 0x10010888
mov dword [esi + 0x60], edi
cmp edx, 8
jb 0x10010893
mov ebx, dword [esi + 0x50]
jmp 0x10010896
lea eax, [esi + 0x50]
mov dword [esi + 0x60], edi
mov word [eax + edi*2], 0
jmp 0x100108ad
lea ebx, [esi + 0x50]
lea ecx, [ebx + ecx*2]
add eax, eax
push eax
push 0
push ecx
call fcn.1001ab10
add esp, 0xc
mov word [ebx + edi*2], 0
mov dword [esi + 0x168], 2
xorps xmm0, xmm0
movaps xmmword [esi + 0xe0], xmm0
mov dword [esi + 0xf0], 0
mov dword [esi + 0xf4], 7
movaps xmmword [esi + 0xa0], xmm0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 7
movaps xmmword [esi + 0xc0], xmm0
mov dword [esi + 0xd0], 0
mov dword [esi + 0xd4], 7
mov eax, dword [esi + 0x60]
cmp dword [esi + 0x64], 8
jb 0x10010919
mov ecx, dword [esi + 0x50]
jmp 0x1001091c
lea ecx, [esi + 0x50]
sub esp, 0x10
movzx edx, byte [esi + 0x38]
mov byte [esp + 0xc], dl
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esi + 8]
mov dword [esp], eax
call fcn.10006220
add esp, 0x10
mov dword [esi + 0x168], 3
lea eax, [esi + 0x130]
lea ecx, [esi + 8]
push eax
call fcn.10003b80
mov eax, dword [esi + 0x1c]
cmp eax, 8
jb 0x10010993
mov ecx, dword [esi + 8]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10010989
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0x60]
cmp dword [esi + 0x64], 8
jb 0x100109a1
mov ecx, dword [esi + 0x50]
jmp 0x100109a4
lea ecx, [esi + 0x50]
mov dword [esi + 0x168], 4
sub esp, 0x10
movzx edx, byte [esi + 8]
mov byte [esp + 0xc], dl
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esi + 0x20]
mov dword [esp], eax
call fcn.10006220
add esp, 0x10
mov eax, dword [esi + 0x30]
cmp dword [esi + 0x34], 8
lea ecx, [esi + 0x20]
jb 0x100109de
mov ecx, dword [esi + 0x20]
lea eax, [ecx + eax*2]
mov dword [esi + 0x168], 6
mov dword [esi], eax
push eax
push ecx
call fcn.10004e80
add esp, 8
mov edi, dword [esi]
mov ecx, edi
cmp eax, edi
je 0x10010a2c
mov ecx, eax
jmp 0x10010a1d
cmp ax, 0x2f
jne 0x10010a2c
add ecx, 2
cmp ecx, edi
je 0x10010a2a
movzx eax, word [ecx]
cmp ax, 0x5c
jl 0x10010a10
je 0x10010a16
jmp 0x10010a2c
mov ecx, edi
cmp ecx, edi
je 0x10010a5b
mov eax, edi
jmp 0x10010a49
je 0x10010a59
add eax, 0xfffffffe
cmp eax, ecx
je 0x10010a5b
movzx edx, word [eax - 2]
cmp dx, 0x5c
jge 0x10010a40
cmp dx, 0x2f
jne 0x10010a42
mov ecx, eax
sub edi, ecx
sar edi, 1
mov dword [esi + 0x168], 6
sub esp, 0x10
movzx eax, byte [esi + 8]
mov byte [esp + 0xc], al
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
lea eax, [esi + 0x38]
mov dword [esp], eax
call fcn.10006220
add esp, 0x10
mov dword [esi + 0x168], 7
lea ecx, [esi + 0x38]
lea eax, [esi + 8]
push eax
call fcn.10004ae0
mov eax, dword [esi + 0xf4]
cmp eax, 8
jb 0x10010ae3
mov ecx, dword [esi + 0xe0]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10010ad9
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
movsd xmm0, qword [esi + 0x18]
movsd qword [esi + 0xf0], xmm0
movups xmm0, xmmword [esi + 8]
movaps xmmword [esi + 0xe0], xmm0
movsd xmm0, qword [0x10029070]
movsd qword [esi + 0x18], xmm0
mov word [esi + 8], 0
mov eax, dword [esi + 0x4c]
cmp eax, 8
jb 0x10010b4b
mov ecx, dword [esi + 0x38]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10010b41
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
movsd xmm0, qword [0x10029070]
movsd qword [esi + 0x48], xmm0
mov word [esi + 0x38], 0
mov eax, dword [esi + 0x34]
cmp eax, 8
jb 0x10010b9b
mov ecx, dword [esi + 0x20]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10010b91
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x10010bf7
lea ebx, [esi + 0xa0]
cmp ebx, eax
je 0x10010c7b
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 8
jb 0x10010bc1
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [esi + 0xb4]
cmp ecx, edi
jae 0x10010c0e
mov dword [esi + 0x168], 4
sub esp, 0xc
movzx ecx, byte [esi + 8]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp], edi
lea ecx, [esi + 0xa0]
call fcn.100082f0
jmp 0x10010c7b
mov edi, dword [esi + 0xf0]
cmp dword [esi + 0xf4], 8
jb 0x10010c15
mov eax, dword [esi + 0xe0]
jmp 0x10010c1b
cmp ecx, 8
jae 0x10010c53
jmp 0x10010c61
lea eax, [esi + 0xe0]
mov ecx, dword [esi + 0xb4]
cmp ecx, edi
jae 0x10010c4e
mov dword [esi + 0x168], 4
sub esp, 0xc
movzx ecx, byte [esi + 8]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp], edi
lea ecx, [esi + 0xa0]
call fcn.100082f0
jmp 0x10010c7b
cmp ecx, 8
jb 0x10010c5b
mov ebx, dword [esi + 0xa0]
jmp 0x10010c61
lea ebx, [esi + 0xa0]
mov dword [esi + 0xb0], edi
lea ecx, [edi + edi]
push ecx
push eax
push ebx
call fcn.1001a590
add esp, 0xc
mov word [ebx + edi*2], 0
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x10010cd5
lea ebx, [esi + 0xc0]
cmp ebx, eax
je 0x10010e8b
cmp dword [eax + 0x14], 8
jb 0x10010c9b
mov eax, dword [eax]
mov ecx, dword [esi + 0xd4]
cmp ecx, edi
jae 0x10010d3a
mov dword [esi + 0x168], 4
sub esp, 0xc
movzx ecx, byte [esi + 8]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp], edi
lea ecx, [esi + 0xc0]
call fcn.100082f0
jmp 0x10010d5f
mov eax, dword [esi + 0x140]
cmp dword [esi + 0x144], 8
lea ecx, [esi + 0x130]
jb 0x10010cf0
mov ecx, dword [esi + 0x130]
lea eax, [ecx + eax*2]
mov dword [esi + 0x168], 4
mov dword [esi], eax
push eax
push ecx
call fcn.10004e80
add esp, 8
mov edi, dword [esi]
mov ecx, edi
cmp eax, edi
je 0x10010d70
mov ecx, eax
jmp 0x10010d2d
cmp ax, 0x2f
jne 0x10010d70
add ecx, 2
cmp ecx, edi
je 0x10010d6e
movzx eax, word [ecx]
cmp ax, 0x5c
jl 0x10010d20
je 0x10010d26
jmp 0x10010d70
cmp ecx, 8
jb 0x10010d45
mov ebx, dword [esi + 0xc0]
mov dword [esi + 0xd0], edi
lea ecx, [edi + edi]
push ecx
push eax
push ebx
call fcn.1001a590
add esp, 0xc
mov word [ebx + edi*2], 0
mov dword [esi + 0x168], 4
jmp 0x10010e8b
mov ecx, edi
cmp ecx, edi
je 0x10010d9b
mov eax, edi
jmp 0x10010d89
je 0x10010d99
add eax, 0xfffffffe
cmp eax, ecx
je 0x10010d9b
movzx edx, word [eax - 2]
cmp dx, 0x5c
jge 0x10010d80
cmp dx, 0x2f
jne 0x10010d82
mov ecx, eax
sub edi, ecx
sar edi, 1
mov dword [esi + 0x168], 4
sub esp, 0x10
movzx eax, byte [esi + 8]
mov byte [esp + 0xc], al
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
lea eax, [esi + 0x38]
mov dword [esp], eax
call fcn.10006220
add esp, 0x10
mov dword [esi + 0x168], 5
lea ecx, [esi + 0x38]
lea eax, [esi + 8]
push eax
call fcn.10004ae0
mov eax, dword [esi + 0xd4]
cmp eax, 8
jb 0x10010e23
mov ecx, dword [esi + 0xc0]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10010e19
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
movsd xmm0, qword [esi + 0x18]
movsd qword [esi + 0xd0], xmm0
movups xmm0, xmmword [esi + 8]
movaps xmmword [esi + 0xc0], xmm0
movsd xmm0, qword [0x10029070]
movsd qword [esi + 0x18], xmm0
mov word [esi + 8], 0
mov eax, dword [esi + 0x4c]
cmp eax, 8
jb 0x10010e8b
mov ecx, dword [esi + 0x38]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10010e81
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0x78]
cmp dword [esi + 0x7c], 8
jb 0x10010e99
mov ecx, dword [esi + 0x68]
jmp 0x10010e9c
lea ecx, [esi + 0x68]
mov dword [esi + 0x168], 4
sub esp, 0x10
movzx edx, byte [esi + 8]
mov byte [esp + 0xc], dl
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esi + 0x38]
mov dword [esp], eax
call fcn.10006220
add esp, 0x10
mov dword [esi + 0x168], 0xf
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x38]
push eax
call fcn.10011850
lea ecx, [esi + 8]
push eax
call fcn.100047c0
mov eax, dword [esi + 0x4c]
cmp eax, 8
lea ebx, [esi + 8]
jb 0x10010f29
mov ecx, dword [esi + 0x38]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10010f1f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0x18]
cmp dword [esi + 0x1c], 8
jb 0x10010f35
mov ebx, dword [esi + 8]
lea edi, [esi + 0x130]
mov ecx, edi
push eax
push ebx
call fcn.10012620
test eax, eax
je 0x10010f68
mov dword [esi + 0x168], 8
lea eax, [esi + 0x128]
lea ecx, [esi + 8]
push eax
push 0x11
push ecx
push edi
call fcn.10011940
add esp, 0x10
mov ebx, dword [esi + 0x128]
test ebx, ebx
jne 0x100113dc
mov dword [esi], ebx
mov dword [esi + 0x168], 8
lea eax, [esi + 8]
lea ecx, [esi + 0x20]
mov dword [esi + 4], eax
push eax
call fcn.100047c0
mov dword [esi + 0x168], 0xe
lea eax, [esi + 0xe0]
lea ecx, [esi + 0x20]
mov dword [esi + 0x9c], ecx
push eax
call fcn.10011850
lea ecx, [esi + 0x38]
push eax
call fcn.100047c0
mov eax, dword [esi + 0x34]
cmp eax, 8
jb 0x10010ff6
mov ecx, dword [esi + 0x20]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10010fec
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
je 0x10011157
mov dword [esi + 0x168], 9
lea ecx, [esi + 0x80]
lea eax, [esi + 8]
push eax
call fcn.100047c0
mov dword [esi + 0x168], 0xd
lea eax, [esi + 0xa0]
lea ecx, [esi + 0x80]
push eax
call fcn.10011850
lea ecx, [esi + 0x20]
push eax
call fcn.100047c0
mov eax, dword [esi + 0x94]
cmp eax, 8
jb 0x10011084
mov ecx, dword [esi + 0x80]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1001107a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
cmp dword [esi + 0x34], 8
lea ecx, [esi + 0x20]
jb 0x10011090
mov ecx, dword [esi + 0x20]
cmp dword [esi + 0x4c], 8
lea eax, [esi + 0x38]
jb 0x1001109c
mov eax, dword [esi + 0x38]
push ecx
push eax
call fcn.10018ec7
test eax, eax
jne 0x100115ef
mov edi, dword [esi + 0x30]
cmp dword [esi + 0x34], 8
jb 0x100110b9
mov eax, dword [esi + 0x20]
jmp 0x100110bc
lea eax, [esi + 0x20]
mov ecx, dword [esi + 0x4c]
cmp ecx, edi
jae 0x100110ec
mov dword [esi + 0x168], 0xc
sub esp, 0xc
movzx ecx, byte [esi + 0x80]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp], edi
lea ecx, [esi + 0x38]
call fcn.100082f0
jmp 0x10011110
cmp ecx, 8
jb 0x100110f6
mov ebx, dword [esi + 0x38]
jmp 0x100110f9
lea ebx, [esi + 0x38]
mov dword [esi + 0x48], edi
lea ecx, [edi + edi]
push ecx
push eax
push ebx
call fcn.1001a590
add esp, 0xc
mov word [ebx + edi*2], 0
mov eax, dword [esi + 0x34]
cmp eax, 8
jb 0x1001114d
mov ecx, dword [esi + 0x20]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10011143
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov dword [esi + 0x168], 9
mov dword [esi + 0x168], 9
lea ecx, [esi + 0x38]
lea eax, [esi + 0x20]
push eax
call fcn.10004ae0
mov eax, dword [esi + 0x18]
cmp dword [esi + 0x1c], 8
jb 0x1001117c
mov ecx, dword [esi + 8]
mov dword [esi + 4], ecx
lea ecx, [esi + 0x130]
push eax
push dword [esi + 4]
call fcn.10012620
test eax, eax
mov ebx, dword [esi]
je 0x10011337
lea edi, [esi + 0x14a]
movsd xmm0, qword [0x10029400]
movsd qword [esi + 0x148], xmm0
mov word [esi + 0x154], 0
xorps xmm0, xmm0
movaps xmmword [esi + 0x80], xmm0
mov dword [esi + 0x94], 0
mov dword [esi + 0x90], 0
push edi
call fcn.1001d487
add esp, 4
cmp eax, 0x7fffffff
jae 0x1001160f
mov ebx, eax
cmp eax, 7
ja 0x1001121e
mov dword [esi + 0x90], ebx
mov dword [esi + 0x94], 7
lea eax, [ebx + ebx]
lea ecx, [esi + 0x80]
push eax
push edi
push ecx
call fcn.1001a590
add esp, 0xc
lea eax, [esi + ebx*2]
add eax, 0x80
jmp 0x100112d0
mov dword [esi + 0x94], 7
mov eax, ebx
or eax, 7
cmp eax, 0x7ffffffe
ja 0x1001161e
cmp eax, 0xb
mov ecx, 0xa
cmovae ecx, eax
lea eax, [ecx + ecx]
cmp ecx, 0x7ff
mov dword [esi + 4], ebx
mov dword [esi + 0x98], ecx
jb 0x10011286
cmp ecx, 0x7fffffee
jae 0x1001161e
add eax, 0x25
mov dword [esi + 0x168], 0xa
push eax
call fcn.100177b6
add esp, 4
mov edi, eax
add edi, 0x23
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x1001129e
add eax, 2
mov dword [esi + 0x168], 0xa
push eax
call fcn.100177b6
add esp, 4
mov edi, eax
lea ecx, [esi + 0x14a]
mov ebx, dword [esi + 4]
mov eax, dword [esi + 0x98]
mov dword [esi + 0x80], edi
mov dword [esi + 0x90], ebx
mov dword [esi + 0x94], eax
lea eax, [ebx + ebx]
push eax
push ecx
push edi
call fcn.1001a590
add esp, 0xc
lea eax, [edi + ebx*2]
mov word [eax], 0
mov dword [esi + 0x168], 0xb
lea eax, [esi + 0x80]
push eax
lea eax, [esi + 0x20]
push eax
call fcn.1000fd10
add esp, 8
mov eax, dword [esi + 0x94]
cmp eax, 8
mov ebx, dword [esi]
jb 0x10011337
mov ecx, dword [esi + 0x80]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1001132d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
cmp dword [esi + 0x34], 8
jb 0x10011346
mov eax, dword [esi + 0x20]
mov dword [esi + 0x9c], eax
push 0
push 0
push 0x1002cd9c
push dword [esi + 0x9c]
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [esi + 0x34]
cmp eax, 8
jb 0x1001139f
mov ecx, dword [esi + 0x20]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10011395
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0x4c]
cmp eax, 8
jb 0x100113dc
mov ecx, dword [esi + 0x38]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x100113d2
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0x1c]
cmp eax, 8
jb 0x10011419
mov ecx, dword [esi + 8]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1001140f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0x144]
cmp eax, 8
jb 0x1001145c
mov ecx, dword [esi + 0x130]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10011452
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0xd4]
cmp eax, 8
jb 0x1001149f
mov ecx, dword [esi + 0xc0]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10011495
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0xb4]
cmp eax, 8
jb 0x100114e2
mov ecx, dword [esi + 0xa0]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x100114d8
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0xf4]
cmp eax, 8
jb 0x10011525
mov ecx, dword [esi + 0xe0]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1001151b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0x7c]
cmp eax, 8
jb 0x1001155e
mov ecx, dword [esi + 0x68]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x10011554
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [esi + 0x64]
cmp eax, 8
jb 0x10011597
mov ecx, dword [esi + 0x50]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x1001158d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100115b1
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.100177eb
add esp, 8
test ebx, ebx
sete al
mov ecx, dword [esi + 0x160]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1001bda3
push 0x10032ae0
call fcn.10017843
add esp, 4
cmp dword [0x10032ae0], 0xffffffff
jne 0x100107fb
push fcn.10009bd0
call fcn.10017bab
add esp, 4
push 0x10032ae0
call fcn.10017895
add esp, 4
jmp 0x100107fb
mov dword [esi + 0x168], 0xc
lea ecx, [esi + 0x20]
lea edx, [esi + 0x38]
push ecx
push edx
push eax
push str.rename
call fcn.10014470
add esp, 0x10
mov dword [esi + 0x168], 0xa
call fcn.100063f0
mov dword [esi + 0x168], 0xa
call fcn.10006400
nop dword [eax]
push ebp
sub esp, 0x18
lea esi, [ebp - 0x16c]
mov ebp, dword [esi + 0x158]
lea ecx, [esi + 0x80]
call fcn.10003a80
add esp, 0x18
pop ebp
ret