Function at 0x1401300
Capabilities:
Check for software breakpoints
Contain obfuscated stackstrings
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x140b0a8
push 0x14074a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xfffffb3c
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x3c]
mov ecx, dword [ebp + 8]
call fcn.01401030
test eax, eax
jne 0x1401359
push 0
push 0x1412818
mov edx, str.Err000
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
cmp dword [ebp - 0x1c], 8
jae 0x140137c
push 0
push 0x1412818
mov edx, str.Err001
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 4]
add eax, 8
cmp dword [ebp - 0x1c], eax
jae 0x14013ad
push 0
push 0x1412818
mov edx, str.Err002
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx]
mov dword [ebp - 0x58], edx
push 4
push 0x1000
mov eax, dword [ebp - 0x58]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x14013ee
push 0
push 0x1412818
mov edx, str.Err0
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x3c]
add ecx, 8
call fcn.01401090
test eax, eax
jne 0x140142e
push 0
push 0x1412818
mov edx, str.Err6
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov ecx, 7
mov esi, dword [ebp - 0x24]
lea edi, [ebp - 0x78]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x24]
add edx, 0x1c
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x68]
imul ecx, ecx, 0x1c
mov edx, dword [ebp - 0x24]
add edx, ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x64]
imul ecx, ecx, 0x107
mov edx, dword [ebp - 0x24]
add edx, ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x24]
lea eax, [edx + ecx*8]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], 0
jmp 0x14014a8
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x68]
jae 0x14014d5
mov eax, dword [ebp - 0x38]
imul eax, eax, 0x1c
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
mov dword [ecx + eax + 0x14], edx
mov eax, dword [ebp - 0x38]
imul eax, eax, 0x1c
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
add edx, dword [ecx + eax + 0x18]
mov dword [ebp - 0x24], edx
jmp 0x140149f
mov dword [ebp - 0x40], 0
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x2c]
sub eax, dword [ecx + 8]
mov dword [0x14127f8], eax
mov edx, dword [ebp - 0x78]
mov eax, dword [0x14127f8]
sub eax, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], 0
jmp 0x140150c
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x68]
jae 0x140154b
mov eax, dword [ebp - 0x38]
imul eax, eax, 0x1c
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + eax + 0x18]
push edx
mov eax, dword [ebp - 0x38]
imul eax, eax, 0x1c
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + eax + 0x14]
mov eax, dword [ebp - 0x38]
imul eax, eax, 0x1c
mov ecx, dword [ebp - 0x2c]
mov esi, dword [0x14127f8]
add esi, dword [ecx + eax + 8]
mov ecx, esi
call fcn.01401ea0
jmp 0x1401503
lea ecx, [ebp - 0x50]
call fcn.014010b0
test eax, eax
jne 0x1401574
push 0
push 0x1412818
mov edx, str.Err31
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
mov dword [ebp - 0x38], 0
jmp 0x1401586
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x64]
jae 0x14019e9
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x480], 0
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x107
mov edx, dword [ebp - 0x34]
mov eax, dword [0x14127f8]
add eax, dword [edx + ecx + 0xff]
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x107
mov edx, dword [ebp - 0x34]
add edx, ecx
lea ecx, [ebp - 0x474]
call fcn.01401e40
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x107
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + edx + 0x103]
mov dword [ebp - 0x480], ecx
mov dword [ebp - 0x47c], 0
lea ecx, [ebp - 0x474]
call fcn.01401dc0
sub eax, 1
mov dword [ebp - 0x84], eax
jmp 0x140162c
mov edx, dword [ebp - 0x84]
sub edx, 1
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x84], 0
jle 0x140164c
mov eax, dword [ebp - 0x84]
movsx ecx, byte [ebp + eax - 0x474]
cmp ecx, 0x2e
jne 0x140164a
jmp 0x140164c
jmp 0x140161d
cmp dword [ebp - 0x84], 0
jne 0x1401672
push 0
push 0x1412818
mov edx, str.Err4
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
mov edx, dword [ebp - 0x84]
mov byte [ebp + edx - 0x474], 0
mov eax, dword [ebp - 0x84]
add eax, 1
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x80]
push ecx
lea edx, [ebp - 0x88]
push edx
lea edx, [ebp - 0x474]
lea ecx, [ebp - 0x50]
call fcn.01401160
test eax, eax
jne 0x14016ca
push 0
push str.Cant_load_library
lea edx, [ebp - 0x474]
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
cmp dword [ebp - 0x480], 0
je 0x14016ef
mov eax, dword [ebp - 0x480]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x8c], eax
jmp 0x1401710
mov edx, dword [ebp - 0x84]
lea eax, [ebp + edx - 0x474]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x47c], 0
cmp dword [ebp - 0x8c], 0
jne 0x1401749
push 0
push str.Cant_load_function_from_library
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x107
mov eax, dword [ebp - 0x34]
add edx, eax
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
cmp dword [ebp - 0x47c], 0
je 0x14017a0
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x7c]
add edx, 1
mov dword [ebp - 0x7c], edx
cmp ecx, 0x64
jbe 0x1401780
push 0
push 0x1412818
mov edx, str.Err5
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x474]
call fcn.01401e40
mov dword [ebp - 0x480], 0
jmp 0x14015fd
mov edx, str.UnhandledExceptionFilter
mov eax, dword [ebp - 0x84]
lea ecx, [ebp + eax - 0x474]
call fcn.01401d00
test eax, eax
jne 0x14019d6
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x8c]
mov dl, byte [ecx]
mov byte [ebp - 0x484], dl
mov eax, dword [ebp - 0x484]
and eax, 0xff
cmp eax, 0xcc
je 0x1401812
mov ecx, dword [ebp - 0x484]
and ecx, 0xff
cmp ecx, 0xcd
je 0x1401812
mov edx, dword [ebp - 0x484]
and edx, 0xff
cmp edx, 0xf1
jne 0x14019a8
mov byte [ebp - 0x4bc], 0x57
mov byte [ebp - 0x4bb], 0x65
mov byte [ebp - 0x4ba], 0x6c
mov byte [ebp - 0x4b9], 0x63
mov byte [ebp - 0x4b8], 0x6f
mov byte [ebp - 0x4b7], 0x6d
mov byte [ebp - 0x4b6], 0x65
mov byte [ebp - 0x4b5], 0x20
mov byte [ebp - 0x4b4], 0x74
mov byte [ebp - 0x4b3], 0x6f
mov byte [ebp - 0x4b2], 0x20
mov byte [ebp - 0x4b1], 0x52
mov byte [ebp - 0x4b0], 0x61
mov byte [ebp - 0x4af], 0x64
mov byte [ebp - 0x4ae], 0x6d
mov byte [ebp - 0x4ad], 0x69
mov byte [ebp - 0x4ac], 0x6e
mov byte [ebp - 0x4ab], 0x20
mov byte [ebp - 0x4aa], 0x53
mov byte [ebp - 0x4a9], 0x68
mov byte [ebp - 0x4a8], 0x69
mov byte [ebp - 0x4a7], 0x65
mov byte [ebp - 0x4a6], 0x6c
mov byte [ebp - 0x4a5], 0x64
mov byte [ebp - 0x4a4], 0x20
mov byte [ebp - 0x4a3], 0x32
mov byte [ebp - 0x4a2], 0x20
mov byte [ebp - 0x4a1], 0x70
mov byte [ebp - 0x4a0], 0x72
mov byte [ebp - 0x49f], 0x6f
mov byte [ebp - 0x49e], 0x74
mov byte [ebp - 0x49d], 0x65
mov byte [ebp - 0x49c], 0x63
mov byte [ebp - 0x49b], 0x74
mov byte [ebp - 0x49a], 0x6f
mov byte [ebp - 0x499], 0x72
mov byte [ebp - 0x498], 0x20
mov byte [ebp - 0x497], 0x62
mov byte [ebp - 0x496], 0x79
mov byte [ebp - 0x495], 0x20
mov byte [ebp - 0x494], 0x44
mov byte [ebp - 0x493], 0x6d
mov byte [ebp - 0x492], 0x69
mov byte [ebp - 0x491], 0x74
mov byte [ebp - 0x490], 0x72
mov byte [ebp - 0x48f], 0x79
mov byte [ebp - 0x48e], 0x20
mov byte [ebp - 0x48d], 0x5a
mov byte [ebp - 0x48c], 0x6e
mov byte [ebp - 0x48b], 0x6f
mov byte [ebp - 0x48a], 0x73
mov byte [ebp - 0x489], 0x6b
mov byte [ebp - 0x488], 0x6f
mov byte [ebp - 0x487], 0
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4d0]
jmp 0x1401cdf
mov dword [ebp - 4], 0xffffffff
jmp 0x14019d6
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x8c]
mov dword [eax], ecx
jmp 0x140157d
lea ecx, [ebp - 0x50]
call fcn.01401120
mov dword [ebp - 0x38], 0
jmp 0x1401a03
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x68]
jae 0x1401ad3
mov edx, str.mycol
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x1c
mov eax, dword [ebp - 0x2c]
add ecx, eax
call fcn.01401d00
test eax, eax
je 0x1401ace
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x1c
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + ecx + 0x18]
shr eax, 2
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4c0]
sub ecx, 1
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x1c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [0x14127f8]
add ecx, dword [eax + edx + 8]
mov dword [0x14127fc], ecx
mov dword [ebp - 0x20], 0
jmp 0x1401a7c
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x4c0]
jae 0x1401acc
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x14127fc]
mov eax, dword [edx + ecx*4]
add eax, dword [0x14127f8]
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x14127fc]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x14127fc]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x4c4]
mov dword [edx], ecx
jmp 0x1401a73
jmp 0x1401ad3
jmp 0x14019fa
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x68]
jne 0x1401af8
push 0
push 0x1412818
mov edx, str.Err7
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
mov dword [ebp - 0x38], 0
jmp 0x1401b0a
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x60]
jae 0x1401b5e
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
cmp dword [ecx + eax*8 + 4], 2
jb 0x1401b3c
push 0
push 0x1412818
mov edx, str.Err8
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov ecx, dword [0x14127f8]
add ecx, dword [eax + edx*8]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + edx*8 + 4]
mov dword [edx*4 + 0x1412810], ecx
jmp 0x1401b01
mov dword [ebp - 0x38], 0
jmp 0x1401b70
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x68]
jae 0x1401cb8
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4cc], 0
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x1c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0xe0000000
cmp ecx, 0xe0000000
jne 0x1401bba
mov dword [ebp - 0x4c8], 0x40
jmp 0x1401c60
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x1c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0x60000000
cmp ecx, 0x60000000
jne 0x1401be1
mov dword [ebp - 0x4c8], 0x20
jmp 0x1401c60
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x1c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0x20000000
cmp ecx, 0x20000000
jne 0x1401c08
mov dword [ebp - 0x4c8], 0x10
jmp 0x1401c60
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x1c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0xc0000000
cmp ecx, 0xc0000000
jne 0x1401c2f
mov dword [ebp - 0x4c8], 4
jmp 0x1401c60
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x1c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0x40000000
cmp ecx, 0x40000000
jne 0x1401c56
mov dword [ebp - 0x4c8], 2
jmp 0x1401c60
mov dword [ebp - 0x4c8], 1
lea edx, [ebp - 0x4cc]
push edx
mov eax, dword [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x1c
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + ecx + 0xc]
push eax
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x1c
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x14127f8]
add eax, dword [edx + ecx + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1401cb3
push 0
push 0x1412818
mov edx, str.Err3x
xor ecx, ecx
call fcn.01401000
mov eax, 1
jmp 0x1401cdf
jmp 0x1401b67
push 0x8000
push 0
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov edx, dword [0x14127f8]
add edx, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x5c]
jmp eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10