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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x1416bf8
push 0x1405bc0
mov eax, dword fs:[0]
push eax
add esp, 0xfffffb30
mov eax, dword [0x1418010]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
lea eax, [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0x4ac]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.014042a0
add esp, 0xc
test eax, eax
jne 0x1404637
push 0
push 0x1412d73
push str.Err000
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
cmp dword [ebp - 0x4b4], 8
jae 0x1404660
push 0
push 0x1412d73
push str.Err001
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
mov eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x494]
mov edx, dword [ecx + 4]
add edx, 8
cmp dword [ebp - 0x4b4], edx
jae 0x14046a0
push 0
push 0x1412d73
push str.Err002
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
mov eax, dword [ebp - 0x494]
mov ecx, dword [eax]
mov dword [ebp - 0x4a4], ecx
push 4
push 0x1000
mov edx, dword [ebp - 0x4a4]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x48c], eax
cmp dword [ebp - 0x48c], 0
jne 0x14046f3
push 0
push 0x1412d73
push str.Err0
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x464], eax
lea ecx, [ebp - 0x4a4]
push ecx
mov edx, dword [ebp - 0x464]
push edx
mov eax, dword [ebp - 0x494]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x4ac]
add edx, 8
push edx
call fcn.014044a0
add esp, 0x10
test eax, eax
jne 0x140474d
push 0
push 0x1412d73
push str.Err6
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x484], 0
mov ecx, 7
mov esi, dword [ebp - 0x464]
lea edi, [ebp - 0x458]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x464]
add eax, 0x1c
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x460], ecx
imul edx, dword [ebp - 0x448], 0x1c
add edx, dword [ebp - 0x464]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x47c], eax
imul ecx, dword [ebp - 0x444], 0x107
add ecx, dword [ebp - 0x464]
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x464]
mov dword [ebp - 0x484], edx
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x464]
lea edx, [ecx + eax*8]
mov dword [ebp - 0x464], edx
mov dword [ebp - 0x45c], 0
jmp 0x140480a
mov eax, dword [ebp - 0x45c]
add eax, 1
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x45c]
cmp ecx, dword [ebp - 0x448]
jae 0x140484e
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x464]
mov dword [eax + edx + 0x14], ecx
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x464]
add ecx, dword [eax + edx + 0x18]
mov dword [ebp - 0x464], ecx
jmp 0x14047fb
mov dword [ebp - 0x490], 0
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x450]
mov eax, 0x1c
imul ecx, eax, 0
mov eax, dword [ebp - 0x460]
sub edx, dword [eax + ecx + 8]
mov dword [0x14190e0], edx
mov ecx, dword [0x14190e0]
sub ecx, dword [ebp - 0x458]
mov dword [ebp - 0x490], ecx
mov dword [ebp - 0x45c], 0
jmp 0x14048a6
mov edx, dword [ebp - 0x45c]
add edx, 1
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x45c]
cmp eax, dword [ebp - 0x448]
jae 0x1404968
mov dword [ebp - 0x4cc], 0
lea ecx, [ebp - 0x4cc]
push ecx
push 4
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax + edx + 0xc]
push ecx
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [0x14190e0]
add ecx, dword [eax + edx + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x140491f
push 0
push 0x1412d73
push str.Err3xx
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax + edx + 0x18]
push ecx
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax + edx + 0x14]
push ecx
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [0x14190e0]
add ecx, dword [eax + edx + 8]
push ecx
call fcn.01403f90
add esp, 0xc
jmp 0x1404897
lea edx, [ebp - 0x4e0]
push edx
call fcn.014041f0
add esp, 4
test eax, eax
jne 0x140499b
push 0
push 0x1412d73
push str.Err31
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
mov dword [ebp - 0x45c], 0
jmp 0x14049b6
mov eax, dword [ebp - 0x45c]
add eax, 1
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x45c]
cmp ecx, dword [ebp - 0x444]
jae 0x1404dd9
mov dword [ebp - 0x49c], 0
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x488], 0
imul edx, dword [ebp - 0x45c], 0x107
mov eax, dword [ebp - 0x47c]
mov ecx, dword [0x14190e0]
add ecx, dword [eax + edx + 0xff]
mov dword [ebp - 0x4bc], ecx
imul edx, dword [ebp - 0x45c], 0x107
add edx, dword [ebp - 0x47c]
push edx
lea eax, [ebp - 0x43c]
push eax
call fcn.01404010
add esp, 8
imul ecx, dword [ebp - 0x45c], 0x107
mov edx, dword [ebp - 0x47c]
mov eax, dword [edx + ecx + 0x103]
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x4b0], 0
lea ecx, [ebp - 0x43c]
push ecx
call fcn.01404160
add esp, 4
sub eax, 1
mov dword [ebp - 0x46c], eax
jmp 0x1404a79
mov edx, dword [ebp - 0x46c]
sub edx, 1
mov dword [ebp - 0x46c], edx
cmp dword [ebp - 0x46c], 0
jle 0x1404a99
mov eax, dword [ebp - 0x46c]
movsx ecx, byte [ebp + eax - 0x43c]
cmp ecx, 0x2e
jne 0x1404a97
jmp 0x1404a99
jmp 0x1404a6a
cmp dword [ebp - 0x46c], 0
jne 0x1404ac2
push 0
push 0x1412d73
push str.Err4
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 0x4a0], edx
mov eax, dword [ebp - 0x46c]
add eax, 1
mov dword [ebp - 0x46c], eax
cmp dword [ebp - 0x4a0], 0x3e8
jae 0x1404aeb
jmp 0x1404af0
call fcn.01405aac
mov ecx, dword [ebp - 0x4a0]
mov byte [ebp + ecx - 0x43c], 0
lea edx, [ebp - 0x4d0]
push edx
lea eax, [ebp - 0x4a8]
push eax
lea ecx, [ebp - 0x43c]
push ecx
lea edx, [ebp - 0x4e0]
push edx
call fcn.01404300
add esp, 0x10
test eax, eax
jne 0x1404b48
push 0
push str.Cant_load_library
lea eax, [ebp - 0x43c]
push eax
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
cmp dword [ebp - 0x488], 0
je 0x1404b6d
mov ecx, dword [ebp - 0x488]
push ecx
mov edx, dword [ebp - 0x4a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x478], eax
jmp 0x1404b8e
mov eax, dword [ebp - 0x46c]
lea ecx, [ebp + eax - 0x43c]
push ecx
mov edx, dword [ebp - 0x4a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x4b0], 0
cmp dword [ebp - 0x478], 0
jne 0x1404bcd
push 0
push str.Cant_load_function_from_library
imul eax, dword [ebp - 0x45c], 0x107
add eax, dword [ebp - 0x47c]
push eax
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
cmp dword [ebp - 0x4b0], 0
je 0x1404c35
mov ecx, dword [ebp - 0x49c]
mov edx, dword [ebp - 0x49c]
add edx, 1
mov dword [ebp - 0x49c], edx
cmp ecx, 0x64
jbe 0x1404c10
push 0
push 0x1412d73
push str.Err5
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
mov eax, dword [ebp - 0x478]
push eax
lea ecx, [ebp - 0x43c]
push ecx
call fcn.01404010
add esp, 8
mov dword [ebp - 0x488], 0
jmp 0x1404a46
push 0x1412e80
mov edx, dword [ebp - 0x46c]
lea eax, [ebp + edx - 0x43c]
push eax
call fcn.01404090
add esp, 8
test eax, eax
jne 0x1404dc6
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x478]
mov dl, byte [ecx]
mov byte [ebp - 0x465], dl
movzx eax, byte [ebp - 0x465]
cmp eax, 0xcc
je 0x1404c9d
movzx ecx, byte [ebp - 0x465]
cmp ecx, 0xcd
je 0x1404c9d
movzx edx, byte [ebp - 0x465]
cmp edx, 0xf1
jne 0x1404d91
mov byte [ebp - 0x54], 0x57
mov byte [ebp - 0x53], 0x65
mov byte [ebp - 0x52], 0x6c
mov byte [ebp - 0x51], 0x63
mov byte [ebp - 0x50], 0x6f
mov byte [ebp - 0x4f], 0x6d
mov byte [ebp - 0x4e], 0x65
mov byte [ebp - 0x4d], 0x20
mov byte [ebp - 0x4c], 0x74
mov byte [ebp - 0x4b], 0x6f
mov byte [ebp - 0x4a], 0x20
mov byte [ebp - 0x49], 0x52
mov byte [ebp - 0x48], 0x61
mov byte [ebp - 0x47], 0x64
mov byte [ebp - 0x46], 0x6d
mov byte [ebp - 0x45], 0x69
mov byte [ebp - 0x44], 0x6e
mov byte [ebp - 0x43], 0x20
mov byte [ebp - 0x42], 0x53
mov byte [ebp - 0x41], 0x68
mov byte [ebp - 0x40], 0x69
mov byte [ebp - 0x3f], 0x65
mov byte [ebp - 0x3e], 0x6c
mov byte [ebp - 0x3d], 0x64
mov byte [ebp - 0x3c], 0x20
mov byte [ebp - 0x3b], 0x32
mov byte [ebp - 0x3a], 0x20
mov byte [ebp - 0x39], 0x70
mov byte [ebp - 0x38], 0x72
mov byte [ebp - 0x37], 0x6f
mov byte [ebp - 0x36], 0x74
mov byte [ebp - 0x35], 0x65
mov byte [ebp - 0x34], 0x63
mov byte [ebp - 0x33], 0x74
mov byte [ebp - 0x32], 0x6f
mov byte [ebp - 0x31], 0x72
mov byte [ebp - 0x30], 0x20
mov byte [ebp - 0x2f], 0x62
mov byte [ebp - 0x2e], 0x79
mov byte [ebp - 0x2d], 0x20
mov byte [ebp - 0x2c], 0x44
mov byte [ebp - 0x2b], 0x6d
mov byte [ebp - 0x2a], 0x69
mov byte [ebp - 0x29], 0x74
mov byte [ebp - 0x28], 0x72
mov byte [ebp - 0x27], 0x79
mov byte [ebp - 0x26], 0x20
mov byte [ebp - 0x25], 0x5a
mov byte [ebp - 0x24], 0x6e
mov byte [ebp - 0x23], 0x6f
mov byte [ebp - 0x22], 0x73
mov byte [ebp - 0x21], 0x6b
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x4b8]
jmp 0x1405189
mov dword [ebp - 4], 0xfffffffe
jmp 0x1404dc6
mov eax, dword [ebp - 0x4bc]
mov ecx, dword [ebp - 0x478]
mov dword [eax], ecx
jmp 0x14049a7
lea edx, [ebp - 0x4e0]
push edx
call fcn.01404260
add esp, 4
mov dword [ebp - 0x45c], 0
jmp 0x1404e03
mov eax, dword [ebp - 0x45c]
add eax, 1
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x45c]
cmp ecx, dword [ebp - 0x448]
jae 0x1404f22
push str.mycol
imul edx, dword [ebp - 0x45c], 0x1c
add edx, dword [ebp - 0x460]
push edx
call fcn.01404090
add esp, 8
test eax, eax
je 0x1404f1d
imul eax, dword [ebp - 0x45c], 0x1c
mov ecx, dword [ebp - 0x460]
mov edx, dword [ecx + eax + 0x18]
shr edx, 2
mov dword [ebp - 0x498], edx
mov eax, dword [ebp - 0x498]
sub eax, 1
mov dword [ebp - 0x498], eax
imul ecx, dword [ebp - 0x45c], 0x1c
mov edx, dword [ebp - 0x460]
mov eax, dword [0x14190e0]
add eax, dword [edx + ecx + 8]
mov dword [0x14190e4], eax
mov dword [ebp - 0x474], 0
jmp 0x1404e97
mov ecx, dword [ebp - 0x474]
add ecx, 1
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x474]
cmp edx, dword [ebp - 0x498]
jae 0x1404f1b
mov eax, dword [ebp - 0x474]
mov ecx, dword [0x14190e4]
mov edx, dword [ecx + eax*4]
add edx, dword [0x14190e0]
mov eax, dword [ebp - 0x474]
mov ecx, dword [0x14190e4]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x474]
mov eax, dword [0x14190e4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x480]
mov eax, dword [edx]
add eax, dword [ebp - 0x490]
cmp eax, dword [0x14190e0]
jne 0x1404f00
mov ecx, dword [ebp - 0x480]
mov edx, dword [ebp + 8]
mov dword [ecx], edx
jmp 0x1404f16
mov eax, dword [ebp - 0x480]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x490]
mov edx, dword [ebp - 0x480]
mov dword [edx], ecx
jmp 0x1404e88
jmp 0x1404f22
jmp 0x1404df4
mov eax, dword [ebp - 0x45c]
cmp eax, dword [ebp - 0x448]
jne 0x1404f50
push 0
push 0x1412d73
push str.Err7
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
mov dword [ebp - 0x45c], 0
jmp 0x1404f6b
mov ecx, dword [ebp - 0x45c]
add ecx, 1
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x45c]
cmp edx, dword [ebp - 0x440]
jae 0x1404fda
mov eax, dword [ebp - 0x45c]
mov ecx, dword [ebp - 0x484]
cmp dword [ecx + eax*8 + 4], 2
jb 0x1404fac
push 0
push 0x1412d73
push str.Err8
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x484]
mov ecx, dword [0x14190e0]
add ecx, dword [eax + edx*8]
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x484]
mov edx, dword [eax + edx*8 + 4]
mov dword [edx*4 + 0x14190f8], ecx
jmp 0x1404f5c
mov dword [ebp - 0x45c], 0
jmp 0x1404ff5
mov eax, dword [ebp - 0x45c]
add eax, 1
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x45c]
cmp ecx, dword [ebp - 0x448]
jae 0x1405156
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x4c4], 0
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0xe0000000
cmp ecx, 0xe0000000
jne 0x1405049
mov dword [ebp - 0x470], 0x40
jmp 0x14050f3
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0x60000000
cmp ecx, 0x60000000
jne 0x1405074
mov dword [ebp - 0x470], 0x20
jmp 0x14050f3
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0x20000000
je 0x1405099
mov dword [ebp - 0x470], 0x10
jmp 0x14050f3
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0xc0000000
cmp ecx, 0xc0000000
jne 0x14050c4
mov dword [ebp - 0x470], 4
jmp 0x14050f3
imul edx, dword [ebp - 0x45c], 0x1c
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax + edx + 0x10]
and ecx, 0x40000000
je 0x14050e9
mov dword [ebp - 0x470], 2
jmp 0x14050f3
mov dword [ebp - 0x470], 1
lea edx, [ebp - 0x4c4]
push edx
mov eax, dword [ebp - 0x470]
push eax
imul ecx, dword [ebp - 0x45c], 0x1c
mov edx, dword [ebp - 0x460]
mov eax, dword [edx + ecx + 0xc]
push eax
imul ecx, dword [ebp - 0x45c], 0x1c
mov edx, dword [ebp - 0x460]
mov eax, dword [0x14190e0]
add eax, dword [edx + ecx + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1405151
push 0
push 0x1412d73
push str.Err3x
push 0
call fcn.01404480
add esp, 0x10
mov eax, 1
jmp 0x1405189
jmp 0x1404fe6
push 0x8000
push 0
mov ecx, dword [ebp - 0x48c]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov edx, dword [0x14190e0]
add edx, dword [ebp - 0x44c]
mov dword [ebp - 0x4c8], edx
mov eax, dword [ebp - 0x4c8]
jmp eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0140531a
mov esp, ebp
pop ebp
ret 0x10