Function at 0x1004f770
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x2c
mov al, byte [0x10197af4]
push ebx
push ebp
push esi
test al, 1
push edi
mov byte [esp + 0x14], 0x93
mov byte [esp + 0x15], 0x16
mov byte [esp + 0x16], 5
mov byte [esp + 0x17], 0xd8
mov byte [esp + 0x18], 0x60
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0x3b
mov byte [esp + 0x1b], 0x39
mov byte [esp + 0x1c], 0xe1
mov byte [esp + 0x1d], 0xb6
mov byte [esp + 0x1e], 0x41
mov byte [esp + 0x28], 0xe4
mov byte [esp + 0x29], 0x7f
mov byte [esp + 0x2a], 0x6b
mov byte [esp + 0x2b], 0xb1
mov byte [esp + 0x2c], 0xe
mov byte [esp + 0x2d], 0x65
mov byte [esp + 0x2e], 0x4f
mov byte [esp + 0x2f], 0x17
mov byte [esp + 0x30], 0x85
mov byte [esp + 0x31], 0xda
mov byte [esp + 0x32], 0x2d
jne 0x1004f87b
mov bl, al
push 0xc
or bl, 1
mov byte [0x10197af4], bl
call fcn.1013c2df
add esp, 4
mov dword [0x10197af8], eax
xor edi, edi
mov bl, byte [esp + edi + 0x28]
movsx eax, byte [esp + edi + 0x14]
movsx esi, bl
test esi, esi
jne 0x1004f823
mov esi, 8
cdq
idiv esi
mov ecx, edx
test ecx, ecx
je 0x1004f84e
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 0x1004f843
lea esi, [ebp + 0xc]
mov eax, ecx
cdq
idiv esi
mov ecx, eax
test ecx, ecx
jne 0x1004f843
mov al, byte [esp + edi + 0x14]
xor bl, al
mov eax, dword [0x10197af8]
or bl, cl
mov byte [edi + eax], bl
inc edi
cmp edi, 0xb
jb 0x1004f80e
mov ecx, dword [0x10197af8]
push 0x1004fa10
mov byte [ecx + 0xb], 0
call fcn.1013c36b
add esp, 4
mov edx, dword [0x10197af8]
mov al, 0x7d
mov byte [esp + 0x2c], al
mov byte [esp + 0x31], al
mov al, 0xf
mov cl, 0x44
mov byte [esp + 0x36], al
mov byte [esp + 0x18], al
mov al, byte [0x10197afc]
mov dword [esp + 0x10], edx
test al, 1
mov byte [esp + 0x28], 0xd
mov byte [esp + 0x29], 0xf9
mov byte [esp + 0x2a], 0x41
mov byte [esp + 0x2b], 0x40
mov byte [esp + 0x2d], 0x47
mov byte [esp + 0x2e], 0x67
mov byte [esp + 0x2f], cl
mov byte [esp + 0x30], 0x7e
mov byte [esp + 0x32], 0x9f
mov byte [esp + 0x33], 0x2e
mov byte [esp + 0x34], 0x8f
mov byte [esp + 0x35], 0xa5
mov byte [esp + 0x37], 0xa1
mov byte [esp + 0x38], 0xdb
mov byte [esp + 0x39], 0xb5
mov byte [esp + 0x3a], 0x93
mov byte [esp + 0x14], cl
mov byte [esp + 0x15], 0x97
mov byte [esp + 0x16], 0x35
mov byte [esp + 0x17], 0x25
mov byte [esp + 0x19], 0x29
mov byte [esp + 0x1a], 2
mov byte [esp + 0x1b], 0x30
mov byte [esp + 0x1c], 0x3d
mov byte [esp + 0x1d], 0x11
mov byte [esp + 0x1e], 0xf0
mov byte [esp + 0x1f], 0x5d
mov byte [esp + 0x20], 0xea
mov byte [esp + 0x21], 0xed
mov byte [esp + 0x22], 0x6e
mov byte [esp + 0x23], 0xcf
mov byte [esp + 0x24], 0xbf
mov byte [esp + 0x25], 0xd9
mov byte [esp + 0x26], 0xf6
jne 0x1004f9d9
mov bl, al
push 0x14
or bl, 1
mov byte [0x10197afc], bl
call fcn.1013c2df
add esp, 4
mov dword [0x10197b00], eax
xor edi, edi
mov bl, byte [esp + edi + 0x14]
movsx eax, byte [esp + edi + 0x28]
movsx esi, bl
test esi, esi
jne 0x1004f981
mov esi, 8
cdq
idiv esi
mov ecx, edx
test ecx, ecx
je 0x1004f9ac
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 0x1004f9a1
lea esi, [ebp + 0xc]
mov eax, ecx
cdq
idiv esi
mov ecx, eax
test ecx, ecx
jne 0x1004f9a1
mov al, byte [esp + edi + 0x28]
xor bl, al
mov eax, dword [0x10197b00]
or bl, cl
mov byte [edi + eax], bl
inc edi
cmp edi, 0x13
jb 0x1004f96c
mov ecx, dword [0x10197b00]
push 0x1004fa20
mov byte [ecx + 0x13], 0
call fcn.1013c36b
add esp, 4
mov edx, dword [esp + 0x10]
mov esi, dword [0x10197b00]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, dword [esp + 0x40]
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, 0x2c
ret