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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e566d
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x100f6008]
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 [0x10125964]
mov ecx, dword [0x101088dc]
push 0x100da570
push 0xfffffffffffffffc
push dword [eax + 8]
call ecx
mov esi, dword [0x101258fc]
mov dword [0x1012641c], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0
mov dword [0x10125da0], esi
mov eax, dword [esi]
mov dword [0x10125da4], eax
test eax, eax
je 0x100b76ec
xor edi, edi
mov eax, dword [0x10125da4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b768f
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b768f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b768f
test eax, 0x100
jne 0x100b768f
inc edi
jmp 0x100b7660
mov dword [0x10125dac], edi
test edi, edi
je 0x100b76ec
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125da8
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125da8]
test edi, edi
je 0x100b76ec
mov eax, dword [0x10125dac]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125da4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125db0], 1
xor eax, eax
cmp byte [0x10125db0], al
setne al
add eax, 0x29
cmp dword [0x10125da4], 0
je 0x100b771c
mov ecx, dword [0x10125da8]
test ecx, ecx
je 0x100b771c
cmp eax, dword [0x10125dac]
ja 0x100b771c
mov dword [ecx + eax*4], 0x100c8100
mov esi, dword [0x101258e4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 1
mov dword [0x10125dc8], esi
mov eax, dword [esi]
mov dword [0x10125dcc], eax
test eax, eax
je 0x100b77cf
xor edi, edi
mov eax, dword [0x10125dcc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7772
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7772
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7772
test eax, 0x100
jne 0x100b7772
inc edi
jmp 0x100b7743
mov dword [0x10125dd4], edi
test edi, edi
je 0x100b77cf
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125dd0
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125dd0]
test edi, edi
je 0x100b77cf
mov eax, dword [0x10125dd4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125dcc]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125dd8], 1
xor eax, eax
cmp byte [0x10125dd8], al
setne al
add eax, 5
cmp dword [0x10125dcc], 0
je 0x100b77ff
mov ecx, dword [0x10125dd0]
test ecx, ecx
je 0x100b77ff
cmp eax, dword [0x10125dd4]
ja 0x100b77ff
mov dword [ecx + eax*4], 0x100bd340
xor eax, eax
cmp byte [0x10125dd8], al
setne al
add eax, 6
cmp dword [0x10125dcc], 0
je 0x100b782f
mov ecx, dword [0x10125dd0]
test ecx, ecx
je 0x100b782f
cmp eax, dword [0x10125dd4]
ja 0x100b782f
mov dword [ecx + eax*4], 0x100bd3f0
xor eax, eax
cmp byte [0x10125dd8], al
setne al
add eax, 7
cmp dword [0x10125dcc], 0
je 0x100b785f
mov ecx, dword [0x10125dd0]
test ecx, ecx
je 0x100b785f
cmp eax, dword [0x10125dd4]
ja 0x100b785f
mov dword [ecx + eax*4], 0x100bd450
xor eax, eax
cmp byte [0x10125dd8], al
setne al
add eax, 0x24
cmp dword [0x10125dcc], 0
je 0x100b788f
mov ecx, dword [0x10125dd0]
test ecx, ecx
je 0x100b788f
cmp eax, dword [0x10125dd4]
ja 0x100b788f
mov dword [ecx + eax*4], 0x100bd4c0
mov esi, dword [0x101258ec]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 2
mov dword [0x10125df0], esi
mov eax, dword [esi]
mov dword [0x10125df4], eax
test eax, eax
je 0x100b7942
xor edi, edi
mov eax, dword [0x10125df4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b78e5
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b78e5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b78e5
test eax, 0x100
jne 0x100b78e5
inc edi
jmp 0x100b78b6
mov dword [0x10125dfc], edi
test edi, edi
je 0x100b7942
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125df8
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125df8]
test edi, edi
je 0x100b7942
mov eax, dword [0x10125dfc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125df4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125e00], 1
xor eax, eax
cmp byte [0x10125e00], al
setne al
add eax, 0x1b
cmp dword [0x10125df4], 0
je 0x100b7972
mov ecx, dword [0x10125df8]
test ecx, ecx
je 0x100b7972
cmp eax, dword [0x10125dfc]
ja 0x100b7972
mov dword [ecx + eax*4], 0x100bc060
xor eax, eax
cmp byte [0x10125e00], al
setne al
add eax, 0x5d
cmp dword [0x10125df4], 0
je 0x100b79a2
mov ecx, dword [0x10125df8]
test ecx, ecx
je 0x100b79a2
cmp eax, dword [0x10125dfc]
ja 0x100b79a2
mov dword [ecx + eax*4], 0x100bc1e0
mov esi, dword [0x10125940]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 3
mov dword [0x10125e04], esi
mov eax, dword [esi]
mov dword [0x10125e08], eax
test eax, eax
je 0x100b7a5c
xor edi, edi
nop dword [eax]
mov eax, dword [0x10125e08]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b79ff
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b79ff
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b79ff
test eax, 0x100
jne 0x100b79ff
inc edi
jmp 0x100b79d0
mov dword [0x10125e10], edi
test edi, edi
je 0x100b7a5c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125e0c
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125e0c]
test edi, edi
je 0x100b7a5c
mov eax, dword [0x10125e10]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125e08]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125e14], 1
xor eax, eax
cmp byte [0x10125e14], al
setne al
add eax, 5
cmp dword [0x10125e08], 0
je 0x100b7a8c
mov ecx, dword [0x10125e0c]
test ecx, ecx
je 0x100b7a8c
cmp eax, dword [0x10125e10]
ja 0x100b7a8c
mov dword [ecx + eax*4], 0x100bc380
mov esi, dword [0x10125904]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 4
mov dword [0x10125e18], esi
mov eax, dword [esi]
mov dword [0x10125e1c], eax
test eax, eax
je 0x100b7b3f
xor edi, edi
mov eax, dword [0x10125e1c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7ae2
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7ae2
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7ae2
test eax, 0x100
jne 0x100b7ae2
inc edi
jmp 0x100b7ab3
mov dword [0x10125e24], edi
test edi, edi
je 0x100b7b3f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125e20
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125e20]
test edi, edi
je 0x100b7b3f
mov eax, dword [0x10125e24]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125e1c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125e28], 1
xor eax, eax
cmp byte [0x10125e28], al
setne al
add eax, 0xe
cmp dword [0x10125e1c], 0
je 0x100b7b6f
mov ecx, dword [0x10125e20]
test ecx, ecx
je 0x100b7b6f
cmp eax, dword [0x10125e24]
ja 0x100b7b6f
mov dword [ecx + eax*4], 0x100d0110
xor eax, eax
cmp byte [0x10125e28], al
setne al
add eax, 0x13
cmp dword [0x10125e1c], 0
je 0x100b7b9f
mov ecx, dword [0x10125e20]
test ecx, ecx
je 0x100b7b9f
cmp eax, dword [0x10125e24]
ja 0x100b7b9f
mov dword [ecx + eax*4], 0x100d0520
mov esi, dword [0x10125948]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 5
mov dword [0x10125db4], esi
mov eax, dword [esi]
mov dword [0x10125db8], eax
test eax, eax
je 0x100b7c52
xor edi, edi
mov eax, dword [0x10125db8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7bf5
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7bf5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7bf5
test eax, 0x100
jne 0x100b7bf5
inc edi
jmp 0x100b7bc6
mov dword [0x10125dc0], edi
test edi, edi
je 0x100b7c52
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125dbc
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125dbc]
test edi, edi
je 0x100b7c52
mov eax, dword [0x10125dc0]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125db8]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125dc4], 1
xor eax, eax
cmp byte [0x10125dc4], al
setne al
add eax, 0x10
cmp dword [0x10125db8], 0
je 0x100b7c82
mov ecx, dword [0x10125dbc]
test ecx, ecx
je 0x100b7c82
cmp eax, dword [0x10125dc0]
ja 0x100b7c82
mov dword [ecx + eax*4], 0x100c7fa0
xor eax, eax
cmp byte [0x10125dc4], al
setne al
add eax, 0x11
cmp dword [0x10125db8], 0
je 0x100b7cb2
mov ecx, dword [0x10125dbc]
test ecx, ecx
je 0x100b7cb2
cmp eax, dword [0x10125dc0]
ja 0x100b7cb2
mov dword [ecx + eax*4], 0x100c7fb0
xor eax, eax
cmp byte [0x10125dc4], al
setne al
add eax, 0x12
cmp dword [0x10125db8], 0
je 0x100b7ce2
mov ecx, dword [0x10125dbc]
test ecx, ecx
je 0x100b7ce2
cmp eax, dword [0x10125dc0]
ja 0x100b7ce2
mov dword [ecx + eax*4], 0x100c7fd0
xor eax, eax
cmp byte [0x10125dc4], al
setne al
add eax, 0x18
cmp dword [0x10125db8], 0
je 0x100b7d12
mov ecx, dword [0x10125dbc]
test ecx, ecx
je 0x100b7d12
cmp eax, dword [0x10125dc0]
ja 0x100b7d12
mov dword [ecx + eax*4], 0x100c8050
xor eax, eax
cmp byte [0x10125dc4], al
setne al
add eax, 0x2c
cmp dword [0x10125db8], 0
je 0x100b7d42
mov ecx, dword [0x10125dbc]
test ecx, ecx
je 0x100b7d42
cmp eax, dword [0x10125dc0]
ja 0x100b7d42
mov dword [ecx + eax*4], 0x100c80d0
mov esi, dword [0x101258f8]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 6
mov dword [0x10125e2c], esi
mov eax, dword [esi]
mov dword [0x10125e30], eax
test eax, eax
je 0x100b7dfc
xor edi, edi
nop dword [eax]
mov eax, dword [0x10125e30]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7d9f
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7d9f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7d9f
test eax, 0x100
jne 0x100b7d9f
inc edi
jmp 0x100b7d70
mov dword [0x10125e38], edi
test edi, edi
je 0x100b7dfc
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125e34
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125e34]
test edi, edi
je 0x100b7dfc
mov eax, dword [0x10125e38]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125e30]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125e3c], 1
xor eax, eax
cmp byte [0x10125e3c], al
setne al
add eax, 0x43
cmp dword [0x10125e30], 0
je 0x100b7e2c
mov ecx, dword [0x10125e34]
test ecx, ecx
je 0x100b7e2c
cmp eax, dword [0x10125e38]
ja 0x100b7e2c
mov dword [ecx + eax*4], 0x100c37e0
xor eax, eax
cmp byte [0x10125e3c], al
setne al
add eax, 0x52
cmp dword [0x10125e30], 0
je 0x100b7e5c
mov ecx, dword [0x10125e34]
test ecx, ecx
je 0x100b7e5c
cmp eax, dword [0x10125e38]
ja 0x100b7e5c
mov dword [ecx + eax*4], 0x100c3830
xor eax, eax
cmp byte [0x10125e3c], al
setne al
add eax, 0x74
cmp dword [0x10125e30], 0
je 0x100b7e8c
mov ecx, dword [0x10125e34]
test ecx, ecx
je 0x100b7e8c
cmp eax, dword [0x10125e38]
ja 0x100b7e8c
mov dword [ecx + eax*4], 0x100c38f0
mov esi, dword [0x10125918]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 7
mov dword [0x10125e7c], esi
mov eax, dword [esi]
mov dword [0x10125e80], eax
test eax, eax
je 0x100b7f3f
xor edi, edi
mov eax, dword [0x10125e80]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7ee2
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7ee2
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7ee2
test eax, 0x100
jne 0x100b7ee2
inc edi
jmp 0x100b7eb3
mov dword [0x10125e88], edi
test edi, edi
je 0x100b7f3f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125e84
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125e84]
test edi, edi
je 0x100b7f3f
mov eax, dword [0x10125e88]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125e80]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125e8c], 1
xor eax, eax
cmp byte [0x10125e8c], al
setne al
add eax, 0x15
cmp dword [0x10125e80], 0
je 0x100b7f6f
mov ecx, dword [0x10125e84]
test ecx, ecx
je 0x100b7f6f
cmp eax, dword [0x10125e88]
ja 0x100b7f6f
mov dword [ecx + eax*4], 0x100b27f0
mov esi, dword [0x10125910]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 8
mov dword [0x10125e68], esi
mov eax, dword [esi]
mov dword [0x10125e6c], eax
test eax, eax
je 0x100b8022
xor edi, edi
mov eax, dword [0x10125e6c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b7fc5
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b7fc5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b7fc5
test eax, 0x100
jne 0x100b7fc5
inc edi
jmp 0x100b7f96
mov dword [0x10125e74], edi
test edi, edi
je 0x100b8022
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125e70
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125e70]
test edi, edi
je 0x100b8022
mov eax, dword [0x10125e74]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125e6c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125e78], 1
xor eax, eax
cmp byte [0x10125e78], al
setne al
add eax, 9
cmp dword [0x10125e6c], 0
je 0x100b8052
mov ecx, dword [0x10125e70]
test ecx, ecx
je 0x100b8052
cmp eax, dword [0x10125e74]
ja 0x100b8052
mov dword [ecx + eax*4], 0x100d0730
mov esi, dword [0x10125970]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 9
mov dword [0x10125e90], esi
mov eax, dword [esi]
mov dword [0x10125e94], eax
test eax, eax
je 0x100b810c
xor edi, edi
nop dword [eax]
mov eax, dword [0x10125e94]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b80af
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b80af
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b80af
test eax, 0x100
jne 0x100b80af
inc edi
jmp 0x100b8080
mov dword [0x10125e9c], edi
test edi, edi
je 0x100b810c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125e98
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125e98]
test edi, edi
je 0x100b810c
mov eax, dword [0x10125e9c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125e94]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125ea0], 1
xor eax, eax
cmp byte [0x10125ea0], al
setne al
add eax, 0x2b
cmp dword [0x10125e94], 0
je 0x100b813c
mov ecx, dword [0x10125e98]
test ecx, ecx
je 0x100b813c
cmp eax, dword [0x10125e9c]
ja 0x100b813c
mov dword [ecx + eax*4], 0x1004e990
mov esi, dword [0x10125914]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xa
mov dword [0x10125ea4], esi
mov eax, dword [esi]
mov dword [0x10125ea8], eax
test eax, eax
je 0x100b81ef
xor edi, edi
mov eax, dword [0x10125ea8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b8192
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b8192
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b8192
test eax, 0x100
jne 0x100b8192
inc edi
jmp 0x100b8163
mov dword [0x10125eb0], edi
test edi, edi
je 0x100b81ef
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125eac
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125eac]
test edi, edi
je 0x100b81ef
mov eax, dword [0x10125eb0]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125ea8]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125eb4], 1
xor eax, eax
cmp byte [0x10125eb4], al
setne al
add eax, 4
cmp dword [0x10125ea8], 0
je 0x100b821f
mov ecx, dword [0x10125eac]
test ecx, ecx
je 0x100b821f
cmp eax, dword [0x10125eb0]
ja 0x100b821f
mov dword [ecx + eax*4], 0x100cdf60
xor eax, eax
cmp byte [0x10125eb4], al
setne al
add eax, 6
cmp dword [0x10125ea8], 0
je 0x100b824f
mov ecx, dword [0x10125eac]
test ecx, ecx
je 0x100b824f
cmp eax, dword [0x10125eb0]
ja 0x100b824f
mov dword [ecx + eax*4], 0x100ce010
xor eax, eax
cmp byte [0x10125eb4], al
setne al
add eax, 0x27
cmp dword [0x10125ea8], 0
je 0x100b827f
mov ecx, dword [0x10125eac]
test ecx, ecx
je 0x100b827f
cmp eax, dword [0x10125eb0]
ja 0x100b827f
mov dword [ecx + eax*4], 0x100ce050
xor eax, eax
cmp byte [0x10125eb4], al
setne al
add eax, 0x28
cmp dword [0x10125ea8], 0
je 0x100b82af
mov ecx, dword [0x10125eac]
test ecx, ecx
je 0x100b82af
cmp eax, dword [0x10125eb0]
ja 0x100b82af
mov dword [ecx + eax*4], 0x100ce070
mov esi, dword [0x10125934]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xb
mov dword [0x10125eb8], esi
mov eax, dword [esi]
mov dword [0x10125ebc], eax
test eax, eax
je 0x100b8362
xor edi, edi
mov eax, dword [0x10125ebc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b8305
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b8305
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b8305
test eax, 0x100
jne 0x100b8305
inc edi
jmp 0x100b82d6
mov dword [0x10125ec4], edi
test edi, edi
je 0x100b8362
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125ec0
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125ec0]
test edi, edi
je 0x100b8362
mov eax, dword [0x10125ec4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125ebc]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125ec8], 1
xor eax, eax
cmp byte [0x10125ec8], al
setne al
add eax, 0xd
cmp dword [0x10125ebc], 0
je 0x100b8392
mov ecx, dword [0x10125ec0]
test ecx, ecx
je 0x100b8392
cmp eax, dword [0x10125ec4]
ja 0x100b8392
mov dword [ecx + eax*4], 0x1004e5a0
mov esi, dword [0x1012591c]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xc
mov dword [0x10125ecc], esi
mov eax, dword [esi]
mov dword [0x10125ed0], eax
test eax, eax
je 0x100b844c
xor edi, edi
nop dword [eax]
mov eax, dword [0x10125ed0]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b83ef
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b83ef
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b83ef
test eax, 0x100
jne 0x100b83ef
inc edi
jmp 0x100b83c0
mov dword [0x10125ed8], edi
test edi, edi
je 0x100b844c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125ed4
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125ed4]
test edi, edi
je 0x100b844c
mov eax, dword [0x10125ed8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125ed0]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125edc], 1
xor eax, eax
cmp byte [0x10125edc], al
setne al
add eax, 0x15
cmp dword [0x10125ed0], 0
je 0x100b847c
mov ecx, dword [0x10125ed4]
test ecx, ecx
je 0x100b847c
cmp eax, dword [0x10125ed8]
ja 0x100b847c
mov dword [ecx + eax*4], 0x1004e960
mov esi, dword [0x10125a88]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xd
mov dword [0x10125ee0], esi
mov eax, dword [esi]
mov dword [0x10125ee4], eax
test eax, eax
je 0x100b852f
xor edi, edi
mov eax, dword [0x10125ee4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b84d2
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b84d2
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b84d2
test eax, 0x100
jne 0x100b84d2
inc edi
jmp 0x100b84a3
mov dword [0x10125eec], edi
test edi, edi
je 0x100b852f
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125ee8
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125ee8]
test edi, edi
je 0x100b852f
mov eax, dword [0x10125eec]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125ee4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125ef0], 1
xor eax, eax
cmp byte [0x10125ef0], al
setne al
add eax, 7
cmp dword [0x10125ee4], 0
je 0x100b855f
mov ecx, dword [0x10125ee8]
test ecx, ecx
je 0x100b855f
cmp eax, dword [0x10125eec]
ja 0x100b855f
mov dword [ecx + eax*4], 0x10049b00
mov esi, dword [0x10125984]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xe
mov dword [0x10125ddc], esi
mov eax, dword [esi]
mov dword [0x10125de0], eax
test eax, eax
je 0x100b8612
xor edi, edi
mov eax, dword [0x10125de0]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b85b5
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b85b5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b85b5
test eax, 0x100
jne 0x100b85b5
inc edi
jmp 0x100b8586
mov dword [0x10125de8], edi
test edi, edi
je 0x100b8612
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125de4
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125de4]
test edi, edi
je 0x100b8612
mov eax, dword [0x10125de8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125de0]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125dec], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x10125dec], al
setne al
add eax, 0x18
cmp dword [0x10125de0], 0
je 0x100b8649
mov ecx, dword [0x10125de4]
test ecx, ecx
je 0x100b8649
cmp eax, dword [0x10125de8]
ja 0x100b8649
mov dword [ecx + eax*4], 0x10032e40
push 0x100f6018
call dword [0x10125a98]
mov esi, dword [0x101259d0]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xf
mov dword [0x10126408], esi
mov eax, dword [esi]
mov dword [0x1012640c], eax
test eax, eax
je 0x100b870c
xor edi, edi
nop dword [eax + eax]
mov eax, dword [0x1012640c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b86af
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b86af
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b86af
test eax, 0x100
jne 0x100b86af
inc edi
jmp 0x100b8680
mov dword [0x10126414], edi
test edi, edi
je 0x100b870c
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10126410
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10126410]
test edi, edi
je 0x100b870c
mov eax, dword [0x10126414]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x1012640c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10126418], 1
xor eax, eax
cmp byte [0x10126418], al
setne al
add eax, 0xd
cmp dword [0x1012640c], 0
je 0x100b873c
mov ecx, dword [0x10126410]
test ecx, ecx
je 0x100b873c
cmp eax, dword [0x10126414]
ja 0x100b873c
mov dword [ecx + eax*4], 0x100b2320
mov esi, dword [0x101259d4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x10
mov dword [0x10125ef4], esi
mov eax, dword [esi]
mov dword [0x10125ef8], eax
test eax, eax
je 0x100b87ef
xor edi, edi
mov eax, dword [0x10125ef8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100b8792
mov eax, dword [0x101088d8]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100b8792
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100b8792
test eax, 0x100
jne 0x100b8792
inc edi
jmp 0x100b8763
mov dword [0x10125f00], edi
test edi, edi
je 0x100b87ef
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.10033a50
push eax
mov ecx, 0x10125efc
call fcn.10033af0
lea ecx, [ebp - 0x14]
call fcn.10033490
mov edi, dword [0x10125efc]
test edi, edi
je 0x100b87ef
mov eax, dword [0x10125f00]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x10125ef8]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x10125f04], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x10125f04], al
setne al
add eax, 0xd
cmp dword [0x10125ef8], 0
je 0x100b8826
mov ecx, dword [0x10125efc]
test ecx, ecx
je 0x100b8826
cmp eax, dword [0x10125f00]
ja 0x100b8826
mov dword [ecx + eax*4], 0x100b24b0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0xf3c2c786
push eax
mov ecx, 0x1012b860
mov dword [ebp - 0x1c], 0x72e242a1
call fcn.100b0a70
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.100b0a50
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 0x100b8874
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x10126438], eax
mov dword [ecx + 0x20], 0x100b7280
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x9ef0d03e
push eax
mov ecx, 0x1012b860
mov dword [ebp - 0x18], 0x72e242a1
call fcn.100b0a70
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.100b0a50
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 0x100b88c2
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x1012643c], eax
mov dword [ecx + 0x20], 0x100b72e0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x566bd764
push eax
mov ecx, 0x1012b860
mov dword [ebp - 0x18], 0x2aafa737
call fcn.100b0a70
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.100b0a50
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 0x100b8910
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x20]
mov dword [0x10126440], eax
mov dword [edx + 0x20], 0x100b74d0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x781aa1a4
push eax
mov ecx, 0x1012b860
mov dword [ebp - 0x18], 0x2aafa737
call fcn.100b0a70
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.100b0a50
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 0x100b895e
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x10126444], eax
mov dword [ecx + 0x20], 0x100b74b0
cmp byte [0x1012b904], 0
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
jne 0x100b8a30
movaps xmm0, xmmword [0x100eb250]
xor ecx, ecx
movaps xmm2, xmmword [0x100eb440]
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x5c], 0x8c949d8c
movaps xmm0, xmmword [0x100eb260]
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 0x100b89a4
cmp ecx, 0x2a
jae 0x100b89cd
xor byte [ebp + ecx - 0x7c], 0xac
inc ecx
cmp ecx, 0x2a
jb 0x100b89c2
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, 0x1012589c
lea ecx, [ebp - 0x18]
call fcn.1004f430
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 [0x1012b904], 1
cmp byte [0x1012b905], 0
jne 0x100b8b0f
movaps xmm0, xmmword [0x100eb2c0]
xor ecx, ecx
movaps xmm1, xmmword [0x100eb440]
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0x88], 0x938c938c
movaps xmm0, xmmword [0x100eb270]
movups xmmword [ebp - 0xa8], xmm0
mov byte [ebp - 0x84], 0xac
movaps xmm0, xmmword [0x100eb0e0]
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 0x100b8a81
cmp ecx, 0x35
jae 0x100b8ab0
xor byte [ebp + ecx - 0xb8], 0xac
inc ecx
cmp ecx, 0x35
jb 0x100b8aa2
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, 0x1012589c
lea ecx, [ebp - 0x80]
call fcn.1004f430
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 [0x1012b905], 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.100dab26
mov esp, ebp
pop ebp
ret