Function at 0x100a60c1
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Parse pe header

Disassembly:
push 0x514
mov eax, 0x101a99df
call fcn.1017516e
mov edi, ecx
mov esi, dword [ebp + 8]
xor edx, edx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x50c], edx
mov dword [ebp - 0x508], edx
mov dword [ebp - 0x50c], edx
mov dword [ebp - 0x508], 0xf
mov byte [ebp - 0x51c], dl
mov dword [ebp - 4], edx
mov eax, 0x234f
cmp word [esi + 6], ax
jne 0x100a65a9
push 0x7a
pop ecx
mov dword [ebp - 0x4a8], ecx
mov eax, dword [ebp - 0x4a8]
xor eax, 0x63
mov byte [ebp - 0x4a4], al
mov eax, dword [ebp - 0x4a8]
inc al
xor eax, 0x69
mov byte [ebp - 0x4a3], al
mov eax, dword [ebp - 0x4a8]
add al, 2
xor eax, 0x73
mov byte [ebp - 0x4a2], al
mov eax, dword [ebp - 0x4a8]
add al, 3
xor eax, 0x62
mov byte [ebp - 0x4a1], al
mov eax, dword [ebp - 0x4a8]
add al, 4
xor eax, 0x6a
mov byte [ebp - 0x4a0], al
mov eax, dword [ebp - 0x4a8]
add al, 5
xor eax, 0x72
mov byte [ebp - 0x49f], al
mov eax, dword [ebp - 0x4a8]
add al, 6
xor eax, 0x74
mov byte [ebp - 0x49e], al
mov eax, dword [ebp - 0x4a8]
add al, 7
xor eax, 0x61
mov byte [ebp - 0x49d], al
mov eax, dword [ebp - 0x4a8]
add al, 8
xor eax, 0x70
mov byte [ebp - 0x49c], al
mov eax, dword [ebp - 0x4a8]
add al, 9
xor eax, 0x75
mov byte [ebp - 0x49b], al
mov eax, dword [ebp - 0x4a8]
add al, 0xa
xor eax, 0x71
mov byte [ebp - 0x49a], al
mov eax, dword [ebp - 0x4a8]
add al, 0xb
xor eax, 0x76
mov byte [ebp - 0x499], al
mov eax, dword [ebp - 0x4a8]
add al, 0xc
xor eax, 0x6b
mov byte [ebp - 0x498], al
mov eax, dword [ebp - 0x4a8]
add al, 0xd
xor eax, 0x68
mov byte [ebp - 0x497], al
mov eax, dword [ebp - 0x4a8]
add al, 0xe
xor eax, 0x77
mov byte [ebp - 0x496], al
mov eax, dword [ebp - 0x4a8]
add al, 0xf
xor eax, 0x67
mov byte [ebp - 0x495], al
mov eax, dword [ebp - 0x4a8]
add al, 0x10
xor eax, 0x78
mov byte [ebp - 0x494], al
mov eax, dword [ebp - 0x4a8]
add al, 0x11
xor eax, 0x6e
mov byte [ebp - 0x493], al
mov eax, dword [ebp - 0x4a8]
add al, 0x12
xor eax, 0x6f
mov byte [ebp - 0x492], al
mov eax, dword [ebp - 0x4a8]
add al, 0x13
xor eax, 0x6c
mov byte [ebp - 0x491], al
mov eax, dword [ebp - 0x4a8]
add al, 0x14
xor eax, 0x79
mov byte [ebp - 0x490], al
mov eax, dword [ebp - 0x4a8]
add al, 0x15
xor eax, 0x6d
mov byte [ebp - 0x48f], al
mov eax, dword [ebp - 0x4a8]
add al, 0x16
xor eax, ecx
mov byte [ebp - 0x48e], al
mov eax, dword [ebp - 0x4a8]
add al, 0x17
xor eax, 0x66
mov byte [ebp - 0x48d], al
mov eax, dword [ebp - 0x4a8]
add al, 0x18
xor eax, 0x64
mov byte [ebp - 0x48c], al
mov eax, dword [ebp - 0x4a8]
add al, 0x19
xor eax, 0x65
mov byte [ebp - 0x48b], al
mov eax, dword [ebp - 0x4a8]
add al, 0x1a
xor eax, 0x59
mov byte [ebp - 0x48a], al
mov eax, dword [ebp - 0x4a8]
add al, 0x1b
xor eax, 0x5a
mov byte [ebp - 0x489], al
mov eax, dword [ebp - 0x4a8]
add al, 0x1c
xor eax, 0x58
mov byte [ebp - 0x488], al
mov eax, dword [ebp - 0x4a8]
add al, 0x1d
xor eax, 0x57
mov byte [ebp - 0x487], al
mov eax, dword [ebp - 0x4a8]
add al, 0x1e
xor eax, 0x41
mov byte [ebp - 0x486], al
mov eax, dword [ebp - 0x4a8]
add al, 0x1f
xor eax, 0x4f
mov byte [ebp - 0x485], al
mov eax, dword [ebp - 0x4a8]
add al, 0x20
xor eax, 0x4e
mov byte [ebp - 0x484], al
mov eax, dword [ebp - 0x4a8]
add al, 0x21
xor eax, 0x42
mov byte [ebp - 0x483], al
mov eax, dword [ebp - 0x4a8]
add al, 0x22
xor eax, 0x4d
mov byte [ebp - 0x482], al
mov eax, dword [ebp - 0x4a8]
add al, 0x23
xor eax, 0x4b
mov byte [ebp - 0x481], al
mov eax, dword [ebp - 0x4a8]
add al, 0x24
xor eax, 0x50
mov byte [ebp - 0x480], al
mov eax, dword [ebp - 0x4a8]
add al, 0x25
xor eax, 0x43
mov byte [ebp - 0x47f], al
mov eax, dword [ebp - 0x4a8]
add al, 0x26
xor eax, 0x51
mov byte [ebp - 0x47e], al
mov eax, dword [ebp - 0x4a8]
add al, 0x27
xor eax, 0x4c
mov byte [ebp - 0x47d], al
mov eax, dword [ebp - 0x4a8]
add al, 0x28
xor eax, 0x44
mov byte [ebp - 0x47c], al
mov eax, dword [ebp - 0x4a8]
add al, 0x29
xor eax, 0x52
mov byte [ebp - 0x47b], al
mov eax, dword [ebp - 0x4a8]
add al, 0x2a
xor eax, 0x45
mov byte [ebp - 0x47a], al
mov eax, dword [ebp - 0x4a8]
add al, 0x2b
xor eax, 0x53
mov byte [ebp - 0x479], al
mov eax, dword [ebp - 0x4a8]
add al, 0x2c
xor eax, 0x46
mov byte [ebp - 0x478], al
mov eax, dword [ebp - 0x4a8]
add al, 0x2d
xor eax, 0x54
mov byte [ebp - 0x477], al
mov eax, dword [ebp - 0x4a8]
add al, 0x2e
xor eax, 0x47
mov byte [ebp - 0x476], al
mov eax, dword [ebp - 0x4a8]
add al, 0x2f
xor eax, 0x55
mov byte [ebp - 0x475], al
mov eax, dword [ebp - 0x4a8]
add al, 0x30
xor eax, 0x48
mov byte [ebp - 0x474], al
mov eax, dword [ebp - 0x4a8]
add al, 0x31
xor eax, 0x56
mov byte [ebp - 0x473], al
mov eax, dword [ebp - 0x4a8]
add al, 0x32
xor eax, 0x49
mov byte [ebp - 0x472], al
mov eax, dword [ebp - 0x4a8]
add al, 0x33
xor eax, 0x4a
mov byte [ebp - 0x471], al
mov eax, dword [ebp - 0x4a8]
add al, 0x34
xor eax, 0x5f
mov byte [ebp - 0x470], al
mov eax, dword [ebp - 0x4a8]
add al, 0x35
xor eax, 0x2d
mov byte [ebp - 0x46f], al
mov eax, dword [ebp - 0x4a8]
add al, 0x36
xor eax, 0x30
mov byte [ebp - 0x46e], al
mov eax, dword [ebp - 0x4a8]
add al, 0x37
xor eax, 0x35
mov byte [ebp - 0x46d], al
mov eax, dword [ebp - 0x4a8]
add al, 0x38
xor eax, 0x31
mov byte [ebp - 0x46c], al
mov eax, dword [ebp - 0x4a8]
add al, 0x39
xor eax, 0x36
mov byte [ebp - 0x46b], al
mov eax, dword [ebp - 0x4a8]
add al, 0x3a
xor eax, 0x32
mov byte [ebp - 0x46a], al
mov eax, dword [ebp - 0x4a8]
add al, 0x3b
xor eax, 0x39
mov byte [ebp - 0x469], al
mov eax, dword [ebp - 0x4a8]
add al, 0x3c
xor eax, 0x37
mov byte [ebp - 0x468], al
mov eax, dword [ebp - 0x4a8]
add al, 0x3d
xor eax, 0x33
mov byte [ebp - 0x467], al
mov eax, dword [ebp - 0x4a8]
add al, 0x3e
xor eax, 0x38
mov byte [ebp - 0x466], al
mov eax, dword [ebp - 0x4a8]
add al, 0x3f
xor eax, 0x34
mov byte [ebp - 0x465], al
mov eax, dword [ebp - 0x4a8]
add al, 0x40
mov byte [ebp - 0x463], dl
xor eax, 0x3f
mov byte [ebp - 0x464], al
mov al, byte [ebp - 0x4a4]
mov al, byte [ebp + edx - 0x4a4]
mov ecx, dword [ebp - 0x4a8]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x4a4], cl
inc edx
cmp edx, 0x41
jb 0x100a6571
lea eax, [ebp - 0x4a4]
mov byte [ebp - 0x463], 0
push eax
push 0
push 0x3c
jmp 0x100a67ba
mov dword [ebp - 0x504], 0x49
mov byte [ebp - 0x500], 0x2a
mov byte [ebp - 0x4ff], 0x20
mov byte [ebp - 0x4fe], 0x3a
mov byte [ebp - 0x4fd], 0x2b
mov byte [ebp - 0x4fc], 0x23
mov byte [ebp - 0x4fb], 0x3b
mov byte [ebp - 0x4fa], 0x3d
mov byte [ebp - 0x4f9], 0x28
mov byte [ebp - 0x4f8], 0x39
mov byte [ebp - 0x4f7], 0x3c
mov byte [ebp - 0x4f6], 0x38
mov byte [ebp - 0x4f5], 0x3f
mov byte [ebp - 0x4f4], 0x22
mov byte [ebp - 0x4f3], 0x21
mov byte [ebp - 0x4f2], 0x3e
mov byte [ebp - 0x4f1], 0x2e
mov byte [ebp - 0x4f0], 0x31
mov byte [ebp - 0x4ef], 0x27
mov byte [ebp - 0x4ee], 0x26
mov byte [ebp - 0x4ed], 0x25
mov byte [ebp - 0x4ec], 0x30
mov byte [ebp - 0x4eb], 0x24
mov byte [ebp - 0x4ea], 0x33
mov byte [ebp - 0x4e9], 0x2f
mov byte [ebp - 0x4e8], 0x2d
mov byte [ebp - 0x4e7], 0x2c
mov byte [ebp - 0x4e6], 0x10
mov byte [ebp - 0x4e5], 0x13
mov byte [ebp - 0x4e4], 0x11
mov byte [ebp - 0x4e3], 0x1e
mov byte [ebp - 0x4e2], 8
mov byte [ebp - 0x4e1], 6
mov byte [ebp - 0x4e0], 7
mov byte [ebp - 0x4df], 0xb
mov byte [ebp - 0x4de], 4
mov byte [ebp - 0x4dd], 2
mov byte [ebp - 0x4dc], 0x19
mov byte [ebp - 0x4db], 0xa
mov byte [ebp - 0x4da], 0x18
mov byte [ebp - 0x4d9], 5
mov byte [ebp - 0x4d8], 0xd
mov byte [ebp - 0x4d7], 0x1b
mov byte [ebp - 0x4d6], 0xc
mov byte [ebp - 0x4d5], 0x1a
mov byte [ebp - 0x4d4], 0xf
mov byte [ebp - 0x4d3], 0x1d
mov byte [ebp - 0x4d2], 0xe
mov byte [ebp - 0x4d1], 0x1c
mov byte [ebp - 0x4d0], 1
mov byte [ebp - 0x4cf], 0x1f
mov byte [ebp - 0x4ce], dl
mov byte [ebp - 0x4cd], 3
mov byte [ebp - 0x4cc], 0x16
mov byte [ebp - 0x4cb], 0x64
mov byte [ebp - 0x4ca], 0x79
mov byte [ebp - 0x4c9], 0x7c
mov byte [ebp - 0x4c8], 0x78
mov byte [ebp - 0x4c7], 0x7f
mov byte [ebp - 0x4c6], 0x7b
mov byte [ebp - 0x4c5], 0x70
mov byte [ebp - 0x4c4], 0x7e
mov byte [ebp - 0x4c3], 0x7a
mov byte [ebp - 0x4c2], 0x71
mov byte [ebp - 0x4c1], 0x7d
mov byte [ebp - 0x4c0], 0x76
mov al, byte [ebp - 0x500]
mov byte [ebp - 0x4bf], dl
mov al, byte [ebp + edx - 0x500]
movsx ecx, byte [ebp - 0x504]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x500], al
inc edx
cmp edx, 0x41
jb 0x100a6785
lea eax, [ebp - 0x500]
mov byte [ebp - 0x4bf], 0
push eax
push 0
push 0x12c
lea eax, [esi + 8]
mov edx, 0x400
push eax
lea ecx, [ebp - 0x460]
call fcn.10013f95
mov dword [ebp - 0x4bc], 0x3b
xor edx, edx
mov byte [ebp - 0x4b8], 0x1e
mov byte [ebp - 0x4b7], 0x48
mov byte [ebp - 0x4b6], 4
mov byte [ebp - 0x4b5], 0x4b
mov byte [ebp - 0x4b4], 6
mov byte [ebp - 0x4b3], 0x1e
mov byte [ebp - 0x4b2], 0xb
mov byte [ebp - 0x4b1], 3
mov byte [ebp - 0x4b0], 0x43
mov byte [ebp - 0x4af], 0x1d
mov byte [ebp - 0x4ae], 0x4a
mov byte [ebp - 0x4ad], 6
mov byte [ebp - 0x4ac], 0x1e
mov byte [ebp - 0x4ab], 0x48
mov al, byte [ebp - 0x4b8]
mov byte [ebp - 0x4aa], 0
mov al, byte [ebp + edx - 0x4b8]
movsx ecx, byte [ebp - 0x4bc]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x4b8], al
inc edx
cmp edx, 0xe
jb 0x100a6849
lea eax, [ebp - 0x460]
mov byte [ebp - 0x4aa], 0
push eax
movzx eax, word [esi + 6]
push eax
push ebx
lea eax, [ebp - 0x4b8]
push eax
lea eax, [ebp - 0x51c]
push eax
call fcn.1001761b
mov eax, dword [edi + 0x38]
lea edx, [ebp - 0x51c]
add esp, 0x14
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
mov ecx, dword [edi + 0x38]
lea eax, [edi + 0x2c]
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x6c]
mov eax, dword [edi + 0x38]
lea edx, [ebp - 0x520]
push 0x40000000
push edx
push 0x50
mov ecx, dword [eax]
lea edx, [ebp - 0x60]
push edx
push eax
call dword [ecx + 0x64]
xor esi, esi
test eax, eax
cmovs esi, eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x51c]
call fcn.10017221
mov eax, esi
call fcn.10175118
ret 8