Function at 0x100cae30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fbd65
mov eax, dword fs:[0]
push eax
sub esp, 0x12c
mov eax, dword [0x101110c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x766c6156
push eax
mov dword [ebp - 0x44], 0x31303065
mov byte [ebp - 0x40], 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov ecx, dword [0x1014762c]
push 0x100f2110
push 0xfffffffffffffffc
push eax
call ecx
mov esi, dword [0x101ae60c]
mov dword [0x101af12c], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0
mov dword [0x101aeab0], esi
mov eax, dword [esi]
mov dword [0x101aeab4], eax
test eax, eax
je 0x100caf4c
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101aeab4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100caeef
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100caeef
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100caeef
test eax, 0x100
jne 0x100caeef
inc edi
jmp 0x100caec0
mov dword [0x101aeabc], edi
test edi, edi
je 0x100caf4c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeab8
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeab8]
test edi, edi
je 0x100caf4c
mov eax, dword [0x101aeabc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeab4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aeac0], 1
xor eax, eax
cmp byte [0x101aeac0], al
setne al
add eax, 0x29
cmp dword [0x101aeab4], 0
je 0x100caf7c
mov ecx, dword [0x101aeab8]
test ecx, ecx
je 0x100caf7c
cmp eax, dword [0x101aeabc]
ja 0x100caf7c
mov dword [ecx + eax*4], 0x100db1c0
mov esi, dword [0x101ae5f4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 1
mov dword [0x101aead8], esi
mov eax, dword [esi]
mov dword [0x101aeadc], eax
test eax, eax
je 0x100cb02f
xor edi, edi
mov eax, dword [0x101aeadc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cafd2
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cafd2
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cafd2
test eax, 0x100
jne 0x100cafd2
inc edi
jmp 0x100cafa3
mov dword [0x101aeae4], edi
test edi, edi
je 0x100cb02f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeae0
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeae0]
test edi, edi
je 0x100cb02f
mov eax, dword [0x101aeae4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeadc]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aeae8], 1
xor eax, eax
cmp byte [0x101aeae8], al
setne al
add eax, 5
cmp dword [0x101aeadc], 0
je 0x100cb05f
mov ecx, dword [0x101aeae0]
test ecx, ecx
je 0x100cb05f
cmp eax, dword [0x101aeae4]
ja 0x100cb05f
mov dword [ecx + eax*4], 0x100cea40
xor eax, eax
cmp byte [0x101aeae8], al
setne al
add eax, 6
cmp dword [0x101aeadc], 0
je 0x100cb08f
mov ecx, dword [0x101aeae0]
test ecx, ecx
je 0x100cb08f
cmp eax, dword [0x101aeae4]
ja 0x100cb08f
mov dword [ecx + eax*4], 0x100ceb00
xor eax, eax
cmp byte [0x101aeae8], al
setne al
add eax, 7
cmp dword [0x101aeadc], 0
je 0x100cb0bf
mov ecx, dword [0x101aeae0]
test ecx, ecx
je 0x100cb0bf
cmp eax, dword [0x101aeae4]
ja 0x100cb0bf
mov dword [ecx + eax*4], 0x100ceb20
xor eax, eax
cmp byte [0x101aeae8], al
setne al
add eax, 0x24
cmp dword [0x101aeadc], 0
je 0x100cb0ef
mov ecx, dword [0x101aeae0]
test ecx, ecx
je 0x100cb0ef
cmp eax, dword [0x101aeae4]
ja 0x100cb0ef
mov dword [ecx + eax*4], 0x100ceba0
mov esi, dword [0x101ae5fc]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 2
mov dword [0x101aeb00], esi
mov eax, dword [esi]
mov dword [0x101aeb04], eax
test eax, eax
je 0x100cb1a2
xor edi, edi
mov eax, dword [0x101aeb04]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cb145
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cb145
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cb145
test eax, 0x100
jne 0x100cb145
inc edi
jmp 0x100cb116
mov dword [0x101aeb0c], edi
test edi, edi
je 0x100cb1a2
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeb08
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeb08]
test edi, edi
je 0x100cb1a2
mov eax, dword [0x101aeb0c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeb04]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aeb10], 1
xor eax, eax
cmp byte [0x101aeb10], al
setne al
add eax, 0x1b
cmp dword [0x101aeb04], 0
je 0x100cb1d2
mov ecx, dword [0x101aeb08]
test ecx, ecx
je 0x100cb1d2
cmp eax, dword [0x101aeb0c]
ja 0x100cb1d2
mov dword [ecx + eax*4], 0x100cdc40
xor eax, eax
cmp byte [0x101aeb10], al
setne al
add eax, 0x5d
cmp dword [0x101aeb04], 0
je 0x100cb202
mov ecx, dword [0x101aeb08]
test ecx, ecx
je 0x100cb202
cmp eax, dword [0x101aeb0c]
ja 0x100cb202
mov dword [ecx + eax*4], 0x100cdde0
mov esi, dword [0x101ae614]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 3
mov dword [0x101aeb28], esi
mov eax, dword [esi]
mov dword [0x101aeb2c], eax
test eax, eax
je 0x100cb2bc
xor edi, edi
nop dword [eax]
mov eax, dword [0x101aeb2c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cb25f
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cb25f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cb25f
test eax, 0x100
jne 0x100cb25f
inc edi
jmp 0x100cb230
mov dword [0x101aeb34], edi
test edi, edi
je 0x100cb2bc
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeb30
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeb30]
test edi, edi
je 0x100cb2bc
mov eax, dword [0x101aeb34]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeb2c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aeb38], 1
xor eax, eax
cmp byte [0x101aeb38], al
setne al
add eax, 0xe
cmp dword [0x101aeb2c], 0
je 0x100cb2ec
mov ecx, dword [0x101aeb30]
test ecx, ecx
je 0x100cb2ec
cmp eax, dword [0x101aeb34]
ja 0x100cb2ec
mov dword [ecx + eax*4], 0x100e40c0
xor eax, eax
cmp byte [0x101aeb38], al
setne al
add eax, 0x13
cmp dword [0x101aeb2c], 0
je 0x100cb31c
mov ecx, dword [0x101aeb30]
test ecx, ecx
je 0x100cb31c
cmp eax, dword [0x101aeb34]
ja 0x100cb31c
mov dword [ecx + eax*4], 0x100e44d0
mov esi, dword [0x101ae658]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 4
mov dword [0x101aeac4], esi
mov eax, dword [esi]
mov dword [0x101aeac8], eax
test eax, eax
je 0x100cb3cf
xor edi, edi
mov eax, dword [0x101aeac8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cb372
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cb372
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cb372
test eax, 0x100
jne 0x100cb372
inc edi
jmp 0x100cb343
mov dword [0x101aead0], edi
test edi, edi
je 0x100cb3cf
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeacc
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeacc]
test edi, edi
je 0x100cb3cf
mov eax, dword [0x101aead0]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeac8]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aead4], 1
xor eax, eax
cmp byte [0x101aead4], al
setne al
add eax, 0x10
cmp dword [0x101aeac8], 0
je 0x100cb3ff
mov ecx, dword [0x101aeacc]
test ecx, ecx
je 0x100cb3ff
cmp eax, dword [0x101aead0]
ja 0x100cb3ff
mov dword [ecx + eax*4], 0x100daf70
xor eax, eax
cmp byte [0x101aead4], al
setne al
add eax, 0x11
cmp dword [0x101aeac8], 0
je 0x100cb42f
mov ecx, dword [0x101aeacc]
test ecx, ecx
je 0x100cb42f
cmp eax, dword [0x101aead0]
ja 0x100cb42f
mov dword [ecx + eax*4], 0x100daf80
xor eax, eax
cmp byte [0x101aead4], al
setne al
add eax, 0x12
cmp dword [0x101aeac8], 0
je 0x100cb45f
mov ecx, dword [0x101aeacc]
test ecx, ecx
je 0x100cb45f
cmp eax, dword [0x101aead0]
ja 0x100cb45f
mov dword [ecx + eax*4], 0x100dafc0
xor eax, eax
cmp byte [0x101aead4], al
setne al
add eax, 0x18
cmp dword [0x101aeac8], 0
je 0x100cb48f
mov ecx, dword [0x101aeacc]
test ecx, ecx
je 0x100cb48f
cmp eax, dword [0x101aead0]
ja 0x100cb48f
mov dword [ecx + eax*4], 0x100db010
xor eax, eax
cmp byte [0x101aead4], al
setne al
add eax, 0x2c
cmp dword [0x101aeac8], 0
je 0x100cb4bf
mov ecx, dword [0x101aeacc]
test ecx, ecx
je 0x100cb4bf
cmp eax, dword [0x101aead0]
ja 0x100cb4bf
mov dword [ecx + eax*4], 0x100db180
mov esi, dword [0x101ae608]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 5
mov dword [0x101aeb3c], esi
mov eax, dword [esi]
mov dword [0x101aeb40], eax
test eax, eax
je 0x100cb572
xor edi, edi
mov eax, dword [0x101aeb40]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cb515
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cb515
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cb515
test eax, 0x100
jne 0x100cb515
inc edi
jmp 0x100cb4e6
mov dword [0x101aeb48], edi
test edi, edi
je 0x100cb572
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeb44
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeb44]
test edi, edi
je 0x100cb572
mov eax, dword [0x101aeb48]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeb40]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aeb4c], 1
xor eax, eax
cmp byte [0x101aeb4c], al
setne al
add eax, 0x43
cmp dword [0x101aeb40], 0
je 0x100cb5a2
mov ecx, dword [0x101aeb44]
test ecx, ecx
je 0x100cb5a2
cmp eax, dword [0x101aeb48]
ja 0x100cb5a2
mov dword [ecx + eax*4], 0x100d74d0
xor eax, eax
cmp byte [0x101aeb4c], al
setne al
add eax, 0x52
cmp dword [0x101aeb40], 0
je 0x100cb5d2
mov ecx, dword [0x101aeb44]
test ecx, ecx
je 0x100cb5d2
cmp eax, dword [0x101aeb48]
ja 0x100cb5d2
mov dword [ecx + eax*4], 0x100d7520
xor eax, eax
cmp byte [0x101aeb4c], al
setne al
add eax, 0x74
cmp dword [0x101aeb40], 0
je 0x100cb602
mov ecx, dword [0x101aeb44]
test ecx, ecx
je 0x100cb602
cmp eax, dword [0x101aeb48]
ja 0x100cb602
mov dword [ecx + eax*4], 0x100d75e0
mov esi, dword [0x101ae628]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 6
mov dword [0x101aeb8c], esi
mov eax, dword [esi]
mov dword [0x101aeb90], eax
test eax, eax
je 0x100cb6bc
xor edi, edi
nop dword [eax]
mov eax, dword [0x101aeb90]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cb65f
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cb65f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cb65f
test eax, 0x100
jne 0x100cb65f
inc edi
jmp 0x100cb630
mov dword [0x101aeb98], edi
test edi, edi
je 0x100cb6bc
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeb94
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeb94]
test edi, edi
je 0x100cb6bc
mov eax, dword [0x101aeb98]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeb90]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aeb9c], 1
xor eax, eax
cmp byte [0x101aeb9c], al
setne al
add eax, 0x15
cmp dword [0x101aeb90], 0
je 0x100cb6ec
mov ecx, dword [0x101aeb94]
test ecx, ecx
je 0x100cb6ec
cmp eax, dword [0x101aeb98]
ja 0x100cb6ec
mov dword [ecx + eax*4], 0x100c3300
mov esi, dword [0x101ae620]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 7
mov dword [0x101aeb78], esi
mov ecx, dword [esi]
mov dword [0x101aeb7c], ecx
test ecx, ecx
je 0x100cb7a1
xor edi, edi
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x100cb744
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cb744
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cb744
test eax, 0x100
jne 0x100cb744
mov ecx, dword [0x101aeb7c]
inc edi
jmp 0x100cb714
mov dword [0x101aeb84], edi
test edi, edi
je 0x100cb7a1
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeb80
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeb80]
test edi, edi
je 0x100cb7a1
mov eax, dword [0x101aeb84]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeb7c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aeb88], 1
mov esi, dword [0x101ae680]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 8
mov dword [0x101aeba0], esi
mov eax, dword [esi]
mov dword [0x101aeba4], eax
test eax, eax
je 0x100cb85c
xor edi, edi
nop dword [eax + eax]
mov eax, dword [0x101aeba4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cb7ff
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cb7ff
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cb7ff
test eax, 0x100
jne 0x100cb7ff
inc edi
jmp 0x100cb7d0
mov dword [0x101aebac], edi
test edi, edi
je 0x100cb85c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeba8
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeba8]
test edi, edi
je 0x100cb85c
mov eax, dword [0x101aebac]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeba4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aebb0], 1
xor eax, eax
cmp byte [0x101aebb0], al
setne al
add eax, 0x2b
cmp dword [0x101aeba4], 0
je 0x100cb88c
mov ecx, dword [0x101aeba8]
test ecx, ecx
je 0x100cb88c
cmp eax, dword [0x101aebac]
ja 0x100cb88c
mov dword [ecx + eax*4], 0x10059530
mov esi, dword [0x101ae624]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 9
mov dword [0x101aebb4], esi
mov eax, dword [esi]
mov dword [0x101aebb8], eax
test eax, eax
je 0x100cb93f
xor edi, edi
mov eax, dword [0x101aebb8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cb8e2
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cb8e2
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cb8e2
test eax, 0x100
jne 0x100cb8e2
inc edi
jmp 0x100cb8b3
mov dword [0x101aebc0], edi
test edi, edi
je 0x100cb93f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aebbc
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aebbc]
test edi, edi
je 0x100cb93f
mov eax, dword [0x101aebc0]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aebb8]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aebc4], 1
xor eax, eax
cmp byte [0x101aebc4], al
setne al
add eax, 4
cmp dword [0x101aebb8], 0
je 0x100cb96f
mov ecx, dword [0x101aebbc]
test ecx, ecx
je 0x100cb96f
cmp eax, dword [0x101aebc0]
ja 0x100cb96f
mov dword [ecx + eax*4], 0x100e0a50
xor eax, eax
cmp byte [0x101aebc4], al
setne al
add eax, 6
cmp dword [0x101aebb8], 0
je 0x100cb99f
mov ecx, dword [0x101aebbc]
test ecx, ecx
je 0x100cb99f
cmp eax, dword [0x101aebc0]
ja 0x100cb99f
mov dword [ecx + eax*4], 0x100e0b40
xor eax, eax
cmp byte [0x101aebc4], al
setne al
add eax, 0x27
cmp dword [0x101aebb8], 0
je 0x100cb9cf
mov ecx, dword [0x101aebbc]
test ecx, ecx
je 0x100cb9cf
cmp eax, dword [0x101aebc0]
ja 0x100cb9cf
mov dword [ecx + eax*4], 0x100e0b50
xor eax, eax
cmp byte [0x101aebc4], al
setne al
add eax, 0x28
cmp dword [0x101aebb8], 0
je 0x100cb9ff
mov ecx, dword [0x101aebbc]
test ecx, ecx
je 0x100cb9ff
cmp eax, dword [0x101aebc0]
ja 0x100cb9ff
mov dword [ecx + eax*4], 0x100e0b90
mov esi, dword [0x101ae648]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xa
mov dword [0x101aebc8], esi
mov eax, dword [esi]
mov dword [0x101aebcc], eax
test eax, eax
je 0x100cbab2
xor edi, edi
mov eax, dword [0x101aebcc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cba55
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cba55
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cba55
test eax, 0x100
jne 0x100cba55
inc edi
jmp 0x100cba26
mov dword [0x101aebd4], edi
test edi, edi
je 0x100cbab2
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aebd0
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aebd0]
test edi, edi
je 0x100cbab2
mov eax, dword [0x101aebd4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aebcc]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aebd8], 1
xor eax, eax
cmp byte [0x101aebd8], al
setne al
add eax, 0xd
cmp dword [0x101aebcc], 0
je 0x100cbae2
mov ecx, dword [0x101aebd0]
test ecx, ecx
je 0x100cbae2
cmp eax, dword [0x101aebd4]
ja 0x100cbae2
mov dword [ecx + eax*4], 0x10059110
mov esi, dword [0x101ae62c]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xb
mov dword [0x101aebdc], esi
mov eax, dword [esi]
mov dword [0x101aebe0], eax
test eax, eax
je 0x100cbb9c
xor edi, edi
nop dword [eax]
mov eax, dword [0x101aebe0]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cbb3f
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cbb3f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cbb3f
test eax, 0x100
jne 0x100cbb3f
inc edi
jmp 0x100cbb10
mov dword [0x101aebe8], edi
test edi, edi
je 0x100cbb9c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aebe4
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aebe4]
test edi, edi
je 0x100cbb9c
mov eax, dword [0x101aebe8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aebe0]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aebec], 1
xor eax, eax
cmp byte [0x101aebec], al
setne al
add eax, 0x15
cmp dword [0x101aebe0], 0
je 0x100cbbcc
mov ecx, dword [0x101aebe4]
test ecx, ecx
je 0x100cbbcc
cmp eax, dword [0x101aebe8]
ja 0x100cbbcc
mov dword [ecx + eax*4], 0x100594d0
mov esi, dword [0x101ae768]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xc
mov dword [0x101aebf0], esi
mov eax, dword [esi]
mov dword [0x101aebf4], eax
test eax, eax
je 0x100cbc7f
xor edi, edi
mov eax, dword [0x101aebf4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cbc22
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cbc22
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cbc22
test eax, 0x100
jne 0x100cbc22
inc edi
jmp 0x100cbbf3
mov dword [0x101aebfc], edi
test edi, edi
je 0x100cbc7f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aebf8
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aebf8]
test edi, edi
je 0x100cbc7f
mov eax, dword [0x101aebfc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aebf4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aec00], 1
xor eax, eax
cmp byte [0x101aec00], al
setne al
add eax, 7
cmp dword [0x101aebf4], 0
je 0x100cbcaf
mov ecx, dword [0x101aebf8]
test ecx, ecx
je 0x100cbcaf
cmp eax, dword [0x101aebfc]
ja 0x100cbcaf
mov dword [ecx + eax*4], 0x100568b0
mov esi, dword [0x101ae694]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xd
mov dword [0x101aeaec], esi
mov eax, dword [esi]
mov dword [0x101aeaf0], eax
test eax, eax
je 0x100cbd62
xor edi, edi
mov eax, dword [0x101aeaf0]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100cbd05
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cbd05
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cbd05
test eax, 0x100
jne 0x100cbd05
inc edi
jmp 0x100cbcd6
mov dword [0x101aeaf8], edi
test edi, edi
je 0x100cbd62
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101aeaf4
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov edi, dword [0x101aeaf4]
test edi, edi
je 0x100cbd62
mov eax, dword [0x101aeaf8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101aeaf0]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101aeafc], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x101aeafc], al
setne al
add eax, 0x24
cmp dword [0x101aeaf0], 0
je 0x100cbd99
mov ecx, dword [0x101aeaf4]
test ecx, ecx
je 0x100cbd99
cmp eax, dword [0x101aeaf8]
ja 0x100cbd99
mov dword [ecx + eax*4], 0x10043f30
xor eax, eax
cmp byte [0x101aeafc], al
setne al
add eax, 0x18
cmp dword [0x101aeaf0], 0
je 0x100cbdc9
mov ecx, dword [0x101aeaf4]
test ecx, ecx
je 0x100cbdc9
cmp eax, dword [0x101aeaf8]
ja 0x100cbdc9
mov dword [ecx + eax*4], 0x10043fa0
movaps xmm0, xmmword [0x10106130]
mov ecx, 0x10
xorps xmm0, xmmword [0x10106ba0]
mov dword [ebp - 0x44], 0xfa80e2f2
mov dword [ebp - 0x40], 0xc2fa86e2
movups xmmword [ebp - 0x54], xmm0
nop
xor byte [ebp + ecx - 0x54], 0xc2
inc ecx
cmp ecx, 0x18
jb 0x100cbdf0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x34]
call fcn.10032790
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0xe
push eax
mov edx, 0x101ae5ac
lea ecx, [ebp - 0x1c]
call fcn.1005a020
add esp, 4
lea ecx, [ebp - 0x34]
mov esi, dword [eax]
mov dword [ebp - 4], 0xffffffff
call fcn.100326f0
push 0x100ca520
push esi
call fcn.100010f0
movaps xmm0, xmmword [0x10107010]
xor ecx, ecx
movaps xmm2, xmmword [0x10106ba0]
movups xmmword [ebp - 0x64], xmm0
mov dword [0x101af138], eax
movaps xmm0, xmmword [0x10106e00]
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0xf7e2f1f7
mov word [ebp - 0x40], 0xc2f4
nop
movups xmm0, xmmword [ebp + ecx - 0x64]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + ecx - 0x64], xmm1
add ecx, 0x10
cmp ecx, 0x20
jb 0x100cbe70
cmp ecx, 0x26
jae 0x100cbe9b
nop dword [eax]
xor byte [ebp + ecx - 0x64], 0xc2
inc ecx
cmp ecx, 0x26
jb 0x100cbe90
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x34]
call fcn.10032790
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0xf
push eax
mov edx, 0x101ae5ac
lea ecx, [ebp - 0x1c]
call fcn.1005a020
add esp, 4
lea ecx, [ebp - 0x34]
mov esi, dword [eax]
mov dword [ebp - 4], 0xffffffff
call fcn.100326f0
push 0x100ca620
push esi
call fcn.100010f0
movaps xmm0, xmmword [0x10106130]
xor ecx, ecx
movups xmmword [ebp - 0x70], xmm0
mov dword [0x101af13c], eax
movaps xmm0, xmmword [0x101070b0]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x40], 0xc2e2f2f2
movaps xmm0, xmmword [0x10106d50]
movups xmmword [ebp - 0x50], xmm0
nop dword [eax]
movups xmm0, xmmword [ebp + ecx - 0x70]
movaps xmm1, xmmword [0x10106ba0]
xorps xmm1, xmm0
movups xmmword [ebp + ecx - 0x70], xmm1
add ecx, 0x10
cmp ecx, 0x30
jb 0x100cbf10
cmp ecx, 0x34
jae 0x100cbf3c
xor byte [ebp + ecx - 0x70], 0xc2
inc ecx
cmp ecx, 0x34
jb 0x100cbf31
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x34]
call fcn.10032790
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0x10
push eax
mov edx, 0x101ae5ac
lea ecx, [ebp - 0x1c]
call fcn.1005a020
add esp, 4
lea ecx, [ebp - 0x34]
mov esi, dword [eax]
mov dword [ebp - 4], 0xffffffff
call fcn.100326f0
push 0x100cab10
push esi
call fcn.100010f0
movaps xmm0, xmmword [0x10106ba0]
mov ecx, 0x10
xorps xmm0, xmmword [0x101070e0]
mov dword [ebp - 0x44], 0xe2f6f0e2
mov word [ebp - 0x40], 0x80f2
mov byte [ebp - 0x3e], 0xc2
movups xmmword [ebp - 0x54], xmm0
xor byte [ebp + ecx - 0x54], 0xc2
inc ecx
cmp ecx, 0x17
jb 0x100cbfa7
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x34]
call fcn.10032790
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0x11
push eax
mov edx, 0x101ae5ac
lea ecx, [ebp - 0x1c]
call fcn.1005a020
add esp, 4
mov ecx, dword [eax]
test ecx, ecx
jne 0x100cbfe3
xor esi, esi
jmp 0x100cbff3
mov eax, dword [ecx + 1]
test eax, eax
jne 0x100cbfee
xor esi, esi
jmp 0x100cbff3
lea esi, [ecx + 5]
add esi, eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.100326f0
push 0x100cab20
push esi
call fcn.100010f0
movaps xmm0, xmmword [0x10106110]
lea eax, [ebp - 0x138]
movups xmmword [ebp - 0x138], xmm0
lea edx, [ebp - 0x118]
mov dword [ebp - 0x78], 0xf2f2e281
movaps xmm0, xmmword [0x10106e10]
lea esi, [ebp - 0x108]
movups xmmword [ebp - 0x128], xmm0
xor ecx, ecx
mov byte [ebp - 0x74], 0xc2
movaps xmm0, xmmword [0x101071f0]
movups xmmword [ebp - 0x118], xmm0
movaps xmm0, xmmword [0x10106f30]
movaps xmm2, xmmword [0x10106ba0]
movups xmmword [ebp - 0x108], xmm0
movaps xmm0, xmmword [0x10106170]
movups xmmword [ebp - 0xf8], xmm0
movaps xmm0, xmmword [0x10106fe0]
movups xmmword [ebp - 0xe8], xmm0
movaps xmm0, xmmword [0x101060b0]
movups xmmword [ebp - 0xd8], xmm0
movaps xmm0, xmmword [0x10107200]
movups xmmword [ebp - 0xc8], xmm0
movaps xmm0, xmmword [0x10106180]
movups xmmword [ebp - 0xb8], xmm0
movaps xmm0, xmmword [0x10107100]
movups xmmword [ebp - 0xa8], xmm0
movaps xmm0, xmmword [0x10106d90]
movups xmmword [ebp - 0x98], xmm0
movaps xmm0, xmmword [0x10106fc0]
movups xmmword [ebp - 0x88], xmm0
nop dword [eax + eax]
movups xmm0, xmmword [ecx + eax]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ecx + eax], xmm1
movups xmm0, xmmword [ebp + ecx - 0x128]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + ecx - 0x128], xmm1
movups xmm0, xmmword [ecx + edx]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ecx + edx], xmm1
movups xmm0, xmmword [ecx + esi]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ecx + esi], xmm1
add ecx, 0x40
cmp ecx, 0xc0
jb 0x100cc0e0
cmp ecx, 0xc5
jae 0x100cc151
nop dword [eax]
nop word [eax + eax]
xor byte [ebp + ecx - 0x138], 0xc2
inc ecx
cmp ecx, 0xc5
jb 0x100cc140
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x34]
call fcn.10032790
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0x12
push eax
mov edx, 0x101ae5c4
lea ecx, [ebp - 0x1c]
call fcn.1005a020
add esp, 4
lea ecx, [ebp - 0x34]
mov esi, dword [eax]
mov dword [ebp - 4], 0xffffffff
call fcn.100326f0
push 0x100cab30
push esi
call fcn.100010f0
push 0x10111118
mov dword [0x101af140], eax
call dword [0x101ae778]
mov edi, dword [0x101ae6d8]
mov dword [ebp - 0x18], edi
mov dword [ebp - 4], 0x13
mov dword [0x101af118], edi
mov eax, dword [edi]
mov dword [0x101af11c], eax
test eax, eax
je 0x100cc25c
xor esi, esi
nop
mov eax, dword [0x101af11c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100cc1ff
mov eax, dword [0x10147628]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100cc1ff
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100cc1ff
test eax, 0x100
jne 0x100cc1ff
inc esi
jmp 0x100cc1d0
mov dword [0x101af124], esi
test esi, esi
je 0x100cc25c
lea edx, [esi + 1]
lea ecx, [ebp - 0x14]
call fcn.10042b70
push eax
mov ecx, 0x101af120
call fcn.10042c00
lea ecx, [ebp - 0x14]
call fcn.100420d0
mov esi, dword [0x101af120]
test esi, esi
je 0x100cc25c
mov eax, dword [0x101af124]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101af11c]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101af128], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x101af128], al
setne al
add eax, 0xd
cmp dword [0x101af11c], 0
je 0x100cc293
mov ecx, dword [0x101af120]
test ecx, ecx
je 0x100cc293
cmp eax, dword [0x101af124]
ja 0x100cc293
mov dword [ecx + eax*4], 0x100c3170
lea eax, [ebp - 0x14]
mov dword [ebp - 0x1c], 0xf3c2c786
push eax
mov ecx, 0x101b14a0
mov dword [ebp - 0x14], 0x72e242a1
call fcn.10041e40
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.10041e20
movq xmm0, qword [eax]
movq qword [ebp - 0x48], xmm0
cmp byte [ebp - 0x48], 0
jne 0x100cc2db
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x20]
mov dword [0x101af150], eax
mov dword [ecx + 0x20], 0x100ca1c0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x14], 0x9ef0d03e
push eax
mov ecx, 0x101b14a0
mov dword [ebp - 0x1c], 0x72e242a1
call fcn.10041e40
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.10041e20
movq xmm0, qword [eax]
movq qword [ebp - 0x48], xmm0
cmp byte [ebp - 0x48], 0
jne 0x100cc323
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x20]
mov dword [0x101af154], eax
mov dword [ecx + 0x20], 0x100ca220
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x14], 0x566bd764
push eax
mov ecx, 0x101b14a0
mov dword [ebp - 0x1c], 0x2aafa737
call fcn.10041e40
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.10041e20
movq xmm0, qword [eax]
movq qword [ebp - 0x48], xmm0
cmp byte [ebp - 0x48], 0
jne 0x100cc36b
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x20]
mov dword [0x101af158], eax
mov dword [edx + 0x20], 0x100ca410
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x18], 0x781aa1a4
push eax
mov ecx, 0x101b14a0
mov dword [ebp - 0x3c], 0x2aafa737
call fcn.10041e40
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.10041e20
movq xmm0, qword [eax]
movq qword [ebp - 0x48], xmm0
cmp byte [ebp - 0x48], 0
jne 0x100cc3b3
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x20]
mov dword [0x101af15c], eax
mov dword [ecx + 0x20], 0x100ca3f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100f27a0
mov esp, ebp
pop ebp
ret