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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e51bd
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 [0x10124964]
mov ecx, dword [0x101078dc]
push 0x100da0d0
push 0xfffffffffffffffc
push dword [eax + 8]
call ecx
mov esi, dword [0x101248fc]
mov dword [0x1012541c], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0
mov dword [0x10124da0], esi
mov eax, dword [esi]
mov dword [0x10124da4], eax
test eax, eax
je 0x100b73cc
xor edi, edi
mov eax, dword [0x10124da4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b736f
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b736f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b736f
test eax, 0x100
jne 0x100b736f
inc edi
jmp 0x100b7340
mov dword [0x10124dac], edi
test edi, edi
je 0x100b73cc
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124da8
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124da8]
test edi, edi
je 0x100b73cc
mov eax, dword [0x10124dac]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124da4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124db0], 1
xor eax, eax
cmp byte [0x10124db0], al
setne al
add eax, 0x29
cmp dword [0x10124da4], 0
je 0x100b73fc
mov ecx, dword [0x10124da8]
test ecx, ecx
je 0x100b73fc
cmp eax, dword [0x10124dac]
ja 0x100b73fc
mov dword [ecx + eax*4], 0x100c7d00
mov esi, dword [0x101248e4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 1
mov dword [0x10124dc8], esi
mov eax, dword [esi]
mov dword [0x10124dcc], eax
test eax, eax
je 0x100b74af
xor edi, edi
mov eax, dword [0x10124dcc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7452
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7452
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7452
test eax, 0x100
jne 0x100b7452
inc edi
jmp 0x100b7423
mov dword [0x10124dd4], edi
test edi, edi
je 0x100b74af
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124dd0
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124dd0]
test edi, edi
je 0x100b74af
mov eax, dword [0x10124dd4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124dcc]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124dd8], 1
xor eax, eax
cmp byte [0x10124dd8], al
setne al
add eax, 5
cmp dword [0x10124dcc], 0
je 0x100b74df
mov ecx, dword [0x10124dd0]
test ecx, ecx
je 0x100b74df
cmp eax, dword [0x10124dd4]
ja 0x100b74df
mov dword [ecx + eax*4], 0x100bced0
xor eax, eax
cmp byte [0x10124dd8], al
setne al
add eax, 6
cmp dword [0x10124dcc], 0
je 0x100b750f
mov ecx, dword [0x10124dd0]
test ecx, ecx
je 0x100b750f
cmp eax, dword [0x10124dd4]
ja 0x100b750f
mov dword [ecx + eax*4], 0x100bcf80
xor eax, eax
cmp byte [0x10124dd8], al
setne al
add eax, 7
cmp dword [0x10124dcc], 0
je 0x100b753f
mov ecx, dword [0x10124dd0]
test ecx, ecx
je 0x100b753f
cmp eax, dword [0x10124dd4]
ja 0x100b753f
mov dword [ecx + eax*4], 0x100bcfe0
xor eax, eax
cmp byte [0x10124dd8], al
setne al
add eax, 0x24
cmp dword [0x10124dcc], 0
je 0x100b756f
mov ecx, dword [0x10124dd0]
test ecx, ecx
je 0x100b756f
cmp eax, dword [0x10124dd4]
ja 0x100b756f
mov dword [ecx + eax*4], 0x100bd050
mov esi, dword [0x101248ec]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 2
mov dword [0x10124df0], esi
mov eax, dword [esi]
mov dword [0x10124df4], eax
test eax, eax
je 0x100b7622
xor edi, edi
mov eax, dword [0x10124df4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b75c5
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b75c5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b75c5
test eax, 0x100
jne 0x100b75c5
inc edi
jmp 0x100b7596
mov dword [0x10124dfc], edi
test edi, edi
je 0x100b7622
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124df8
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124df8]
test edi, edi
je 0x100b7622
mov eax, dword [0x10124dfc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124df4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124e00], 1
xor eax, eax
cmp byte [0x10124e00], al
setne al
add eax, 0x1b
cmp dword [0x10124df4], 0
je 0x100b7652
mov ecx, dword [0x10124df8]
test ecx, ecx
je 0x100b7652
cmp eax, dword [0x10124dfc]
ja 0x100b7652
mov dword [ecx + eax*4], 0x100bbbf0
xor eax, eax
cmp byte [0x10124e00], al
setne al
add eax, 0x5d
cmp dword [0x10124df4], 0
je 0x100b7682
mov ecx, dword [0x10124df8]
test ecx, ecx
je 0x100b7682
cmp eax, dword [0x10124dfc]
ja 0x100b7682
mov dword [ecx + eax*4], 0x100bbd70
mov esi, dword [0x10124940]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 3
mov dword [0x10124e04], esi
mov eax, dword [esi]
mov dword [0x10124e08], eax
test eax, eax
je 0x100b773c
xor edi, edi
nop dword [eax]
mov eax, dword [0x10124e08]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b76df
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b76df
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b76df
test eax, 0x100
jne 0x100b76df
inc edi
jmp 0x100b76b0
mov dword [0x10124e10], edi
test edi, edi
je 0x100b773c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124e0c
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124e0c]
test edi, edi
je 0x100b773c
mov eax, dword [0x10124e10]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124e08]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124e14], 1
xor eax, eax
cmp byte [0x10124e14], al
setne al
add eax, 5
cmp dword [0x10124e08], 0
je 0x100b776c
mov ecx, dword [0x10124e0c]
test ecx, ecx
je 0x100b776c
cmp eax, dword [0x10124e10]
ja 0x100b776c
mov dword [ecx + eax*4], 0x100bbf20
mov esi, dword [0x10124904]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 4
mov dword [0x10124e18], esi
mov eax, dword [esi]
mov dword [0x10124e1c], eax
test eax, eax
je 0x100b781f
xor edi, edi
mov eax, dword [0x10124e1c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b77c2
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b77c2
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b77c2
test eax, 0x100
jne 0x100b77c2
inc edi
jmp 0x100b7793
mov dword [0x10124e24], edi
test edi, edi
je 0x100b781f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124e20
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124e20]
test edi, edi
je 0x100b781f
mov eax, dword [0x10124e24]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124e1c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124e28], 1
xor eax, eax
cmp byte [0x10124e28], al
setne al
add eax, 0xe
cmp dword [0x10124e1c], 0
je 0x100b784f
mov ecx, dword [0x10124e20]
test ecx, ecx
je 0x100b784f
cmp eax, dword [0x10124e24]
ja 0x100b784f
mov dword [ecx + eax*4], 0x100cfc70
xor eax, eax
cmp byte [0x10124e28], al
setne al
add eax, 0x13
cmp dword [0x10124e1c], 0
je 0x100b787f
mov ecx, dword [0x10124e20]
test ecx, ecx
je 0x100b787f
cmp eax, dword [0x10124e24]
ja 0x100b787f
mov dword [ecx + eax*4], 0x100d0080
mov esi, dword [0x10124948]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 5
mov dword [0x10124db4], esi
mov eax, dword [esi]
mov dword [0x10124db8], eax
test eax, eax
je 0x100b7932
xor edi, edi
mov eax, dword [0x10124db8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b78d5
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b78d5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b78d5
test eax, 0x100
jne 0x100b78d5
inc edi
jmp 0x100b78a6
mov dword [0x10124dc0], edi
test edi, edi
je 0x100b7932
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124dbc
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124dbc]
test edi, edi
je 0x100b7932
mov eax, dword [0x10124dc0]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124db8]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124dc4], 1
xor eax, eax
cmp byte [0x10124dc4], al
setne al
add eax, 0x10
cmp dword [0x10124db8], 0
je 0x100b7962
mov ecx, dword [0x10124dbc]
test ecx, ecx
je 0x100b7962
cmp eax, dword [0x10124dc0]
ja 0x100b7962
mov dword [ecx + eax*4], 0x100c7ba0
xor eax, eax
cmp byte [0x10124dc4], al
setne al
add eax, 0x11
cmp dword [0x10124db8], 0
je 0x100b7992
mov ecx, dword [0x10124dbc]
test ecx, ecx
je 0x100b7992
cmp eax, dword [0x10124dc0]
ja 0x100b7992
mov dword [ecx + eax*4], 0x100c7bb0
xor eax, eax
cmp byte [0x10124dc4], al
setne al
add eax, 0x12
cmp dword [0x10124db8], 0
je 0x100b79c2
mov ecx, dword [0x10124dbc]
test ecx, ecx
je 0x100b79c2
cmp eax, dword [0x10124dc0]
ja 0x100b79c2
mov dword [ecx + eax*4], 0x100c7bd0
xor eax, eax
cmp byte [0x10124dc4], al
setne al
add eax, 0x18
cmp dword [0x10124db8], 0
je 0x100b79f2
mov ecx, dword [0x10124dbc]
test ecx, ecx
je 0x100b79f2
cmp eax, dword [0x10124dc0]
ja 0x100b79f2
mov dword [ecx + eax*4], 0x100c7c50
xor eax, eax
cmp byte [0x10124dc4], al
setne al
add eax, 0x2c
cmp dword [0x10124db8], 0
je 0x100b7a22
mov ecx, dword [0x10124dbc]
test ecx, ecx
je 0x100b7a22
cmp eax, dword [0x10124dc0]
ja 0x100b7a22
mov dword [ecx + eax*4], 0x100c7cd0
mov esi, dword [0x101248f8]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 6
mov dword [0x10124e2c], esi
mov eax, dword [esi]
mov dword [0x10124e30], eax
test eax, eax
je 0x100b7adc
xor edi, edi
nop dword [eax]
mov eax, dword [0x10124e30]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7a7f
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7a7f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7a7f
test eax, 0x100
jne 0x100b7a7f
inc edi
jmp 0x100b7a50
mov dword [0x10124e38], edi
test edi, edi
je 0x100b7adc
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124e34
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124e34]
test edi, edi
je 0x100b7adc
mov eax, dword [0x10124e38]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124e30]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124e3c], 1
xor eax, eax
cmp byte [0x10124e3c], al
setne al
add eax, 0x43
cmp dword [0x10124e30], 0
je 0x100b7b0c
mov ecx, dword [0x10124e34]
test ecx, ecx
je 0x100b7b0c
cmp eax, dword [0x10124e38]
ja 0x100b7b0c
mov dword [ecx + eax*4], 0x100c3440
xor eax, eax
cmp byte [0x10124e3c], al
setne al
add eax, 0x52
cmp dword [0x10124e30], 0
je 0x100b7b3c
mov ecx, dword [0x10124e34]
test ecx, ecx
je 0x100b7b3c
cmp eax, dword [0x10124e38]
ja 0x100b7b3c
mov dword [ecx + eax*4], 0x100c3490
xor eax, eax
cmp byte [0x10124e3c], al
setne al
add eax, 0x74
cmp dword [0x10124e30], 0
je 0x100b7b6c
mov ecx, dword [0x10124e34]
test ecx, ecx
je 0x100b7b6c
cmp eax, dword [0x10124e38]
ja 0x100b7b6c
mov dword [ecx + eax*4], 0x100c3550
mov esi, dword [0x10124918]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 7
mov dword [0x10124e7c], esi
mov eax, dword [esi]
mov dword [0x10124e80], eax
test eax, eax
je 0x100b7c1f
xor edi, edi
mov eax, dword [0x10124e80]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7bc2
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7bc2
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7bc2
test eax, 0x100
jne 0x100b7bc2
inc edi
jmp 0x100b7b93
mov dword [0x10124e88], edi
test edi, edi
je 0x100b7c1f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124e84
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124e84]
test edi, edi
je 0x100b7c1f
mov eax, dword [0x10124e88]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124e80]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124e8c], 1
xor eax, eax
cmp byte [0x10124e8c], al
setne al
add eax, 0x15
cmp dword [0x10124e80], 0
je 0x100b7c4f
mov ecx, dword [0x10124e84]
test ecx, ecx
je 0x100b7c4f
cmp eax, dword [0x10124e88]
ja 0x100b7c4f
mov dword [ecx + eax*4], 0x100b24c0
mov esi, dword [0x10124910]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 8
mov dword [0x10124e68], esi
mov eax, dword [esi]
mov dword [0x10124e6c], eax
test eax, eax
je 0x100b7d02
xor edi, edi
mov eax, dword [0x10124e6c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7ca5
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7ca5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7ca5
test eax, 0x100
jne 0x100b7ca5
inc edi
jmp 0x100b7c76
mov dword [0x10124e74], edi
test edi, edi
je 0x100b7d02
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124e70
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124e70]
test edi, edi
je 0x100b7d02
mov eax, dword [0x10124e74]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124e6c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124e78], 1
xor eax, eax
cmp byte [0x10124e78], al
setne al
add eax, 9
cmp dword [0x10124e6c], 0
je 0x100b7d32
mov ecx, dword [0x10124e70]
test ecx, ecx
je 0x100b7d32
cmp eax, dword [0x10124e74]
ja 0x100b7d32
mov dword [ecx + eax*4], 0x100d0290
mov esi, dword [0x10124970]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 9
mov dword [0x10124e90], esi
mov eax, dword [esi]
mov dword [0x10124e94], eax
test eax, eax
je 0x100b7dec
xor edi, edi
nop dword [eax]
mov eax, dword [0x10124e94]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7d8f
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7d8f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7d8f
test eax, 0x100
jne 0x100b7d8f
inc edi
jmp 0x100b7d60
mov dword [0x10124e9c], edi
test edi, edi
je 0x100b7dec
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124e98
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124e98]
test edi, edi
je 0x100b7dec
mov eax, dword [0x10124e9c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124e94]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124ea0], 1
xor eax, eax
cmp byte [0x10124ea0], al
setne al
add eax, 0x2b
cmp dword [0x10124e94], 0
je 0x100b7e1c
mov ecx, dword [0x10124e98]
test ecx, ecx
je 0x100b7e1c
cmp eax, dword [0x10124e9c]
ja 0x100b7e1c
mov dword [ecx + eax*4], 0x1004e940
mov esi, dword [0x10124914]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xa
mov dword [0x10124ea4], esi
mov eax, dword [esi]
mov dword [0x10124ea8], eax
test eax, eax
je 0x100b7ecf
xor edi, edi
mov eax, dword [0x10124ea8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7e72
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7e72
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7e72
test eax, 0x100
jne 0x100b7e72
inc edi
jmp 0x100b7e43
mov dword [0x10124eb0], edi
test edi, edi
je 0x100b7ecf
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124eac
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124eac]
test edi, edi
je 0x100b7ecf
mov eax, dword [0x10124eb0]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124ea8]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124eb4], 1
xor eax, eax
cmp byte [0x10124eb4], al
setne al
add eax, 4
cmp dword [0x10124ea8], 0
je 0x100b7eff
mov ecx, dword [0x10124eac]
test ecx, ecx
je 0x100b7eff
cmp eax, dword [0x10124eb0]
ja 0x100b7eff
mov dword [ecx + eax*4], 0x100cdb60
xor eax, eax
cmp byte [0x10124eb4], al
setne al
add eax, 6
cmp dword [0x10124ea8], 0
je 0x100b7f2f
mov ecx, dword [0x10124eac]
test ecx, ecx
je 0x100b7f2f
cmp eax, dword [0x10124eb0]
ja 0x100b7f2f
mov dword [ecx + eax*4], 0x100cdc10
xor eax, eax
cmp byte [0x10124eb4], al
setne al
add eax, 0x27
cmp dword [0x10124ea8], 0
je 0x100b7f5f
mov ecx, dword [0x10124eac]
test ecx, ecx
je 0x100b7f5f
cmp eax, dword [0x10124eb0]
ja 0x100b7f5f
mov dword [ecx + eax*4], 0x100cdc50
xor eax, eax
cmp byte [0x10124eb4], al
setne al
add eax, 0x28
cmp dword [0x10124ea8], 0
je 0x100b7f8f
mov ecx, dword [0x10124eac]
test ecx, ecx
je 0x100b7f8f
cmp eax, dword [0x10124eb0]
ja 0x100b7f8f
mov dword [ecx + eax*4], 0x100cdc70
mov esi, dword [0x10124934]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xb
mov dword [0x10124eb8], esi
mov eax, dword [esi]
mov dword [0x10124ebc], eax
test eax, eax
je 0x100b8042
xor edi, edi
mov eax, dword [0x10124ebc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7fe5
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7fe5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7fe5
test eax, 0x100
jne 0x100b7fe5
inc edi
jmp 0x100b7fb6
mov dword [0x10124ec4], edi
test edi, edi
je 0x100b8042
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124ec0
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124ec0]
test edi, edi
je 0x100b8042
mov eax, dword [0x10124ec4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124ebc]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124ec8], 1
xor eax, eax
cmp byte [0x10124ec8], al
setne al
add eax, 0xd
cmp dword [0x10124ebc], 0
je 0x100b8072
mov ecx, dword [0x10124ec0]
test ecx, ecx
je 0x100b8072
cmp eax, dword [0x10124ec4]
ja 0x100b8072
mov dword [ecx + eax*4], 0x1004e550
mov esi, dword [0x1012491c]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xc
mov dword [0x10124ecc], esi
mov eax, dword [esi]
mov dword [0x10124ed0], eax
test eax, eax
je 0x100b812c
xor edi, edi
nop dword [eax]
mov eax, dword [0x10124ed0]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b80cf
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b80cf
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b80cf
test eax, 0x100
jne 0x100b80cf
inc edi
jmp 0x100b80a0
mov dword [0x10124ed8], edi
test edi, edi
je 0x100b812c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124ed4
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124ed4]
test edi, edi
je 0x100b812c
mov eax, dword [0x10124ed8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124ed0]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124edc], 1
xor eax, eax
cmp byte [0x10124edc], al
setne al
add eax, 0x15
cmp dword [0x10124ed0], 0
je 0x100b815c
mov ecx, dword [0x10124ed4]
test ecx, ecx
je 0x100b815c
cmp eax, dword [0x10124ed8]
ja 0x100b815c
mov dword [ecx + eax*4], 0x1004e910
mov esi, dword [0x10124a88]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xd
mov dword [0x10124ee0], esi
mov eax, dword [esi]
mov dword [0x10124ee4], eax
test eax, eax
je 0x100b820f
xor edi, edi
mov eax, dword [0x10124ee4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b81b2
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b81b2
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b81b2
test eax, 0x100
jne 0x100b81b2
inc edi
jmp 0x100b8183
mov dword [0x10124eec], edi
test edi, edi
je 0x100b820f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124ee8
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124ee8]
test edi, edi
je 0x100b820f
mov eax, dword [0x10124eec]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124ee4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124ef0], 1
xor eax, eax
cmp byte [0x10124ef0], al
setne al
add eax, 7
cmp dword [0x10124ee4], 0
je 0x100b823f
mov ecx, dword [0x10124ee8]
test ecx, ecx
je 0x100b823f
cmp eax, dword [0x10124eec]
ja 0x100b823f
mov dword [ecx + eax*4], 0x10049aa0
mov esi, dword [0x10124984]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xe
mov dword [0x10124ddc], esi
mov eax, dword [esi]
mov dword [0x10124de0], eax
test eax, eax
je 0x100b82f2
xor edi, edi
mov eax, dword [0x10124de0]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b8295
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b8295
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b8295
test eax, 0x100
jne 0x100b8295
inc edi
jmp 0x100b8266
mov dword [0x10124de8], edi
test edi, edi
je 0x100b82f2
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124de4
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124de4]
test edi, edi
je 0x100b82f2
mov eax, dword [0x10124de8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124de0]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124dec], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x10124dec], al
setne al
add eax, 0x18
cmp dword [0x10124de0], 0
je 0x100b8329
mov ecx, dword [0x10124de4]
test ecx, ecx
je 0x100b8329
cmp eax, dword [0x10124de8]
ja 0x100b8329
mov dword [ecx + eax*4], 0x10032df0
push 0x100f5018
call dword [0x10124a98]
mov esi, dword [0x101249d0]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xf
mov dword [0x10125408], esi
mov eax, dword [esi]
mov dword [0x1012540c], eax
test eax, eax
je 0x100b83ec
xor edi, edi
nop dword [eax + eax]
mov eax, dword [0x1012540c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b838f
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b838f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b838f
test eax, 0x100
jne 0x100b838f
inc edi
jmp 0x100b8360
mov dword [0x10125414], edi
test edi, edi
je 0x100b83ec
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10125410
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10125410]
test edi, edi
je 0x100b83ec
mov eax, dword [0x10125414]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x1012540c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125418], 1
xor eax, eax
cmp byte [0x10125418], al
setne al
add eax, 0xd
cmp dword [0x1012540c], 0
je 0x100b841c
mov ecx, dword [0x10125410]
test ecx, ecx
je 0x100b841c
cmp eax, dword [0x10125414]
ja 0x100b841c
mov dword [ecx + eax*4], 0x100b1ff0
mov esi, dword [0x101249d4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x10
mov dword [0x10124ef4], esi
mov eax, dword [esi]
mov dword [0x10124ef8], eax
test eax, eax
je 0x100b84cf
xor edi, edi
mov eax, dword [0x10124ef8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b8472
mov eax, dword [0x101078d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b8472
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b8472
test eax, 0x100
jne 0x100b8472
inc edi
jmp 0x100b8443
mov dword [0x10124f00], edi
test edi, edi
je 0x100b84cf
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a10
push eax
mov ecx, 0x10124efc
call fcn.10033ab0
lea ecx, [ebp - 0x14]
call fcn.10033450
mov edi, dword [0x10124efc]
test edi, edi
je 0x100b84cf
mov eax, dword [0x10124f00]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10124ef8]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10124f04], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x10124f04], al
setne al
add eax, 0xd
cmp dword [0x10124ef8], 0
je 0x100b8506
mov ecx, dword [0x10124efc]
test ecx, ecx
je 0x100b8506
cmp eax, dword [0x10124f00]
ja 0x100b8506
mov dword [ecx + eax*4], 0x100b2180
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0xf3c2c786
push eax
mov ecx, 0x1012a860
mov dword [ebp - 0x1c], 0x72e242a1
call fcn.100b0740
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.100b0720
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 0x100b8554
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x10125438], eax
mov dword [ecx + 0x20], 0x100b6f50
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x9ef0d03e
push eax
mov ecx, 0x1012a860
mov dword [ebp - 0x18], 0x72e242a1
call fcn.100b0740
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.100b0720
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 0x100b85a2
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x1012543c], eax
mov dword [ecx + 0x20], 0x100b6fc0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x566bd764
push eax
mov ecx, 0x1012a860
mov dword [ebp - 0x18], 0x2aafa737
call fcn.100b0740
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.100b0720
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 0x100b85f0
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x20]
mov dword [0x10125440], eax
mov dword [edx + 0x20], 0x100b71b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x781aa1a4
push eax
mov ecx, 0x1012a860
mov dword [ebp - 0x18], 0x2aafa737
call fcn.100b0740
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.100b0720
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 0x100b863e
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x10125444], eax
mov dword [ecx + 0x20], 0x100b7190
cmp byte [0x1012a904], 0
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
jne 0x100b8710
movaps xmm0, xmmword [0x100ea250]
xor ecx, ecx
movaps xmm2, xmmword [0x100ea440]
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x5c], 0x8c949d8c
movaps xmm0, xmmword [0x100ea260]
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 0x100b8684
cmp ecx, 0x2a
jae 0x100b86ad
xor byte [ebp + ecx - 0x7c], 0xac
inc ecx
cmp ecx, 0x2a
jb 0x100b86a2
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x50]
call fcn.10026840
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 0x11
push eax
mov edx, 0x1012489c
lea ecx, [ebp - 0x18]
call fcn.1004f3e0
add esp, 4
lea ecx, [ebp - 0x50]
mov esi, dword [eax]
add esi, 0x7e
mov dword [ebp - 4], 0xffffffff
call fcn.100267f0
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 [0x1012a904], 1
cmp byte [0x1012a905], 0
jne 0x100b87ef
movaps xmm0, xmmword [0x100ea2c0]
xor ecx, ecx
movaps xmm1, xmmword [0x100ea440]
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0x88], 0x938c938c
movaps xmm0, xmmword [0x100ea270]
movups xmmword [ebp - 0xa8], xmm0
mov byte [ebp - 0x84], 0xac
movaps xmm0, xmmword [0x100ea0e0]
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 0x100b8761
cmp ecx, 0x35
jae 0x100b8790
xor byte [ebp + ecx - 0xb8], 0xac
inc ecx
cmp ecx, 0x35
jb 0x100b8782
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x34]
call fcn.10026840
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0x12
push eax
mov edx, 0x1012489c
lea ecx, [ebp - 0x80]
call fcn.1004f3e0
add esp, 4
lea ecx, [ebp - 0x34]
mov esi, dword [eax]
add esi, 0x24
call fcn.100267f0
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 [0x1012a905], 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.100da686
mov esp, ebp
pop ebp
ret