Function at 0x10029830
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x1c
mov al, 0x31
push ebx
mov byte [esp + 0xe], al
mov byte [esp + 0x19], al
mov al, byte [0x10198398]
push ebp
push esi
push edi
test al, 1
mov byte [esp + 0x14], 0x70
mov byte [esp + 0x15], 0xf8
mov byte [esp + 0x16], 0xbf
mov byte [esp + 0x17], 0xfd
mov byte [esp + 0x18], 0x99
mov byte [esp + 0x19], 3
mov byte [esp + 0x1b], 0x5f
mov byte [esp + 0x1c], 0xd
mov byte [esp + 0x1d], 0x65
mov byte [esp + 0x20], 5
mov byte [esp + 0x21], 0x8b
mov byte [esp + 0x22], 0xda
mov byte [esp + 0x23], 0x8f
mov byte [esp + 0x24], 0xaa
mov byte [esp + 0x26], 0x1f
mov byte [esp + 0x27], 0x3b
mov byte [esp + 0x28], 0x61
mov byte [esp + 0x29], 9
jne 0x10029931
mov bl, al
push 0xb
or bl, 1
mov byte [0x10198398], bl
call fcn.1013c2df
add esp, 4
mov dword [0x1019839c], eax
xor edi, edi
mov bl, byte [esp + edi + 0x20]
movsx eax, byte [esp + edi + 0x14]
movsx esi, bl
test esi, esi
jne 0x100298d9
mov esi, 8
cdq
idiv esi
mov ecx, edx
test ecx, ecx
je 0x10029904
mov eax, ecx
cdq
mov ebp, eax
mov eax, esi
xor ebp, edx
sub ebp, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ebp
jge 0x100298f9
lea esi, [ebp + 0xc]
mov eax, ecx
cdq
idiv esi
mov ecx, eax
test ecx, ecx
jne 0x100298f9
mov al, byte [esp + edi + 0x14]
xor bl, al
mov eax, dword [0x1019839c]
or bl, cl
mov byte [edi + eax], bl
inc edi
cmp edi, 0xa
jb 0x100298c4
mov ecx, dword [0x1019839c]
push 0x10029a90
mov byte [ecx + 0xa], 0
call fcn.1013c36b
add esp, 4
mov edx, dword [0x1019839c]
mov al, 0x2b
mov byte [esp + 0x25], al
mov byte [esp + 0x27], al
mov byte [esp + 0x1c], al
mov al, byte [0x101983a0]
test al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0x20], 0x64
mov byte [esp + 0x21], 0xd2
mov byte [esp + 0x22], 0x82
mov byte [esp + 0x23], 0x47
mov byte [esp + 0x24], 0x56
mov byte [esp + 0x26], 0xb0
mov byte [esp + 0x28], 0x5c
mov byte [esp + 0x29], 0xd8
mov byte [esp + 0x2a], 0x53
mov byte [esp + 0x2b], 0xc5
mov byte [esp + 0x14], 0x37
mov byte [esp + 0x15], 0xb7
mov byte [esp + 0x16], 0xf6
mov byte [esp + 0x17], 0x10
mov byte [esp + 0x18], 0x3f
mov byte [esp + 0x19], 0x45
mov byte [esp + 0x1a], 0xd4
mov byte [esp + 0x1b], 0x44
mov byte [esp + 0x1d], 0x88
mov byte [esp + 0x1e], 0x3c
mov byte [esp + 0x1f], 0xb6
jne 0x10029a48
mov bl, al
push 0xd
or bl, 1
mov byte [0x101983a0], bl
call fcn.1013c2df
add esp, 4
mov dword [0x101983a4], eax
xor edi, edi
mov bl, byte [esp + edi + 0x14]
movsx eax, byte [esp + edi + 0x20]
movsx esi, bl
test esi, esi
jne 0x100299f0
mov esi, 8
cdq
idiv esi
mov ecx, edx
test ecx, ecx
je 0x10029a1b
mov eax, ecx
cdq
mov ebp, eax
mov eax, esi
xor ebp, edx
sub ebp, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ebp
jge 0x10029a10
lea esi, [ebp + 0xc]
mov eax, ecx
cdq
idiv esi
mov ecx, eax
test ecx, ecx
jne 0x10029a10
mov al, byte [esp + edi + 0x20]
xor bl, al
mov eax, dword [0x101983a4]
or bl, cl
mov byte [edi + eax], bl
inc edi
cmp edi, 0xc
jb 0x100299db
mov ecx, dword [0x101983a4]
push 0x10029aa0
mov byte [ecx + 0xc], 0
call fcn.1013c36b
add esp, 4
mov edx, dword [esp + 0x10]
mov esi, dword [0x101983a4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push edx
push ecx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret