Function at 0x100c4fa0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101074aa
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x130
mov eax, dword [0x1011900c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x24], edi
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0x666e6f63
push eax
lea ecx, [ebp - 0x50]
mov word [ebp - 0x9c], 0x6769
mov byte [ebp - 0x9a], 0
call fcn.1002ed90
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x100c502c
mov byte [ebp - 0x18], 0
mov ecx, edi
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
push str.emporium
lea ecx, [ebp - 0xf8]
call fcn.1002ed90
push str.dignity
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 1
call fcn.1002ed90
push str.vutra
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 2
call fcn.1002ed90
lea eax, [ebp - 0x65]
mov dword [ebp - 4], 3
push eax
lea ecx, [ebp - 0xb0]
push ecx
lea edx, [ebp - 0xf8]
push edx
lea ecx, [ebp - 0x60]
call fcn.100cdc10
mov byte [ebp - 4], 4
lea eax, [ebp - 0x48]
movaps xmm0, xmmword [0x1010e810]
lea ecx, [ebp - 0x80]
pxor xmm0, xmmword [0x1010e700]
push eax
movups xmmword [ebp - 0x48], xmm0
call fcn.1002ed90
mov byte [ebp - 4], 5
lea eax, [ebp - 0x38]
movaps xmm0, xmmword [0x1010de40]
lea ecx, [ebp - 0x98]
pxor xmm0, xmmword [0x1010e810]
push eax
movups xmmword [ebp - 0x38], xmm0
mov byte [ebp - 0x28], 0
call fcn.1002ed90
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 6
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c50ff
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [edi + 0xa0]
mov byte [edi + 0x99], 1
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c5123
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
mov esi, dword [ebp - 0x60]
xor eax, eax
cmp byte [edi + 0x99], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xcc], eax
add eax, 0x14
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0x5c]
cmp esi, eax
mov dword [ebp - 0x9c], eax
lea eax, [edi + 0xb8]
je 0x100c517c
mov edi, eax
nop word [eax + eax]
push esi
mov ecx, edi
call fcn.10051660
add esi, 0x18
cmp esi, dword [ebp - 0x9c]
jne 0x100c5160
mov edi, dword [ebp - 0x24]
lea eax, [edi + 0xb8]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100c519e
mov dword [edi + 0xc8], 0
lea ecx, [ebp - 0x98]
call fcn.1002ed40
lea ecx, [ebp - 0x80]
call fcn.1002ed40
lea ecx, [ebp - 0x60]
call fcn.100519b0
push fcn.1002ed40
push 3
push 0x18
lea eax, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100fd631
lea eax, [edi + 0x30]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x48], 0
imul eax, dword [edi + 0x48], 0xeb
add eax, 0x14
mov dword [edi + 0x34], eax
mov dword [edi + 0x3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdbe0
mov dword [ebp - 0xa4], 0x8e898f8a
xor ecx, ecx
mov dword [ebp - 0xa0], 0x928593c0
mov dword [ebp - 0x9c], 0xe0928596
nop dword [eax + eax]
xor byte [ebp + ecx - 0xa4], 0xe0
inc ecx
cmp ecx, 0xc
jb 0x100c5230
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x13c]
mov dword [ebp - 4], 7
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c526e
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
mov dword [edi + 0x134], 0x10032970
lea eax, [edi + 0xd0]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0xe8], 0
imul eax, dword [edi + 0xe8], 0xeb
add eax, 0x14
mov dword [edi + 0xd4], eax
mov dword [edi + 0xdc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xec], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdbe0
mov esi, dword [0x1010cca4]
xor ecx, ecx
mov dword [ebp - 0x20], 0x958e858d
mov dword [ebp - 0x1c], 0x8c8f83bf
mov word [ebp - 0x18], 0x928f
mov byte [ebp - 0x16], 0xe0
nop dword [eax]
xor byte [ebp + ecx - 0x20], 0xe0
inc ecx
cmp ecx, 0xb
jb 0x100c52f0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x98]
call fcn.1002ed90
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x34], 0x958e858d
mov dword [ebp - 0x30], 0x8c8f83c0
mov word [ebp - 0x2c], 0x928f
mov byte [ebp - 0x2a], 0xe0
nop dword [eax + eax]
xor byte [ebp + ecx - 0x34], 0xe0
inc ecx
cmp ecx, 0xb
jb 0x100c5330
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x1c4]
mov byte [ebp - 4], 9
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c5365
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [edi + 0x18c]
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c5382
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
mov dword [edi + 0x1dc], esi
lea ecx, [ebp - 0x80]
mov dword [edi + 0x1e0], 0x10432068
mov dword [0x10432068], esi
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
lea eax, [edi + 0x154]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x16c], 0
imul eax, dword [edi + 0x16c], 0xeb
add eax, 0x14
mov dword [edi + 0x158], eax
mov dword [edi + 0x160], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x170], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdbe0
mov dword [ebp - 0x48], 0x978287b2
xor ecx, ecx
mov dword [ebp - 0x44], 0x92859481
mov dword [ebp - 0x40], 0x8b92818d
mov byte [ebp - 0x3c], 0xe0
xor byte [ebp + ecx - 0x48], 0xe0
inc ecx
cmp ecx, 0xd
jb 0x100c5412
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x98]
call fcn.1002ed90
mov dword [ebp - 4], 0xa
mov ecx, 0x10
movaps xmm0, xmmword [0x1010df10]
pxor xmm0, xmmword [0x1010e810]
mov word [ebp - 0x54], 0xe08b
movups xmmword [ebp - 0x64], xmm0
xor byte [ebp + ecx - 0x64], 0xe0
inc ecx
cmp ecx, 0x12
jb 0x100c5451
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x2a4]
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c5489
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [edi + 0x2dc]
mov byte [edi + 0x2d5], 1
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c54aa
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov byte [edi + 0x2d8], 0
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
lea eax, [edi + 0x26c]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x284], 0
imul eax, dword [edi + 0x284], 0xeb
add eax, 0x14
mov dword [edi + 0x270], eax
mov dword [edi + 0x278], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x288], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdbe0
mov dword [ebp - 0x20], 0x85828792
xor ecx, ecx
mov dword [ebp - 0x1c], 0x858d858c
mov dword [ebp - 0x18], 0xe093948e
xor byte [ebp + ecx - 0x20], 0xe0
inc ecx
cmp ecx, 0xc
jb 0x100c5527
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x98]
call fcn.1002ed90
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x4c]
movaps xmm0, xmmword [0x1010df80]
lea ecx, [ebp - 0x80]
pxor xmm0, xmmword [0x1010e810]
push eax
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], 0
call fcn.1002ed90
lea ecx, [edi + 0x32c]
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c558c
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [edi + 0x364]
mov byte [edi + 0x35d], 1
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c55ad
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov byte [edi + 0x360], 0
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
lea eax, [edi + 0x2f4]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x30c], 0
imul eax, dword [edi + 0x30c], 0xeb
add eax, 0x14
mov dword [edi + 0x2f8], eax
mov dword [edi + 0x300], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x310], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdbe0
mov dword [ebp - 0x20], 0x8f828792
xor ecx, ecx
mov dword [ebp - 0x1c], 0x898c9495
mov word [ebp - 0x18], 0x858e
mov byte [ebp - 0x16], 0xe0
nop dword [eax]
xor byte [ebp + ecx - 0x20], 0xe0
inc ecx
cmp ecx, 0xb
jb 0x100c5630
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x98]
call fcn.1002ed90
mov dword [ebp - 4], 0xe
lea eax, [ebp - 0x48]
movaps xmm0, xmmword [0x1010e6b0]
lea ecx, [ebp - 0x80]
pxor xmm0, xmmword [0x1010e810]
push eax
movups xmmword [ebp - 0x48], xmm0
call fcn.1002ed90
lea ecx, [edi + 0x21c]
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c5691
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [edi + 0x254]
mov byte [edi + 0x24d], 1
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c56b2
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov byte [edi + 0x250], 0
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
lea eax, [edi + 0x1e4]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x1fc], 0
imul eax, dword [edi + 0x1fc], 0xeb
add eax, 0x14
mov dword [edi + 0x1e8], eax
mov dword [edi + 0x1f0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x200], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdbe0
xor eax, eax
lea ecx, [ebp - 0xb0]
mov word [ebp - 0x18], ax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdf30
mov dword [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp - 0x48], 0x9386868f
mov dword [ebp - 0x44], 0x85859283
mov dword [ebp - 0x40], 0x8f8dbf8e
mov word [ebp - 0x3c], 0x8584
mov byte [ebp - 0x3a], 0xe0
xor byte [ebp + ecx - 0x48], 0xe0
inc ecx
cmp ecx, 0xf
jb 0x100c5755
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x98]
call fcn.1002ed90
mov byte [ebp - 4], 0x11
xor ecx, ecx
mov dword [ebp - 0x60], 0x9386868f
mov dword [ebp - 0x5c], 0x85859283
mov dword [ebp - 0x58], 0x8993c08e
mov word [ebp - 0x54], 0x859a
mov byte [ebp - 0x52], 0xe0
xor byte [ebp + ecx - 0x60], 0xe0
inc ecx
cmp ecx, 0xf
jb 0x100c5794
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x3b4]
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c57cc
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [edi + 0x404]
mov byte [edi + 0x3e5], 1
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c57ed
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
xor eax, eax
mov dword [edi + 0x3f0], 0x41a00000
cmp byte [edi + 0x3e5], al
mov ecx, 0xf
mov dword [edi + 0x3f4], 0x43480000
cmovne eax, ecx
mov dword [edi + 0x3ec], 0x42c80000
mov dword [edi + 0x434], eax
lea ecx, [edi + 0x41c]
add eax, 8
mov dword [edi + 0x400], 0
mov dword [edi + 0x38c], eax
mov dword [edi + 0x390], eax
lea eax, [ebp - 0xb0]
mov dword [edi + 0x3f8], 0x3f800000
cmp ecx, eax
je 0x100c5861
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.100cdf80
lea ecx, [ebp - 0x80]
call fcn.1002ed40
lea ecx, [ebp - 0x98]
call fcn.1002ed40
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.10051a30
lea eax, [edi + 0x37c]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x394], 0
imul eax, dword [edi + 0x394], 0xeb
add eax, 0x14
mov dword [edi + 0x380], eax
mov dword [edi + 0x388], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x398], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdbe0
xor eax, eax
lea ecx, [ebp - 0xb0]
mov word [ebp - 0x18], ax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdf30
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x48]
movaps xmm0, xmmword [0x1010e7e0]
lea ecx, [ebp - 0x98]
pxor xmm0, xmmword [0x1010e810]
push eax
movups xmmword [ebp - 0x48], xmm0
call fcn.1002ed90
mov byte [ebp - 4], 0x14
mov ecx, 0x10
movaps xmm0, xmmword [0x1010ddc0]
pxor xmm0, xmmword [0x1010e810]
mov word [ebp - 0x54], 0x8e8f
mov byte [ebp - 0x52], 0xe0
movups xmmword [ebp - 0x64], xmm0
nop
xor byte [ebp + ecx - 0x64], 0xe0
inc ecx
cmp ecx, 0x13
jb 0x100c5930
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x470]
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c5968
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [edi + 0x4c0]
mov byte [edi + 0x4a1], 1
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c5989
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
xor eax, eax
mov dword [edi + 0x4ac], 0x41a00000
cmp byte [edi + 0x4a1], al
mov ecx, 0xf
mov dword [edi + 0x4b0], 0x43480000
cmovne eax, ecx
mov dword [edi + 0x4a8], 0x43480000
mov dword [edi + 0x4f0], eax
lea ecx, [edi + 0x4d8]
add eax, 8
mov dword [edi + 0x4bc], 0
mov dword [edi + 0x448], eax
mov dword [edi + 0x44c], eax
lea eax, [ebp - 0xb0]
mov dword [edi + 0x4b4], 0x3f800000
cmp ecx, eax
je 0x100c59fd
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.100cdf80
lea ecx, [ebp - 0x80]
call fcn.1002ed40
lea ecx, [ebp - 0x98]
call fcn.1002ed40
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.10051a30
lea eax, [edi + 0x438]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x450], 0
imul eax, dword [edi + 0x450], 0xeb
add eax, 0x14
mov dword [edi + 0x43c], eax
mov dword [edi + 0x444], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x454], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdbe0
mov dword [ebp - 0x20], 0x8394818d
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8b818d88
mov dword [ebp - 0x18], 0xe0878e89
nop
xor byte [ebp + ecx - 0x20], 0xe0
inc ecx
cmp ecx, 0xc
jb 0x100c5a80
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1002ed90
mov dword [ebp - 4], 0x16
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x34], 0x732d6f6e
mov dword [ebp - 0x30], 0x61657270
mov word [ebp - 0x2c], 0x64
call fcn.1002ed90
lea eax, [ebp - 0x65]
mov dword [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0xb0]
push ecx
lea edx, [ebp - 0xe0]
push edx
lea ecx, [ebp - 0x44]
call fcn.100cdc10
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x2c], 0x65646f6d
mov byte [ebp - 0x28], 0
call fcn.1002ed90
mov byte [ebp - 4], 0x19
xor ecx, ecx
mov dword [ebp - 0x60], 0x85868193
mov dword [ebp - 0x5c], 0x8dc09994
mov dword [ebp - 0x58], 0xe085848f
nop
xor byte [ebp + ecx - 0x60], 0xe0
inc ecx
cmp ecx, 0xc
jb 0x100c5b20
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x52c]
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c5b58
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [edi + 0x564]
mov byte [edi + 0x55d], 1
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c5b79
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
mov esi, dword [ebp - 0x44]
xor eax, eax
cmp byte [edi + 0x55d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x590], eax
add eax, 0x14
mov dword [edi + 0x504], eax
mov dword [edi + 0x508], eax
mov eax, dword [ebp - 0x40]
cmp esi, eax
mov dword [ebp - 0x9c], eax
lea eax, [edi + 0x57c]
je 0x100c5bdc
mov dword [ebp - 0x18], eax
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.10051660
add esi, 0x18
cmp esi, dword [ebp - 0x9c]
jne 0x100c5bc0
mov edi, dword [ebp - 0x24]
lea eax, [edi + 0x57c]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100c5bfe
mov dword [edi + 0x58c], 0
lea ecx, [ebp - 0x80]
call fcn.1002ed40
lea ecx, [ebp - 0x98]
call fcn.1002ed40
lea ecx, [ebp - 0x44]
call fcn.100519b0
push fcn.1002ed40
push 2
push 0x18
lea eax, [ebp - 0xe0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100fd631
lea eax, [edi + 0x4f4]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x50c], 1
imul eax, dword [edi + 0x50c], 0xeb
add eax, 0x14
mov dword [edi + 0x4f8], eax
mov dword [edi + 0x500], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x510], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cdbe0
lea eax, [ebp - 0x9c]
mov word [ebp - 0x9c], 0x31
push eax
lea ecx, [ebp - 0x140]
call fcn.1002ed90
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x128]
mov word [ebp - 0x18], 0x32
call fcn.1002ed90
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x110]
mov word [ebp - 0x9c], 0x33
call fcn.1002ed90
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0xf8]
mov word [ebp - 0x18], 0x34
call fcn.1002ed90
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0xe0]
mov word [ebp - 0x9c], 0x35
call fcn.1002ed90
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0xc8]
mov word [ebp - 0x18], 0x36
call fcn.1002ed90
lea eax, [ebp - 0x65]
mov dword [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0xb0]
push ecx
lea edx, [ebp - 0x140]
push edx
lea ecx, [ebp - 0x44]
call fcn.100cdc10
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x18], 0x676663
push eax
lea ecx, [ebp - 0x98]
call fcn.1002ed90
mov byte [ebp - 4], 0x22
xor ecx, ecx
mov dword [ebp - 0x60], 0x868e8f83
mov dword [ebp - 0x5c], 0x92958789
mov dword [ebp - 0x58], 0x8f899481
mov word [ebp - 0x54], 0xe08e
nop dword [eax]
xor byte [ebp + ecx - 0x60], 0xe0
inc ecx
cmp ecx, 0xe
jb 0x100c5d80
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x5cc]
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c5db8
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
lea ecx, [edi + 0x604]
mov byte [edi + 0x5fd], 1
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c5dd9
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push eax
call fcn.1002f290
mov esi, dword [ebp - 0x44]
xor eax, eax
cmp byte [edi + 0x5fd], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x630], eax
add eax, 0x14
mov dword [edi + 0x5a4], eax
mov dword [edi + 0x5a8], eax
mov eax, dword [ebp - 0x40]
cmp esi, eax
mov dword [ebp - 0x9c], eax
lea eax, [edi + 0x61c]
je 0x100c5e3c
mov dword [ebp - 0x18], eax
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.10051660
add esi, 0x18
cmp esi, dword [ebp - 0x9c]
jne 0x100c5e20
mov edi, dword [ebp - 0x24]
lea eax, [edi + 0x61c]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100c5e5e
mov dword [edi + 0x62c], 0
lea ecx, [ebp - 0x80]
call fcn.1002ed40
lea ecx, [ebp - 0x98]
call fcn.1002ed40
lea ecx, [ebp - 0x44]
call fcn.100519b0
push fcn.1002ed40
push 6
push 0x18
lea eax, [ebp - 0x140]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100fd631
and dword [edi + 0x5e4], 0xfffffff7
lea eax, [edi + 0x594]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x5ac], 1
imul eax, dword [edi + 0x5ac], 0xeb
add eax, 0x14
mov dword [edi + 0x598], eax
mov dword [edi + 0x5a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x5b0], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100cdbe0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x5f676663
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x1c], 0x3179656b
mov byte [ebp - 0x18], 0
call fcn.1002ed90
mov dword [ebp - 4], 0x24
mov ecx, 0x10
movaps xmm0, xmmword [0x1010dcb0]
pxor xmm0, xmmword [0x1010e810]
mov dword [ebp - 0x3c], 0xe0d1c099
movups xmmword [ebp - 0x4c], xmm0
nop dword [eax + eax]
xor byte [ebp + ecx - 0x4c], 0xe0
inc ecx
cmp ecx, 0x14
jb 0x100c5f30
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x6a4]
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c5f65
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [edi + 0x66c]
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c5f82
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov dword [edi + 0x6a0], 0xffffffff
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
and dword [edi + 0x684], 0xfffffff7
lea eax, [ebp - 0x24]
lea ecx, [edi + 0x68c]
mov dword [edi + 0x698], 0x10031b30
push eax
mov dword [ebp - 0x24], 0x100329f0
call fcn.100cdbe0
mov dword [edi + 0x6c0], 0x10031b40
lea eax, [edi + 0x634]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x64c], 1
imul eax, dword [edi + 0x64c], 0xeb
add eax, 0x14
mov dword [edi + 0x638], eax
mov dword [edi + 0x640], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x650], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100cdbe0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x5f676663
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x1c], 0x3279656b
mov byte [ebp - 0x18], 0
call fcn.1002ed90
mov dword [ebp - 4], 0x26
mov ecx, 0x10
movaps xmm0, xmmword [0x1010dcb0]
pxor xmm0, xmmword [0x1010e810]
mov dword [ebp - 0x3c], 0xe0d2c099
movups xmmword [ebp - 0x4c], xmm0
xor byte [ebp + ecx - 0x4c], 0xe0
inc ecx
cmp ecx, 0x14
jb 0x100c6063
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x734]
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c6098
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [edi + 0x6fc]
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c60b5
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov dword [edi + 0x730], 0xffffffff
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
and dword [edi + 0x714], 0xfffffff7
lea eax, [ebp - 0x24]
lea ecx, [edi + 0x71c]
mov dword [edi + 0x728], 0x10031b30
push eax
mov dword [ebp - 0x24], 0x10032a00
call fcn.100cdbe0
mov dword [edi + 0x750], 0x10031ca0
lea eax, [edi + 0x6c4]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x6dc], 1
imul eax, dword [edi + 0x6dc], 0xeb
add eax, 0x14
mov dword [edi + 0x6c8], eax
mov dword [edi + 0x6d0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x6e0], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100cdbe0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x5f676663
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x1c], 0x3379656b
mov byte [ebp - 0x18], 0
call fcn.1002ed90
mov dword [ebp - 4], 0x28
mov ecx, 0x10
movaps xmm0, xmmword [0x1010dcb0]
pxor xmm0, xmmword [0x1010e810]
mov dword [ebp - 0x3c], 0xe0d3c099
movups xmmword [ebp - 0x4c], xmm0
xor byte [ebp + ecx - 0x4c], 0xe0
inc ecx
cmp ecx, 0x14
jb 0x100c6196
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x7c4]
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c61cb
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [edi + 0x78c]
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c61e8
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov dword [edi + 0x7c0], 0xffffffff
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
and dword [edi + 0x7a4], 0xfffffff7
lea eax, [ebp - 0x24]
lea ecx, [edi + 0x7ac]
mov dword [edi + 0x7b8], 0x10031b30
push eax
mov dword [ebp - 0x24], 0x10032a10
call fcn.100cdbe0
mov dword [edi + 0x7e0], 0x10031e10
lea eax, [edi + 0x754]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x76c], 1
imul eax, dword [edi + 0x76c], 0xeb
add eax, 0x14
mov dword [edi + 0x758], eax
mov dword [edi + 0x760], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x770], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100cdbe0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x5f676663
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x1c], 0x3479656b
mov byte [ebp - 0x18], 0
call fcn.1002ed90
mov dword [ebp - 4], 0x2a
mov ecx, 0x10
movaps xmm0, xmmword [0x1010dcb0]
pxor xmm0, xmmword [0x1010e810]
mov dword [ebp - 0x3c], 0xe0d4c099
movups xmmword [ebp - 0x4c], xmm0
nop dword [eax]
xor byte [ebp + ecx - 0x4c], 0xe0
inc ecx
cmp ecx, 0x14
jb 0x100c62d0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x854]
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c6305
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [edi + 0x81c]
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c6322
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov dword [edi + 0x850], 0xffffffff
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
and dword [edi + 0x834], 0xfffffff7
lea eax, [ebp - 0x24]
lea ecx, [edi + 0x83c]
mov dword [edi + 0x848], 0x10031b30
push eax
mov dword [ebp - 0x24], 0x10032a20
call fcn.100cdbe0
mov dword [edi + 0x870], 0x10031f80
lea eax, [edi + 0x7e4]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x7fc], 1
imul eax, dword [edi + 0x7fc], 0xeb
add eax, 0x14
mov dword [edi + 0x7e8], eax
mov dword [edi + 0x7f0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x800], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100cdbe0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x5f676663
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x1c], 0x3579656b
mov byte [ebp - 0x18], 0
call fcn.1002ed90
mov dword [ebp - 4], 0x2c
mov ecx, 0x10
movaps xmm0, xmmword [0x1010dcb0]
pxor xmm0, xmmword [0x1010e810]
mov dword [ebp - 0x3c], 0xe0d5c099
movups xmmword [ebp - 0x4c], xmm0
xor byte [ebp + ecx - 0x4c], 0xe0
inc ecx
cmp ecx, 0x14
jb 0x100c6403
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x8e4]
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c6438
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [edi + 0x8ac]
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c6455
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov dword [edi + 0x8e0], 0xffffffff
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
and dword [edi + 0x8c4], 0xfffffff7
lea eax, [ebp - 0x24]
lea ecx, [edi + 0x8cc]
mov dword [edi + 0x8d8], 0x10031b30
push eax
mov dword [ebp - 0x24], 0x10032a30
call fcn.100cdbe0
mov dword [edi + 0x900], 0x100320f0
lea eax, [edi + 0x874]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x88c], 1
imul eax, dword [edi + 0x88c], 0xeb
add eax, 0x14
mov dword [edi + 0x878], eax
mov dword [edi + 0x880], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x890], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100cdbe0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x5f676663
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x1c], 0x3679656b
mov byte [ebp - 0x18], 0
call fcn.1002ed90
mov dword [ebp - 4], 0x2e
mov ecx, 0x10
movaps xmm0, xmmword [0x1010dcb0]
pxor xmm0, xmmword [0x1010e810]
mov dword [ebp - 0x3c], 0xe0d6c099
movups xmmword [ebp - 0x4c], xmm0
xor byte [ebp + ecx - 0x4c], 0xe0
inc ecx
cmp ecx, 0x14
jb 0x100c6536
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002ed90
lea ecx, [edi + 0x974]
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c656b
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [edi + 0x93c]
lea eax, [ebp - 0x98]
cmp ecx, eax
je 0x100c6588
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov dword [edi + 0x970], 0xffffffff
call fcn.1002ed40
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
and dword [edi + 0x954], 0xfffffff7
lea eax, [ebp - 0x24]
lea ecx, [edi + 0x95c]
mov dword [edi + 0x968], 0x10031b30
push eax
mov dword [ebp - 0x24], 0x10032a40
call fcn.100cdbe0
mov dword [edi + 0x990], 0x10032260
lea eax, [edi + 0x904]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x91c], 1
imul eax, dword [edi + 0x91c], 0xeb
add eax, 0x14
mov dword [edi + 0x908], eax
mov dword [edi + 0x910], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x920], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100cdbe0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x65766173
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x18], 0
call fcn.1002ed90
lea ecx, [edi + 0xa00]
mov dword [ebp - 4], 0x30
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c665a
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
mov dword [edi + 0x9f8], 0x100325e0
lea eax, [edi + 0x994]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x9ac], 1
imul eax, dword [edi + 0x9ac], 0xeb
add eax, 0x14
mov dword [edi + 0x998], eax
mov dword [edi + 0x9a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x9b0], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100cdbe0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x64616f6c
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x18], 0
call fcn.1002ed90
lea ecx, [edi + 0xa84]
mov dword [ebp - 4], 0x31
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x100c66f0
mov byte [ebp - 0x24], 0
push dword [ebp - 0x24]
push eax
call fcn.1002f290
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.1002ed40
mov dword [edi + 0xa7c], 0x100323d0
lea eax, [edi + 0xa18]
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0xa30], 1
imul eax, dword [edi + 0xa30], 0xeb
add eax, 0x14
mov dword [edi + 0xa1c], eax
mov dword [edi + 0xa24], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xa34], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100cdbe0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100fd5e5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret