Function at 0x10081780
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100bd280
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x100d4364]
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 [0x101b304c]
mov ecx, dword [0x101b2a5c]
push 0x100b01f0
push 0xfffffffffffffffc
push dword [eax + 8]
call ecx
mov esi, dword [0x101b2fe8]
mov dword [0x101b3b84], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0
mov dword [0x101b3504], esi
mov eax, dword [esi]
mov dword [0x101b3508], eax
test eax, eax
je 0x10081880
xor edi, edi
nop dword [eax]
mov eax, dword [0x101b3508]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x1008181f
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1008181f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x1008181f
test eax, 0x100
jne 0x1008181f
inc edi
jmp 0x100817f0
mov dword [0x101b3510], edi
test edi, edi
je 0x10081880
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b350c
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.1003c3d0
mov edi, dword [0x101b350c]
test edi, edi
je 0x10081880
mov eax, dword [0x101b3510]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b3508]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b3514], 1
xor eax, eax
cmp byte [0x101b3514], al
setne al
add eax, 0x29
cmp dword [0x101b3508], 0
je 0x100818b0
mov ecx, dword [0x101b350c]
test ecx, ecx
je 0x100818b0
cmp eax, dword [0x101b3510]
ja 0x100818b0
mov dword [ecx + eax*4], 0x10097fe0
mov esi, dword [0x101b2fd0]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 2
mov dword [0x101b352c], esi
mov eax, dword [esi]
mov dword [0x101b3530], eax
test eax, eax
je 0x10081970
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b3530]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x1008190f
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1008190f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x1008190f
test eax, 0x100
jne 0x1008190f
inc edi
jmp 0x100818e0
mov dword [0x101b3538], edi
test edi, edi
je 0x10081970
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3534
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.1003c3d0
mov edi, dword [0x101b3534]
test edi, edi
je 0x10081970
mov eax, dword [0x101b3538]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b3530]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b353c], 1
xor eax, eax
cmp byte [0x101b353c], al
setne al
add eax, 5
cmp dword [0x101b3530], 0
je 0x100819a0
mov ecx, dword [0x101b3534]
test ecx, ecx
je 0x100819a0
cmp eax, dword [0x101b3538]
ja 0x100819a0
mov dword [ecx + eax*4], 0x10088540
xor eax, eax
cmp byte [0x101b353c], al
setne al
add eax, 6
cmp dword [0x101b3530], 0
je 0x100819d0
mov ecx, dword [0x101b3534]
test ecx, ecx
je 0x100819d0
cmp eax, dword [0x101b3538]
ja 0x100819d0
mov dword [ecx + eax*4], 0x10088600
xor eax, eax
cmp byte [0x101b353c], al
setne al
add eax, 7
cmp dword [0x101b3530], 0
je 0x10081a00
mov ecx, dword [0x101b3534]
test ecx, ecx
je 0x10081a00
cmp eax, dword [0x101b3538]
ja 0x10081a00
mov dword [ecx + eax*4], 0x10088650
xor eax, eax
cmp byte [0x101b353c], al
setne al
add eax, 0x24
cmp dword [0x101b3530], 0
je 0x10081a30
mov ecx, dword [0x101b3534]
test ecx, ecx
je 0x10081a30
cmp eax, dword [0x101b3538]
ja 0x10081a30
mov dword [ecx + eax*4], 0x100886d0
mov esi, dword [0x101b2fd8]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 4
mov dword [0x101b3554], esi
mov eax, dword [esi]
mov dword [0x101b3558], eax
test eax, eax
je 0x10081af0
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b3558]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x10081a8f
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10081a8f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x10081a8f
test eax, 0x100
jne 0x10081a8f
inc edi
jmp 0x10081a60
mov dword [0x101b3560], edi
test edi, edi
je 0x10081af0
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b355c
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.1003c3d0
mov edi, dword [0x101b355c]
test edi, edi
je 0x10081af0
mov eax, dword [0x101b3560]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b3558]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b3564], 1
xor eax, eax
cmp byte [0x101b3564], al
setne al
add eax, 0x1b
cmp dword [0x101b3558], 0
je 0x10081b20
mov ecx, dword [0x101b355c]
test ecx, ecx
je 0x10081b20
cmp eax, dword [0x101b3560]
ja 0x10081b20
mov dword [ecx + eax*4], 0x10085df0
xor eax, eax
cmp byte [0x101b3564], al
setne al
add eax, 0x5d
cmp dword [0x101b3558], 0
je 0x10081b50
mov ecx, dword [0x101b355c]
test ecx, ecx
je 0x10081b50
cmp eax, dword [0x101b3560]
ja 0x10081b50
mov dword [ecx + eax*4], 0x10085f30
mov esi, dword [0x101b2ff0]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 6
mov dword [0x101b357c], esi
mov eax, dword [esi]
mov dword [0x101b3580], eax
test eax, eax
je 0x10081c10
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b3580]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x10081baf
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10081baf
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x10081baf
test eax, 0x100
jne 0x10081baf
inc edi
jmp 0x10081b80
mov dword [0x101b3588], edi
test edi, edi
je 0x10081c10
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3584
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.1003c3d0
mov edi, dword [0x101b3584]
test edi, edi
je 0x10081c10
mov eax, dword [0x101b3588]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b3580]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b358c], 1
xor eax, eax
cmp byte [0x101b358c], al
setne al
add eax, 0xe
cmp dword [0x101b3580], 0
je 0x10081c40
mov ecx, dword [0x101b3584]
test ecx, ecx
je 0x10081c40
cmp eax, dword [0x101b3588]
ja 0x10081c40
mov dword [ecx + eax*4], 0x100a49d0
xor eax, eax
cmp byte [0x101b358c], al
setne al
add eax, 0x13
cmp dword [0x101b3580], 0
je 0x10081c70
mov ecx, dword [0x101b3584]
test ecx, ecx
je 0x10081c70
cmp eax, dword [0x101b3588]
ja 0x10081c70
mov dword [ecx + eax*4], 0x100a4cf0
mov esi, dword [0x101b3030]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 8
mov dword [0x101b3518], esi
mov eax, dword [esi]
mov dword [0x101b351c], eax
test eax, eax
je 0x10081d30
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b351c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x10081ccf
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10081ccf
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x10081ccf
test eax, 0x100
jne 0x10081ccf
inc edi
jmp 0x10081ca0
mov dword [0x101b3524], edi
test edi, edi
je 0x10081d30
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3520
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.1003c3d0
mov edi, dword [0x101b3520]
test edi, edi
je 0x10081d30
mov eax, dword [0x101b3524]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b351c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b3528], 1
xor eax, eax
cmp byte [0x101b3528], al
setne al
add eax, 0x10
cmp dword [0x101b351c], 0
je 0x10081d60
mov ecx, dword [0x101b3520]
test ecx, ecx
je 0x10081d60
cmp eax, dword [0x101b3524]
ja 0x10081d60
mov dword [ecx + eax*4], 0x10097ba0
xor eax, eax
cmp byte [0x101b3528], al
setne al
add eax, 0x11
cmp dword [0x101b351c], 0
je 0x10081d90
mov ecx, dword [0x101b3520]
test ecx, ecx
je 0x10081d90
cmp eax, dword [0x101b3524]
ja 0x10081d90
mov dword [ecx + eax*4], 0x10097bb0
xor eax, eax
cmp byte [0x101b3528], al
setne al
add eax, 0x12
cmp dword [0x101b351c], 0
je 0x10081dc0
mov ecx, dword [0x101b3520]
test ecx, ecx
je 0x10081dc0
cmp eax, dword [0x101b3524]
ja 0x10081dc0
mov dword [ecx + eax*4], 0x10097be0
xor eax, eax
cmp byte [0x101b3528], al
setne al
add eax, 0x18
cmp dword [0x101b351c], 0
je 0x10081df0
mov ecx, dword [0x101b3520]
test ecx, ecx
je 0x10081df0
cmp eax, dword [0x101b3524]
ja 0x10081df0
mov dword [ecx + eax*4], 0x10097c20
xor eax, eax
cmp byte [0x101b3528], al
setne al
add eax, 0x2c
cmp dword [0x101b351c], 0
je 0x10081e20
mov ecx, dword [0x101b3520]
test ecx, ecx
je 0x10081e20
cmp eax, dword [0x101b3524]
ja 0x10081e20
mov dword [ecx + eax*4], 0x10097e60
mov esi, dword [0x101b2fe4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xa
mov dword [0x101b3590], esi
mov eax, dword [esi]
mov dword [0x101b3594], eax
test eax, eax
je 0x10081ee0
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b3594]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x10081e7f
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10081e7f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x10081e7f
test eax, 0x100
jne 0x10081e7f
inc edi
jmp 0x10081e50
mov dword [0x101b359c], edi
test edi, edi
je 0x10081ee0
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3598
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
call fcn.1003c3d0
mov edi, dword [0x101b3598]
test edi, edi
je 0x10081ee0
mov eax, dword [0x101b359c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b3594]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b35a0], 1
xor eax, eax
cmp byte [0x101b35a0], al
setne al
add eax, 0x43
cmp dword [0x101b3594], 0
je 0x10081f10
mov ecx, dword [0x101b3598]
test ecx, ecx
je 0x10081f10
cmp eax, dword [0x101b359c]
ja 0x10081f10
mov dword [ecx + eax*4], 0x10093130
xor eax, eax
cmp byte [0x101b35a0], al
setne al
add eax, 0x74
cmp dword [0x101b3594], 0
je 0x10081f40
mov ecx, dword [0x101b3598]
test ecx, ecx
je 0x10081f40
cmp eax, dword [0x101b359c]
ja 0x10081f40
mov dword [ecx + eax*4], 0x10093180
mov esi, dword [0x101b3004]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xc
mov dword [0x101b35e0], esi
mov eax, dword [esi]
mov dword [0x101b35e4], eax
test eax, eax
je 0x10082000
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b35e4]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x10081f9f
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10081f9f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x10081f9f
test eax, 0x100
jne 0x10081f9f
inc edi
jmp 0x10081f70
mov dword [0x101b35ec], edi
test edi, edi
je 0x10082000
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b35e8
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xd
call fcn.1003c3d0
mov edi, dword [0x101b35e8]
test edi, edi
je 0x10082000
mov eax, dword [0x101b35ec]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b35e4]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b35f0], 1
xor eax, eax
cmp byte [0x101b35f0], al
setne al
add eax, 0x15
cmp dword [0x101b35e4], 0
je 0x10082030
mov ecx, dword [0x101b35e8]
test ecx, ecx
je 0x10082030
cmp eax, dword [0x101b35ec]
ja 0x10082030
mov dword [ecx + eax*4], 0x1007bdb0
mov esi, dword [0x101b2ffc]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xe
mov dword [0x101b35cc], esi
mov eax, dword [esi]
mov dword [0x101b35d0], eax
test eax, eax
je 0x100820f0
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b35d0]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x1008208f
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1008208f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x1008208f
test eax, 0x100
jne 0x1008208f
inc edi
jmp 0x10082060
mov dword [0x101b35d8], edi
test edi, edi
je 0x100820f0
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b35d4
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xf
call fcn.1003c3d0
mov edi, dword [0x101b35d4]
test edi, edi
je 0x100820f0
mov eax, dword [0x101b35d8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b35d0]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b35dc], 1
xor eax, eax
cmp byte [0x101b35dc], al
setne al
add eax, 9
cmp dword [0x101b35d0], 0
je 0x10082120
mov ecx, dword [0x101b35d4]
test ecx, ecx
je 0x10082120
cmp eax, dword [0x101b35d8]
ja 0x10082120
mov dword [ecx + eax*4], 0x100a4e70
mov esi, dword [0x101b3058]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x10
mov dword [0x101b35f4], esi
mov eax, dword [esi]
mov dword [0x101b35f8], eax
test eax, eax
je 0x100821e0
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b35f8]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x1008217f
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1008217f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x1008217f
test eax, 0x100
jne 0x1008217f
inc edi
jmp 0x10082150
mov dword [0x101b3600], edi
test edi, edi
je 0x100821e0
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b35fc
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x11
call fcn.1003c3d0
mov edi, dword [0x101b35fc]
test edi, edi
je 0x100821e0
mov eax, dword [0x101b3600]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b35f8]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b3604], 1
xor eax, eax
cmp byte [0x101b3604], al
setne al
add eax, 0x2b
cmp dword [0x101b35f8], 0
je 0x10082210
mov ecx, dword [0x101b35fc]
test ecx, ecx
je 0x10082210
cmp eax, dword [0x101b3600]
ja 0x10082210
mov dword [ecx + eax*4], 0x10054d20
mov esi, dword [0x101b3000]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x12
mov dword [0x101b3608], esi
mov eax, dword [esi]
mov dword [0x101b360c], eax
test eax, eax
je 0x100822d0
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b360c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x1008226f
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1008226f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x1008226f
test eax, 0x100
jne 0x1008226f
inc edi
jmp 0x10082240
mov dword [0x101b3614], edi
test edi, edi
je 0x100822d0
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3610
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x13
call fcn.1003c3d0
mov edi, dword [0x101b3610]
test edi, edi
je 0x100822d0
mov eax, dword [0x101b3614]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b360c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b3618], 1
xor eax, eax
cmp byte [0x101b3618], al
setne al
add eax, 4
cmp dword [0x101b360c], 0
je 0x10082300
mov ecx, dword [0x101b3610]
test ecx, ecx
je 0x10082300
cmp eax, dword [0x101b3614]
ja 0x10082300
mov dword [ecx + eax*4], 0x1009d2f0
xor eax, eax
cmp byte [0x101b3618], al
setne al
add eax, 0x27
cmp dword [0x101b360c], 0
je 0x10082330
mov ecx, dword [0x101b3610]
test ecx, ecx
je 0x10082330
cmp eax, dword [0x101b3614]
ja 0x10082330
mov dword [ecx + eax*4], 0x1009d3b0
xor eax, eax
cmp byte [0x101b3618], al
setne al
add eax, 0x28
cmp dword [0x101b360c], 0
je 0x10082360
mov ecx, dword [0x101b3610]
test ecx, ecx
je 0x10082360
cmp eax, dword [0x101b3614]
ja 0x10082360
mov dword [ecx + eax*4], 0x1009d3f0
mov esi, dword [0x101b3020]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x14
mov dword [0x101b361c], esi
mov eax, dword [esi]
mov dword [0x101b3620], eax
test eax, eax
je 0x10082420
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b3620]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100823bf
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100823bf
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100823bf
test eax, 0x100
jne 0x100823bf
inc edi
jmp 0x10082390
mov dword [0x101b3628], edi
test edi, edi
je 0x10082420
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3624
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x15
call fcn.1003c3d0
mov edi, dword [0x101b3624]
test edi, edi
je 0x10082420
mov eax, dword [0x101b3628]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b3620]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b362c], 1
xor eax, eax
cmp byte [0x101b362c], al
setne al
add eax, 0xd
cmp dword [0x101b3620], 0
je 0x10082450
mov ecx, dword [0x101b3624]
test ecx, ecx
je 0x10082450
cmp eax, dword [0x101b3628]
ja 0x10082450
mov dword [ecx + eax*4], 0x10054980
mov esi, dword [0x101b3008]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x16
mov dword [0x101b3630], esi
mov eax, dword [esi]
mov dword [0x101b3634], eax
test eax, eax
je 0x10082510
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b3634]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100824af
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100824af
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100824af
test eax, 0x100
jne 0x100824af
inc edi
jmp 0x10082480
mov dword [0x101b363c], edi
test edi, edi
je 0x10082510
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3638
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x17
call fcn.1003c3d0
mov edi, dword [0x101b3638]
test edi, edi
je 0x10082510
mov eax, dword [0x101b363c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b3634]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b3640], 1
xor eax, eax
cmp byte [0x101b3640], al
setne al
add eax, 0x15
cmp dword [0x101b3634], 0
je 0x10082540
mov ecx, dword [0x101b3638]
test ecx, ecx
je 0x10082540
cmp eax, dword [0x101b363c]
ja 0x10082540
mov dword [ecx + eax*4], 0x10054cd0
mov esi, dword [0x101b306c]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x18
mov dword [0x101b3540], esi
mov eax, dword [esi]
mov dword [0x101b3544], eax
test eax, eax
je 0x10082600
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b3544]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x1008259f
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1008259f
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x1008259f
test eax, 0x100
jne 0x1008259f
inc edi
jmp 0x10082570
mov dword [0x101b354c], edi
test edi, edi
je 0x10082600
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3548
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x19
call fcn.1003c3d0
mov edi, dword [0x101b3548]
test edi, edi
je 0x10082600
mov eax, dword [0x101b354c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b3544]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b3550], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x101b3550], al
setne al
add eax, 0x24
cmp dword [0x101b3544], 0
je 0x10082637
mov ecx, dword [0x101b3548]
test ecx, ecx
je 0x10082637
cmp eax, dword [0x101b354c]
ja 0x10082637
mov dword [ecx + eax*4], 0x1003d3c0
xor eax, eax
cmp byte [0x101b3550], al
setne al
add eax, 5
cmp dword [0x101b3544], 0
je 0x10082667
mov ecx, dword [0x101b3548]
test ecx, ecx
je 0x10082667
cmp eax, dword [0x101b354c]
ja 0x10082667
mov dword [ecx + eax*4], 0x1003d430
xor eax, eax
cmp byte [0x101b3550], al
setne al
add eax, 0x18
cmp dword [0x101b3544], 0
je 0x10082697
mov ecx, dword [0x101b3548]
test ecx, ecx
je 0x10082697
cmp eax, dword [0x101b354c]
ja 0x10082697
mov dword [ecx + eax*4], 0x1003d4b0
push 0x101b18c8
call dword [0x101b316c]
mov esi, dword [0x101b30b4]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x1a
mov dword [0x101b3b6c], esi
mov eax, dword [esi]
mov dword [0x101b3b70], eax
test eax, eax
je 0x10082760
xor edi, edi
nop dword [eax]
mov eax, dword [0x101b3b70]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100826ff
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100826ff
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100826ff
test eax, 0x100
jne 0x100826ff
inc edi
jmp 0x100826d0
mov dword [0x101b3b78], edi
test edi, edi
je 0x10082760
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3b74
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1b
call fcn.1003c3d0
mov edi, dword [0x101b3b74]
test edi, edi
je 0x10082760
mov eax, dword [0x101b3b78]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b3b70]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b3b7c], 1
xor eax, eax
cmp byte [0x101b3b7c], al
setne al
add eax, 0xd
cmp dword [0x101b3b70], 0
je 0x10082790
mov ecx, dword [0x101b3b74]
test ecx, ecx
je 0x10082790
cmp eax, dword [0x101b3b78]
ja 0x10082790
mov dword [ecx + eax*4], 0x1007ba50
mov esi, dword [0x101b30b8]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x1c
mov dword [0x101b3658], esi
mov eax, dword [esi]
mov dword [0x101b365c], eax
test eax, eax
je 0x10082850
xor edi, edi
nop word [eax + eax]
mov eax, dword [0x101b365c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x100827ef
mov eax, dword [0x101b2a58]
lea edx, [ebp - 0x34]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100827ef
mov eax, dword [ebp - 0x20]
test al, 1
jne 0x100827ef
test eax, 0x100
jne 0x100827ef
inc edi
jmp 0x100827c0
mov dword [0x101b3664], edi
test edi, edi
je 0x10082850
lea edx, [edi + 1]
lea ecx, [ebp - 0x14]
call fcn.1003c6b0
push eax
mov ecx, 0x101b3660
call fcn.1003c1e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1d
call fcn.1003c3d0
mov edi, dword [0x101b3660]
test edi, edi
je 0x10082850
mov eax, dword [0x101b3664]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101b365c]
add eax, 0xfffffffc
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov byte [0x101b3668], 1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp byte [0x101b3668], al
setne al
add eax, 0xd
cmp dword [0x101b365c], 0
je 0x10082887
mov ecx, dword [0x101b3660]
test ecx, ecx
je 0x10082887
cmp eax, dword [0x101b3664]
ja 0x10082887
mov dword [ecx + eax*4], 0x1007bb90
lea eax, [ebp - 0x14]
mov dword [ebp - 0x18], 0x9ef0d03e
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x14], 0x72e242a1
push eax
mov ecx, 0x101ba0b0
call fcn.1004a840
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ecx + 0xc]
call fcn.1004a930
mov eax, dword [ebp - 0x40]
movq xmm0, qword [eax + 0xc]
mov eax, dword [eax + 0x14]
movq qword [ebp - 0x5c], xmm0
cmp byte [ebp - 0x5c], 0
mov dword [ebp - 0x54], eax
jne 0x100828e5
mov edx, dword [ebp - 0x58]
mov eax, dword [edx + 0x20]
mov dword [0x101b3ba0], eax
mov dword [edx + 0x20], 0x10081360
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x566bd764
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x18], 0x2aafa737
push eax
mov ecx, 0x101ba0b0
call fcn.1004a840
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ecx + 0xc]
call fcn.1004a930
mov eax, dword [ebp - 0x58]
movq xmm0, qword [eax + 0xc]
mov eax, dword [eax + 0x14]
movq qword [ebp - 0x44], xmm0
cmp byte [ebp - 0x44], 0
mov dword [ebp - 0x3c], eax
jne 0x10082943
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x101b3ba4], eax
mov dword [ecx + 0x20], 0x100814d0
mov eax, dword [0x101ba2fc]
test al, 1
jne 0x100829a7
or eax, 1
mov dword [0x101ba2fc], eax
push str.55_8B_EC_51_80_3D___________0F_57
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x1e
call fcn.1002bd70
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x1f
push eax
mov edx, 0x101b2f94
mov ecx, 0x101ba30c
call fcn.10054e30
add esp, 4
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x20
call fcn.1002bd20
push 0x100bfe30
call fcn.100b3aed
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov eax, dword [0x101ba2fc]
test al, 2
jne 0x10082a06
or eax, 2
mov dword [0x101ba2fc], eax
push str.57_8B_F9_8B_07_8B_80_________FF_D0_84_C0_75_02
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x21
call fcn.1002bd70
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x22
push eax
mov edx, 0x101b2f94
mov ecx, 0x101ba304
call fcn.10054e30
add esp, 4
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x23
call fcn.1002bd20
push 0x100bfe20
call fcn.100b3aed
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov eax, dword [0x101ba2fc]
test al, 4
jne 0x10082a60
or eax, 4
mov dword [0x101ba2fc], eax
push str.55_8B_EC_51_53_8B_5D_08_56_8B_F1_57_85
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x24
call fcn.1002bd70
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x25
push eax
mov edx, 0x101b2f94
mov ecx, 0x101ba300
call fcn.10054e30
add esp, 4
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x26
call fcn.1002bd20
push 0x100bfe10
call fcn.100b3aed
add esp, 4
mov dword [ebp - 4], 0xffffffff
call fcn.100b04b0
push 0x101ba16c
push 0x10081630
push dword [0x101ba30c]
call fcn.100b05f0
push 0x101ba164
push 0x10081650
push dword [0x101ba304]
call fcn.100b05f0
push 0x101ba160
push 0x10081660
push dword [0x101ba300]
call fcn.100b05f0
mov ecx, dword [0x101b2fd8]
mov eax, dword [ecx]
mov eax, dword [eax + 0xac]
call eax
push 0x101ba168
push 0x10081680
mov eax, dword [eax]
push dword [eax + 0x18]
call fcn.100b05f0
push 0
call fcn.100b0a10
mov eax, dword [0x101ba2fc]
test al, 8
jne 0x10082b22
or eax, 8
mov dword [0x101ba2fc], eax
push str.55_8B_EC_53_8B_5D_08_56_57_FF_75_18_8B_F1
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x27
call fcn.1002bd70
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x28
push eax
mov edx, 0x101b2f94
lea ecx, [ebp - 0x60]
call fcn.10054e30
add esp, 4
mov eax, dword [eax]
add eax, 0x7e
mov dword [0x101ba308], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x29
call fcn.1002bd20
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x38]
push eax
push 0x40
push 1
push dword [0x101ba308]
mov dword [ebp - 0x38], 0
call esi
mov eax, dword [0x101ba308]
lea ecx, [ebp - 0x38]
push ecx
mov byte [eax], 0x3f
push dword [ebp - 0x38]
push 1
push eax
call esi
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.100b366f
mov esp, ebp
pop ebp
ret