Function at 0x100b4670
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e447d
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x100f5008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x101233c4]
mov ecx, dword [0x1010727c]
push 0x100d9530
push 0xfffffffffffffffc
push dword [eax + 8]
call ecx
mov esi, dword [0x1012335c]
mov dword [0x10123e9c], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0
mov dword [0x10123820], esi
mov eax, dword [esi]
mov dword [0x10123824], eax
test eax, eax
je 0x100b476c
xor edi, edi
mov eax, dword [0x10123824]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b470f
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b470f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b470f
test eax, 0x100
jne 0x100b470f
inc edi
jmp 0x100b46e0
mov dword [0x1012382c], edi
test edi, edi
je 0x100b476c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123828
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123828]
test edi, edi
je 0x100b476c
mov eax, dword [0x1012382c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123824]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123830], 1
xor eax, eax
cmp byte [0x10123830], al
setne al
add eax, 0x29
cmp dword [0x10123824], 0
je 0x100b479c
mov ecx, dword [0x10123828]
test ecx, ecx
je 0x100b479c
cmp eax, dword [0x1012382c]
ja 0x100b479c
mov dword [ecx + eax*4], 0x100c52c0
mov esi, dword [0x10123344]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 1
mov dword [0x10123848], esi
mov eax, dword [esi]
mov dword [0x1012384c], eax
test eax, eax
je 0x100b484f
xor edi, edi
mov eax, dword [0x1012384c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b47f2
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b47f2
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b47f2
test eax, 0x100
jne 0x100b47f2
inc edi
jmp 0x100b47c3
mov dword [0x10123854], edi
test edi, edi
je 0x100b484f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123850
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123850]
test edi, edi
je 0x100b484f
mov eax, dword [0x10123854]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x1012384c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123858], 1
xor eax, eax
cmp byte [0x10123858], al
setne al
add eax, 5
cmp dword [0x1012384c], 0
je 0x100b487f
mov ecx, dword [0x10123850]
test ecx, ecx
je 0x100b487f
cmp eax, dword [0x10123854]
ja 0x100b487f
mov dword [ecx + eax*4], 0x100ba270
xor eax, eax
cmp byte [0x10123858], al
setne al
add eax, 6
cmp dword [0x1012384c], 0
je 0x100b48af
mov ecx, dword [0x10123850]
test ecx, ecx
je 0x100b48af
cmp eax, dword [0x10123854]
ja 0x100b48af
mov dword [ecx + eax*4], 0x100ba310
xor eax, eax
cmp byte [0x10123858], al
setne al
add eax, 7
cmp dword [0x1012384c], 0
je 0x100b48df
mov ecx, dword [0x10123850]
test ecx, ecx
je 0x100b48df
cmp eax, dword [0x10123854]
ja 0x100b48df
mov dword [ecx + eax*4], 0x100ba370
xor eax, eax
cmp byte [0x10123858], al
setne al
add eax, 0x24
cmp dword [0x1012384c], 0
je 0x100b490f
mov ecx, dword [0x10123850]
test ecx, ecx
je 0x100b490f
cmp eax, dword [0x10123854]
ja 0x100b490f
mov dword [ecx + eax*4], 0x100ba3e0
mov esi, dword [0x1012334c]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 2
mov dword [0x10123870], esi
mov eax, dword [esi]
mov dword [0x10123874], eax
test eax, eax
je 0x100b49c2
xor edi, edi
mov eax, dword [0x10123874]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b4965
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b4965
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b4965
test eax, 0x100
jne 0x100b4965
inc edi
jmp 0x100b4936
mov dword [0x1012387c], edi
test edi, edi
je 0x100b49c2
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123878
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123878]
test edi, edi
je 0x100b49c2
mov eax, dword [0x1012387c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123874]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123880], 1
xor eax, eax
cmp byte [0x10123880], al
setne al
add eax, 0x1b
cmp dword [0x10123874], 0
je 0x100b49f2
mov ecx, dword [0x10123878]
test ecx, ecx
je 0x100b49f2
cmp eax, dword [0x1012387c]
ja 0x100b49f2
mov dword [ecx + eax*4], 0x100b8fc0
xor eax, eax
cmp byte [0x10123880], al
setne al
add eax, 0x5d
cmp dword [0x10123874], 0
je 0x100b4a22
mov ecx, dword [0x10123878]
test ecx, ecx
je 0x100b4a22
cmp eax, dword [0x1012387c]
ja 0x100b4a22
mov dword [ecx + eax*4], 0x100b9140
mov esi, dword [0x101233a0]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 3
mov dword [0x10123884], esi
mov eax, dword [esi]
mov dword [0x10123888], eax
test eax, eax
je 0x100b4adc
xor edi, edi
nop dword [eax]
mov eax, dword [0x10123888]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b4a7f
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b4a7f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b4a7f
test eax, 0x100
jne 0x100b4a7f
inc edi
jmp 0x100b4a50
mov dword [0x10123890], edi
test edi, edi
je 0x100b4adc
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x1012388c
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x1012388c]
test edi, edi
je 0x100b4adc
mov eax, dword [0x10123890]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123888]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123894], 1
xor eax, eax
cmp byte [0x10123894], al
setne al
add eax, 5
cmp dword [0x10123888], 0
je 0x100b4b0c
mov ecx, dword [0x1012388c]
test ecx, ecx
je 0x100b4b0c
cmp eax, dword [0x10123890]
ja 0x100b4b0c
mov dword [ecx + eax*4], 0x100b92f0
mov esi, dword [0x10123364]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 4
mov dword [0x10123898], esi
mov eax, dword [esi]
mov dword [0x1012389c], eax
test eax, eax
je 0x100b4bbf
xor edi, edi
mov eax, dword [0x1012389c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b4b62
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b4b62
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b4b62
test eax, 0x100
jne 0x100b4b62
inc edi
jmp 0x100b4b33
mov dword [0x101238a4], edi
test edi, edi
je 0x100b4bbf
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x101238a0
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x101238a0]
test edi, edi
je 0x100b4bbf
mov eax, dword [0x101238a4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x1012389c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101238a8], 1
xor eax, eax
cmp byte [0x101238a8], al
setne al
add eax, 0xe
cmp dword [0x1012389c], 0
je 0x100b4bef
mov ecx, dword [0x101238a0]
test ecx, ecx
je 0x100b4bef
cmp eax, dword [0x101238a4]
ja 0x100b4bef
mov dword [ecx + eax*4], 0x100cf150
xor eax, eax
cmp byte [0x101238a8], al
setne al
add eax, 0x13
cmp dword [0x1012389c], 0
je 0x100b4c1f
mov ecx, dword [0x101238a0]
test ecx, ecx
je 0x100b4c1f
cmp eax, dword [0x101238a4]
ja 0x100b4c1f
mov dword [ecx + eax*4], 0x100cf560
mov esi, dword [0x101233a8]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 5
mov dword [0x10123834], esi
mov eax, dword [esi]
mov dword [0x10123838], eax
test eax, eax
je 0x100b4cd2
xor edi, edi
mov eax, dword [0x10123838]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b4c75
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b4c75
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b4c75
test eax, 0x100
jne 0x100b4c75
inc edi
jmp 0x100b4c46
mov dword [0x10123840], edi
test edi, edi
je 0x100b4cd2
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x1012383c
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x1012383c]
test edi, edi
je 0x100b4cd2
mov eax, dword [0x10123840]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123838]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123844], 1
xor eax, eax
cmp byte [0x10123844], al
setne al
add eax, 0x10
cmp dword [0x10123838], 0
je 0x100b4d02
mov ecx, dword [0x1012383c]
test ecx, ecx
je 0x100b4d02
cmp eax, dword [0x10123840]
ja 0x100b4d02
mov dword [ecx + eax*4], 0x100c5160
xor eax, eax
cmp byte [0x10123844], al
setne al
add eax, 0x11
cmp dword [0x10123838], 0
je 0x100b4d32
mov ecx, dword [0x1012383c]
test ecx, ecx
je 0x100b4d32
cmp eax, dword [0x10123840]
ja 0x100b4d32
mov dword [ecx + eax*4], 0x100c5170
xor eax, eax
cmp byte [0x10123844], al
setne al
add eax, 0x12
cmp dword [0x10123838], 0
je 0x100b4d62
mov ecx, dword [0x1012383c]
test ecx, ecx
je 0x100b4d62
cmp eax, dword [0x10123840]
ja 0x100b4d62
mov dword [ecx + eax*4], 0x100c5190
xor eax, eax
cmp byte [0x10123844], al
setne al
add eax, 0x18
cmp dword [0x10123838], 0
je 0x100b4d92
mov ecx, dword [0x1012383c]
test ecx, ecx
je 0x100b4d92
cmp eax, dword [0x10123840]
ja 0x100b4d92
mov dword [ecx + eax*4], 0x100c5210
xor eax, eax
cmp byte [0x10123844], al
setne al
add eax, 0x2c
cmp dword [0x10123838], 0
je 0x100b4dc2
mov ecx, dword [0x1012383c]
test ecx, ecx
je 0x100b4dc2
cmp eax, dword [0x10123840]
ja 0x100b4dc2
mov dword [ecx + eax*4], 0x100c5290
mov esi, dword [0x10123358]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 6
mov dword [0x101238ac], esi
mov eax, dword [esi]
mov dword [0x101238b0], eax
test eax, eax
je 0x100b4e7c
xor edi, edi
nop dword [eax]
mov eax, dword [0x101238b0]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b4e1f
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b4e1f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b4e1f
test eax, 0x100
jne 0x100b4e1f
inc edi
jmp 0x100b4df0
mov dword [0x101238b8], edi
test edi, edi
je 0x100b4e7c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x101238b4
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x101238b4]
test edi, edi
je 0x100b4e7c
mov eax, dword [0x101238b8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101238b0]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101238bc], 1
xor eax, eax
cmp byte [0x101238bc], al
setne al
add eax, 0x43
cmp dword [0x101238b0], 0
je 0x100b4eac
mov ecx, dword [0x101238b4]
test ecx, ecx
je 0x100b4eac
cmp eax, dword [0x101238b8]
ja 0x100b4eac
mov dword [ecx + eax*4], 0x100c07b0
xor eax, eax
cmp byte [0x101238bc], al
setne al
add eax, 0x52
cmp dword [0x101238b0], 0
je 0x100b4edc
mov ecx, dword [0x101238b4]
test ecx, ecx
je 0x100b4edc
cmp eax, dword [0x101238b8]
ja 0x100b4edc
mov dword [ecx + eax*4], 0x100c0800
xor eax, eax
cmp byte [0x101238bc], al
setne al
add eax, 0x74
cmp dword [0x101238b0], 0
je 0x100b4f0c
mov ecx, dword [0x101238b4]
test ecx, ecx
je 0x100b4f0c
cmp eax, dword [0x101238b8]
ja 0x100b4f0c
mov dword [ecx + eax*4], 0x100c08c0
mov esi, dword [0x10123378]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 7
mov dword [0x101238fc], esi
mov eax, dword [esi]
mov dword [0x10123900], eax
test eax, eax
je 0x100b4fbf
xor edi, edi
mov eax, dword [0x10123900]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b4f62
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b4f62
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b4f62
test eax, 0x100
jne 0x100b4f62
inc edi
jmp 0x100b4f33
mov dword [0x10123908], edi
test edi, edi
je 0x100b4fbf
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123904
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123904]
test edi, edi
je 0x100b4fbf
mov eax, dword [0x10123908]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123900]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x1012390c], 1
xor eax, eax
cmp byte [0x1012390c], al
setne al
add eax, 0x15
cmp dword [0x10123900], 0
je 0x100b4fef
mov ecx, dword [0x10123904]
test ecx, ecx
je 0x100b4fef
cmp eax, dword [0x10123908]
ja 0x100b4fef
mov dword [ecx + eax*4], 0x100af840
mov esi, dword [0x10123370]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 8
mov dword [0x101238e8], esi
mov eax, dword [esi]
mov dword [0x101238ec], eax
test eax, eax
je 0x100b50a2
xor edi, edi
mov eax, dword [0x101238ec]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b5045
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b5045
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b5045
test eax, 0x100
jne 0x100b5045
inc edi
jmp 0x100b5016
mov dword [0x101238f4], edi
test edi, edi
je 0x100b50a2
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x101238f0
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x101238f0]
test edi, edi
je 0x100b50a2
mov eax, dword [0x101238f4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101238ec]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101238f8], 1
xor eax, eax
cmp byte [0x101238f8], al
setne al
add eax, 9
cmp dword [0x101238ec], 0
je 0x100b50d2
mov ecx, dword [0x101238f0]
test ecx, ecx
je 0x100b50d2
cmp eax, dword [0x101238f4]
ja 0x100b50d2
mov dword [ecx + eax*4], 0x100cf6d0
mov esi, dword [0x101233d0]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 9
mov dword [0x10123910], esi
mov eax, dword [esi]
mov dword [0x10123914], eax
test eax, eax
je 0x100b518c
xor edi, edi
nop dword [eax]
mov eax, dword [0x10123914]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b512f
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b512f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b512f
test eax, 0x100
jne 0x100b512f
inc edi
jmp 0x100b5100
mov dword [0x1012391c], edi
test edi, edi
je 0x100b518c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123918
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123918]
test edi, edi
je 0x100b518c
mov eax, dword [0x1012391c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123914]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123920], 1
xor eax, eax
cmp byte [0x10123920], al
setne al
add eax, 0x2b
cmp dword [0x10123914], 0
je 0x100b51bc
mov ecx, dword [0x10123918]
test ecx, ecx
je 0x100b51bc
cmp eax, dword [0x1012391c]
ja 0x100b51bc
mov dword [ecx + eax*4], 0x1004cbd0
mov esi, dword [0x10123374]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xa
mov dword [0x10123924], esi
mov eax, dword [esi]
mov dword [0x10123928], eax
test eax, eax
je 0x100b526f
xor edi, edi
mov eax, dword [0x10123928]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b5212
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b5212
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b5212
test eax, 0x100
jne 0x100b5212
inc edi
jmp 0x100b51e3
mov dword [0x10123930], edi
test edi, edi
je 0x100b526f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x1012392c
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x1012392c]
test edi, edi
je 0x100b526f
mov eax, dword [0x10123930]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123928]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123934], 1
xor eax, eax
cmp byte [0x10123934], al
setne al
add eax, 4
cmp dword [0x10123928], 0
je 0x100b529f
mov ecx, dword [0x1012392c]
test ecx, ecx
je 0x100b529f
cmp eax, dword [0x10123930]
ja 0x100b529f
mov dword [ecx + eax*4], 0x100cb970
xor eax, eax
cmp byte [0x10123934], al
setne al
add eax, 6
cmp dword [0x10123928], 0
je 0x100b52cf
mov ecx, dword [0x1012392c]
test ecx, ecx
je 0x100b52cf
cmp eax, dword [0x10123930]
ja 0x100b52cf
mov dword [ecx + eax*4], 0x100cba40
xor eax, eax
cmp byte [0x10123934], al
setne al
add eax, 0x27
cmp dword [0x10123928], 0
je 0x100b52ff
mov ecx, dword [0x1012392c]
test ecx, ecx
je 0x100b52ff
cmp eax, dword [0x10123930]
ja 0x100b52ff
mov dword [ecx + eax*4], 0x100cba70
xor eax, eax
cmp byte [0x10123934], al
setne al
add eax, 0x28
cmp dword [0x10123928], 0
je 0x100b532f
mov ecx, dword [0x1012392c]
test ecx, ecx
je 0x100b532f
cmp eax, dword [0x10123930]
ja 0x100b532f
mov dword [ecx + eax*4], 0x100cba90
mov esi, dword [0x10123394]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xb
mov dword [0x10123938], esi
mov eax, dword [esi]
mov dword [0x1012393c], eax
test eax, eax
je 0x100b53e2
xor edi, edi
mov eax, dword [0x1012393c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b5385
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b5385
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b5385
test eax, 0x100
jne 0x100b5385
inc edi
jmp 0x100b5356
mov dword [0x10123944], edi
test edi, edi
je 0x100b53e2
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123940
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123940]
test edi, edi
je 0x100b53e2
mov eax, dword [0x10123944]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x1012393c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123948], 1
xor eax, eax
cmp byte [0x10123948], al
setne al
add eax, 0xd
cmp dword [0x1012393c], 0
je 0x100b5412
mov ecx, dword [0x10123940]
test ecx, ecx
je 0x100b5412
cmp eax, dword [0x10123944]
ja 0x100b5412
mov dword [ecx + eax*4], 0x1004c7e0
mov esi, dword [0x1012337c]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xc
mov dword [0x1012394c], esi
mov eax, dword [esi]
mov dword [0x10123950], eax
test eax, eax
je 0x100b54cc
xor edi, edi
nop dword [eax]
mov eax, dword [0x10123950]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b546f
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b546f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b546f
test eax, 0x100
jne 0x100b546f
inc edi
jmp 0x100b5440
mov dword [0x10123958], edi
test edi, edi
je 0x100b54cc
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123954
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123954]
test edi, edi
je 0x100b54cc
mov eax, dword [0x10123958]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123950]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x1012395c], 1
xor eax, eax
cmp byte [0x1012395c], al
setne al
add eax, 0x15
cmp dword [0x10123950], 0
je 0x100b54fc
mov ecx, dword [0x10123954]
test ecx, ecx
je 0x100b54fc
cmp eax, dword [0x10123958]
ja 0x100b54fc
mov dword [ecx + eax*4], 0x1004cba0
mov esi, dword [0x101234e8]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xd
mov dword [0x10123960], esi
mov eax, dword [esi]
mov dword [0x10123964], eax
test eax, eax
je 0x100b55af
xor edi, edi
mov eax, dword [0x10123964]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b5552
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b5552
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b5552
test eax, 0x100
jne 0x100b5552
inc edi
jmp 0x100b5523
mov dword [0x1012396c], edi
test edi, edi
je 0x100b55af
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123968
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123968]
test edi, edi
je 0x100b55af
mov eax, dword [0x1012396c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123964]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123970], 1
xor eax, eax
cmp byte [0x10123970], al
setne al
add eax, 7
cmp dword [0x10123964], 0
je 0x100b55df
mov ecx, dword [0x10123968]
test ecx, ecx
je 0x100b55df
cmp eax, dword [0x1012396c]
ja 0x100b55df
mov dword [ecx + eax*4], 0x10047d10
mov esi, dword [0x101233e4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xe
mov dword [0x1012385c], esi
mov eax, dword [esi]
mov dword [0x10123860], eax
test eax, eax
je 0x100b5692
xor edi, edi
mov eax, dword [0x10123860]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b5635
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b5635
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b5635
test eax, 0x100
jne 0x100b5635
inc edi
jmp 0x100b5606
mov dword [0x10123868], edi
test edi, edi
je 0x100b5692
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123864
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123864]
test edi, edi
je 0x100b5692
mov eax, dword [0x10123868]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123860]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x1012386c], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x1012386c], al
setne al
add eax, 0x18
cmp dword [0x10123860], 0
je 0x100b56c9
mov ecx, dword [0x10123864]
test ecx, ecx
je 0x100b56c9
cmp eax, dword [0x10123868]
ja 0x100b56c9
mov dword [ecx + eax*4], 0x100313d0
push 0x100f5018
call dword [0x101234f8]
mov esi, dword [0x10123430]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xf
mov dword [0x10123e88], esi
mov eax, dword [esi]
mov dword [0x10123e8c], eax
test eax, eax
je 0x100b578c
xor edi, edi
nop dword [eax + eax]
mov eax, dword [0x10123e8c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b572f
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b572f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b572f
test eax, 0x100
jne 0x100b572f
inc edi
jmp 0x100b5700
mov dword [0x10123e94], edi
test edi, edi
je 0x100b578c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x10123e90
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x10123e90]
test edi, edi
je 0x100b578c
mov eax, dword [0x10123e94]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123e8c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123e98], 1
xor eax, eax
cmp byte [0x10123e98], al
setne al
add eax, 0xd
cmp dword [0x10123e8c], 0
je 0x100b57bc
mov ecx, dword [0x10123e90]
test ecx, ecx
je 0x100b57bc
cmp eax, dword [0x10123e94]
ja 0x100b57bc
mov dword [ecx + eax*4], 0x100af670
mov esi, dword [0x10123434]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x10
mov dword [0x10123974], esi
mov eax, dword [esi]
mov dword [0x10123978], eax
test eax, eax
je 0x100b586f
xor edi, edi
mov eax, dword [0x10123978]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b5812
mov eax, dword [0x10107278]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b5812
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b5812
test eax, 0x100
jne 0x100b5812
inc edi
jmp 0x100b57e3
mov dword [0x10123980], edi
test edi, edi
je 0x100b586f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10031fe0
push eax
mov ecx, 0x1012397c
call fcn.10032080
lea ecx, [ebp - 0x14]
call fcn.10031a20
mov edi, dword [0x1012397c]
test edi, edi
je 0x100b586f
mov eax, dword [0x10123980]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10123978]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10123984], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x10123984], al
setne al
add eax, 0xd
cmp dword [0x10123978], 0
je 0x100b58a6
mov ecx, dword [0x1012397c]
test ecx, ecx
je 0x100b58a6
cmp eax, dword [0x10123980]
ja 0x100b58a6
mov dword [ecx + eax*4], 0x100af800
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0xf3c2c786
push eax
mov ecx, 0x101292c8
mov dword [ebp - 0x1c], 0x72e242a1
call fcn.100ad920
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.100ad900
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x44], xmm0
cmp byte [ebp - 0x44], 0
mov dword [ebp - 0x3c], eax
jne 0x100b58f4
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x10123eb8], eax
mov dword [ecx + 0x20], 0x100b4300
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x9ef0d03e
push eax
mov ecx, 0x101292c8
mov dword [ebp - 0x18], 0x72e242a1
call fcn.100ad920
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.100ad900
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x44], xmm0
cmp byte [ebp - 0x44], 0
mov dword [ebp - 0x3c], eax
jne 0x100b5942
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x10123ebc], eax
mov dword [ecx + 0x20], 0x100b4360
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x566bd764
push eax
mov ecx, 0x101292c8
mov dword [ebp - 0x18], 0x2aafa737
call fcn.100ad920
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.100ad900
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x44], xmm0
cmp byte [ebp - 0x44], 0
mov dword [ebp - 0x3c], eax
jne 0x100b5990
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x20]
mov dword [0x10123ec0], eax
mov dword [edx + 0x20], 0x100b4550
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x781aa1a4
push eax
mov ecx, 0x101292c8
mov dword [ebp - 0x18], 0x2aafa737
call fcn.100ad920
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.100ad900
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x44], xmm0
cmp byte [ebp - 0x44], 0
mov dword [ebp - 0x3c], eax
jne 0x100b59de
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x10123ec4], eax
mov dword [ecx + 0x20], 0x100b4530
cmp byte [0x10129364], 0
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
jne 0x100b5ab0
movaps xmm0, xmmword [0x100ea1f0]
xor ecx, ecx
movaps xmm2, xmmword [0x100ea3d0]
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x5c], 0x8c949d8c
movaps xmm0, xmmword [0x100ea200]
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x58], 0xea8cee94
mov word [ebp - 0x54], 0xac9d
movups xmm0, xmmword [ebp + ecx - 0x7c]
movaps xmm1, xmm2
pxor xmm1, xmm0
movups xmmword [ebp + ecx - 0x7c], xmm1
add ecx, 0x10
cmp ecx, 0x20
jb 0x100b5a24
cmp ecx, 0x2a
jae 0x100b5a4d
xor byte [ebp + ecx - 0x7c], 0xac
inc ecx
cmp ecx, 0x2a
jb 0x100b5a42
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x50]
call fcn.10025860
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 0x11
push eax
mov edx, 0x101232fc
lea ecx, [ebp - 0x18]
call fcn.1004d670
add esp, 4
lea ecx, [ebp - 0x50]
mov esi, dword [eax]
add esi, 0x7e
mov dword [ebp - 4], 0xffffffff
call fcn.10025810
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x1c]
mov byte [esi], 0x3f
push eax
push dword [ebp - 0x1c]
push 1
push esi
call edi
mov byte [0x10129364], 1
cmp byte [0x10129365], 0
jne 0x100b5b8f
movaps xmm0, xmmword [0x100ea260]
xor ecx, ecx
movaps xmm1, xmmword [0x100ea3d0]
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0x88], 0x938c938c
movaps xmm0, xmmword [0x100ea210]
movups xmmword [ebp - 0xa8], xmm0
mov byte [ebp - 0x84], 0xac
movaps xmm0, xmmword [0x100ea0b0]
movups xmmword [ebp - 0x98], xmm0
movups xmm0, xmmword [ebp + ecx - 0xb8]
pxor xmm0, xmm1
movups xmmword [ebp + ecx - 0xb8], xmm0
add ecx, 0x10
cmp ecx, 0x30
jb 0x100b5b01
cmp ecx, 0x35
jae 0x100b5b30
xor byte [ebp + ecx - 0xb8], 0xac
inc ecx
cmp ecx, 0x35
jb 0x100b5b22
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x34]
call fcn.10025860
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0x12
push eax
mov edx, 0x101232fc
lea ecx, [ebp - 0x80]
call fcn.1004d670
add esp, 4
lea ecx, [ebp - 0x34]
mov esi, dword [eax]
add esi, 0x24
call fcn.10025810
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 0x14]
mov byte [esi], 0x75
push eax
push dword [ebp - 0x14]
push 1
push esi
call edi
mov byte [0x10129365], 1
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.100d9ae6
mov esp, ebp
pop ebp
ret