Function at 0x10010400
Capabilities:
Allocate or change rwx memory
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x74
mov eax, dword [0x101c52b4]
xor eax, esp
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x78]
mov cl, 0xec
mov byte [esp + 0x21], cl
mov byte [esp + 0x23], cl
mov cl, 0x89
mov byte [esp + 0x32], cl
mov byte [esp + 0x38], cl
mov cl, 5
push ebx
xor ebx, ebx
mov dl, 0x8b
push ebp
mov ebp, dword [esp + 0x88]
mov byte [esp + 0x44], cl
mov byte [esp + 0x53], cl
mov cl, 0xa3
push esi
mov dword [esp + 0x1c], eax
mov byte [esp + 0x28], 0x90
mov byte [esp + 0x29], 0x60
mov byte [esp + 0x2a], 0x9c
mov byte [esp + 0x2b], 0x55
mov byte [esp + 0x2c], dl
mov byte [esp + 0x2e], 0x83
mov byte [esp + 0x30], 0x10
mov byte [esp + 0x31], 0x68
mov byte [esp + 0x32], bl
mov byte [esp + 0x33], bl
mov byte [esp + 0x34], bl
mov byte [esp + 0x35], bl
mov byte [esp + 0x36], 0x64
mov byte [esp + 0x37], 0xff
mov byte [esp + 0x38], 0x35
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], bl
mov byte [esp + 0x3b], bl
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], 0x64
mov byte [esp + 0x3f], 0x25
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], bl
mov byte [esp + 0x42], bl
mov byte [esp + 0x43], bl
mov byte [esp + 0x45], 0x65
mov byte [esp + 0x46], 0xf4
mov byte [esp + 0x47], 0xc7
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], bl
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4c], bl
mov byte [esp + 0x4d], 1
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4f], bl
mov byte [esp + 0x50], bl
mov byte [esp + 0x51], 0xe8
mov byte [esp + 0x52], 0x26
mov byte [esp + 0x53], bl
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], 0xeb
mov byte [esp + 0x58], dl
mov byte [esp + 0x59], 0x65
mov byte [esp + 0x5a], 0xf4
mov byte [esp + 0x5b], 0x33
mov byte [esp + 0x5c], 0xc0
mov byte [esp + 0x5d], cl
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], bl
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], 0xb8
mov byte [esp + 0x63], 1
mov byte [esp + 0x64], bl
mov byte [esp + 0x65], bl
mov byte [esp + 0x66], bl
mov byte [esp + 0x67], cl
mov byte [esp + 0x68], bl
mov byte [esp + 0x69], bl
mov byte [esp + 0x6a], bl
mov byte [esp + 0x6b], bl
mov byte [esp + 0x6c], dl
mov byte [esp + 0x6d], 4
mov byte [esp + 0x6e], 0x24
mov byte [esp + 0x6f], 0x64
mov byte [esp + 0x70], cl
mov byte [esp + 0x71], bl
mov byte [esp + 0x72], bl
mov byte [esp + 0x73], bl
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], 0x83
mov byte [esp + 0x76], 0xc4
mov byte [esp + 0x77], 0x18
mov byte [esp + 0x78], 0x5d
mov byte [esp + 0x79], 0x9d
mov byte [esp + 0x7a], 0x61
mov byte [esp + 0x7b], 0xc3
mov dh, dh
mov al, al
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100105a6
sub eax, esi
mov bl, bl
mov dh, dh
lea esi, [eax + 0x61]
mov eax, eax
mov cl, cl
mov eax, dword [esp + 0x90]
mov ecx, eax
or ecx, dword [esp + 0x94]
jne 0x100105f3
mov eax, dword [esp + 0x88]
push 0x40
push 0x3000
lea edx, [esi + 0x64]
push edx
push ebx
push ebx
push eax
call fcn.1005ece0
add esp, 0x18
mov dword [esp + 0x10], eax
push eax
pop eax
jmp 0x100105f9
mov dword [esp + 0x10], eax
mov dl, dl
cmp eax, ebx
jne 0x10010611
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.1010e4d7
add esp, 0x74
ret
push edi
mov ch, ch
lea edi, [eax + esi]
mov dword [esp + 0x28], edi
mov al, al
cmp dword [0x102c9ee8], 3
jne 0x10010641
mov ecx, dword [esp + 0x94]
or ecx, dword [esp + 0x98]
jne 0x10010641
call fcn.1002f0c0
mov ecx, ecx
mov eax, dword [esp + 0x14]
add eax, 0x30
mov dword [esp + 0x36], eax
mov edx, edx
lea edx, [edi - 0xc]
mov dword [esp + 0x4d], edx
mov ecx, ecx
lea eax, [edi - 8]
mov dword [esp + 0x62], eax
mov edx, edx
add edi, 0xfffffffc
mov dword [esp + 0x6c], edi
mov dh, dh
push 0x40
push 0x3000
push esi
push ebx
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov edi, eax
mov dword [esp + 0x24], edi
mov dl, dl
cmp edi, ebx
jne 0x100106c4
mov eax, dword [esp + 0x94]
or eax, dword [esp + 0x98]
jne 0x100106af
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x8c]
push 0x8000
cdq
push ebx
push edx
push eax
push ecx
call fcn.1005edd0
add esp, 0x14
push ecx
pop ecx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.1010e4d7
add esp, 0x74
ret
push esi
push ebx
push edi
call fcn.1010efd0
add esp, 0xc
mov edx, edx
mov dword [esp + 0x10], ebx
mov edx, edx
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push esi
mov esi, dword [esp + 0x94]
cdq
push edi
push edx
push eax
push esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
call fcn.100592d0
add esp, 0x18
test eax, eax
jne 0x1001074f
mov eax, dword [esp + 0x94]
or eax, dword [esp + 0x98]
jne 0x1001072c
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push 0x8000
push ebx
push edx
push eax
push esi
call fcn.1005edd0
add esp, 0x14
mov edx, edx
push 0x8000
push ebx
push edi
call dword [sym.imp.KERNEL32.DLL_VirtualFree]
nop
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.1010e4d7
add esp, 0x74
ret
mov ecx, 0x15
lea esi, [esp + 0x2c]
rep movsd dword es:[edi], dword [esi]
mov edx, edx
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
push ebx
add eax, 0x54
lea ecx, [esi + 0x54]
push ecx
mov ecx, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.1000e730
add esp, 0x10
mov esi, esi
mov dl, byte [0x101b049c]
mov byte [eax + esi + 0x54], dl
push ecx
pop ecx
lea edi, [eax + 0x55]
mov al, al
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x90]
push edi
push esi
push ecx
push edx
push eax
call fcn.100592d0
add esp, 0x18
test eax, eax
jne 0x10010809
mov eax, dword [esp + 0x94]
or eax, dword [esp + 0x98]
jne 0x100107e5
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x8c]
push 0x8000
push ebx
push ecx
push edx
push eax
call fcn.1005edd0
add esp, 0x14
mov al, al
push 0x8000
push ebx
push esi
call dword [sym.imp.KERNEL32.DLL_VirtualFree]
mov dl, dl
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.1010e4d7
add esp, 0x74
ret
push 0x8000
push ebx
push esi
call dword [sym.imp.KERNEL32.DLL_VirtualFree]
mov esi, esi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
mov ch, ch
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], ecx
mov edi, edi
mov ecx, dword [esp + 0x28]
mov eax, ecx
cdq
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], edx
mov ch, ch
lea eax, [ecx - 0xc]
cdq
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], edx
xchg ebx, eax
xchg ebx, eax
lea eax, [ecx - 8]
cdq
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], edx
xchg ebx, eax
xchg ebx, eax
lea eax, [ecx - 4]
cdq
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], edx
mov cl, cl
mov dword [ebp + 0x30], edi
mov dl, dl
mov dword [ebp + 0x34], 0x64
mov ah, ah
mov bl, bl
mov ecx, dword [esp + 0x80]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.1010e4d7
add esp, 0x74
ret