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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10061672
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1a0
mov eax, dword [0x1007c080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebx + 8]
lea esi, [edi + 0x6c]
mov dword [ebp - 0x64], edi
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0x42c80000
mov dword [edi + 0xc], 0x3dcccccd
mov dword [edi + 0x10], 0x3dcccccd
mov dword [edi + 0x14], 0x3dcccccd
mov dword [edi + 0x18], 0x3dcccccd
mov word [edi + 0x1c], 0x101
mov byte [edi + 0x1e], 1
mov dword [edi + 0x20], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0x40a00000
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0xc8
mov byte [edi + 0x48], 0
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0
mov byte [edi + 0x60], 0
mov dword [edi + 0x64], 0x3f333333
mov dword [edi + 0x68], 0x3ecccccd
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0xc]
mov dword [esi], 0
push 0x10
mov dword [ebp - 0x24], eax
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.10037c73
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 4], eax
lea ecx, [esi + 0xc]
mov dword [ebp - 4], 0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov byte [ebp - 4], 1
mov dword [esi + 0x18], 7
mov dword [esi + 0x1c], 8
mov dword [esi], 0x3f800000
push dword [esi + 4]
push 0x10
call fcn.10007a30
mov dword [ebp - 4], 2
xor eax, eax
push dword [ebp - 0x24]
mov dword [edi + 0x8c], eax
mov ecx, edi
mov word [edi + 0x90], ax
mov dword [edi + 0x98], eax
mov dword [edi + 0x9c], eax
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa4], eax
mov byte [edi + 0xa8], al
call fcn.1001f840
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push 0x53fa50
mov byte [ebp - 0x1d], 6
call esi
mov al, byte [ebp - 0x1d]
mov byte [0x53fa50], al
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 1
push 0x53fa50
call esi
mov byte [ebp - 0x1d], 6
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push 0x53f648
call esi
mov al, byte [ebp - 0x1d]
mov byte [0x53f648], al
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 1
push 0x53f648
call esi
cmp byte [edi + 0x24], 0
je 0x10021cac
cmp byte [edi + 0x1e], 0
mov byte [ebp - 0x1d], 6
jne 0x10021cb0
mov byte [ebp - 0x1d], 5
lea edx, [ebp - 0x1d]
mov ecx, 0x4adcd9
call fcn.10007470
lea ecx, [ebp - 0x38]
call fcn.1001e560
mov esi, dword [ebp - 0x28]
sub esp, 0x28
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi + 0x9c], eax
mov eax, esp
mov dword [edi + 0x98], ecx
mov dword [edi + 0x2c], 0
mov dword [edi + 0x28], 0
mov ecx, dword [esi + 0x34]
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_1___void___.0
mov dword [eax + 4], edi
push 0
mov dword [eax + 0x24], eax
call fcn.1001d1d0
mov ecx, dword [esi + 0x34]
sub esp, 0x28
mov eax, esp
push 3
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_2___void___.0
mov dword [eax + 4], edi
mov dword [eax + 0x24], eax
call fcn.1001d1d0
mov ecx, dword [esi + 0x34]
sub esp, 0x28
mov eax, esp
push 6
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_3___void___.0
mov dword [eax + 4], edi
mov dword [eax + 0x24], eax
call fcn.1001d1d0
mov eax, dword [esi + 0xc]
lea ecx, [ebp - 0x50]
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x1c], eax
push str.HandleMouseWheel
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.100054b0
mov ecx, 0x55b2e0
mov byte [ebp - 4], 3
call fcn.100064a0
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp ecx, 5
jge 0x10021d98
nop word [eax + eax]
add ecx, 0x55b2e0
call fcn.100064a0
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov dword [ebp - 0x18], ecx
cmp ecx, 5
jl 0x10021d80
push 0x18
call fcn.10037c73
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 4
xorps xmm0, xmm0
mov eax, dword [ebp - 0x18]
movups xmmword [esi], xmm0
push 1
movq qword [esi + 0x10], xmm0
mov dword [esi + 0x10], eax
call fcn.10037c73
mov ecx, dword [ebp - 0x18]
mov edx, 0x55b2e0
push ecx
mov byte [eax], cl
mov ecx, eax
mov dword [esi], eax
mov dword [esi + 8], 0x55b2e0
mov dword [esi + 4], 0x1001ed30
mov dword [esi + 0x14], 2
mov dword [esi + 0xc], 0
call fcn.1001dfd0
mov eax, dword [esi + 0x14]
add esp, 8
cmp eax, 3
ja case.default.0x10021dfe
jmp dword [eax*4 + 0x10022770]
push 0x1001ed30
push 0x55b2e0
mov ecx, esi
call fcn.1001b230
jmp case.default.0x10021dfe
push 0x1001ed30
push 0x55b2e0
mov ecx, esi
call fcn.1001b4b0
jmp case.default.0x10021dfe
push 0x1001ed30
push 0x55b2e0
mov ecx, esi
call fcn.1001b590
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.10007800
mov byte [ebp - 4], 2
mov dword [eax], esi
mov dword [esi + 0x14], 2
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0xf
jbe 0x10021e8d
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10021e83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10022766
push ecx
push edx
call fcn.10037ca8
add esp, 8
mov esi, dword [ebp - 0x28]
sub esp, 0x18
mov ecx, esp
xorps xmm0, xmm0
mov esi, dword [esi + 0xc]
push 9
movups xmmword [ecx], xmm0
push str.procMouse
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.100054b0
push 0xffffffffffffffff
push 2
push 0x1001f1d0
push 0x537707
mov ecx, esi
call fcn.1000ffa0
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x50]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.procRightMouse
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1c], eax
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.100054b0
mov ecx, 0x54699d
mov byte [ebp - 4], 5
call fcn.100064a0
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp ecx, 5
jge 0x10021f2a
add ecx, 0x54699d
call fcn.100064a0
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov dword [ebp - 0x18], ecx
cmp ecx, 5
jl 0x10021f12
push 0x18
call fcn.10037c73
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 6
xorps xmm0, xmm0
mov eax, dword [ebp - 0x18]
movups xmmword [esi], xmm0
push 1
movq qword [esi + 0x10], xmm0
mov dword [esi + 0x10], eax
call fcn.10037c73
mov ecx, dword [ebp - 0x18]
mov edx, 0x54699d
push ecx
mov byte [eax], cl
mov ecx, eax
mov dword [esi], eax
mov dword [esi + 8], 0x54699d
mov dword [esi + 4], 0x10021360
mov dword [esi + 0x14], 2
mov dword [esi + 0xc], 0
call fcn.1001dfd0
mov eax, dword [esi + 0x14]
add esp, 8
cmp eax, 3
ja case.default.0x10021f90
jmp dword [eax*4 + 0x10022780]
push 0x10021360
push 0x54699d
mov ecx, esi
call fcn.1001b230
jmp case.default.0x10021f90
push 0x10021360
push 0x54699d
mov ecx, esi
call fcn.1001b4b0
jmp case.default.0x10021f90
push 0x10021360
push 0x54699d
mov ecx, esi
call fcn.1001b590
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.10007800
mov byte [ebp - 4], 2
mov dword [eax], esi
mov dword [esi + 0x14], 2
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0xf
jbe 0x1002201f
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10022015
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002276b
push ecx
push edx
call fcn.10037ca8
add esp, 8
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x50]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push 0x1006dd74
mov esi, dword [eax + 0x2c]
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.100054b0
mov ecx, dword [ebp - 0x24]
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x34], esp
mov dword [eax], 0x1006def0
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0x24], eax
sub esp, 0x18
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x1c], esp
xorps xmm0, xmm0
push 9
movups xmmword [ecx], xmm0
push str._pandelay
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.100054b0
sub esp, 0xc
mov byte [ebp - 4], 9
mov ecx, esp
lea eax, [ebp - 0x38]
push ecx
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.10013cd0
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.10014390
push fcn.10002d90
push 1
push 0x18
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 2
push eax
call fcn.10037d97
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x50]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str._smoothing
mov esi, dword [eax + 0x2c]
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.100054b0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x34], esp
mov dword [eax], 0x1006de64
mov dword [eax + 4], edi
mov dword [eax + 0x24], eax
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov ecx, esp
mov dword [ebp - 0x1c], esp
xorps xmm0, xmm0
push 8
movups xmmword [ecx], xmm0
push str._zealcam
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.100054b0
sub esp, 0xc
mov byte [ebp - 4], 0xc
mov ecx, esp
lea eax, [ebp - 0x38]
push ecx
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.10013cd0
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.10014390
push fcn.10002d90
push 1
push 0x18
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 2
push eax
call fcn.10037d97
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_6___bool__int_.0
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x6c], eax
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x2c]
add ecx, 0x424
push eax
call fcn.10010140
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 8]
je 0x100221e6
mov dword [ebp - 0x34], ecx
mov dword [ecx + 0x24], 0
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x6c]
test edx, edx
je 0x100221e0
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
add dword [eax + 4], 0x28
jmp 0x100221f5
lea edx, [ebp - 0x90]
push edx
push ecx
mov ecx, eax
call fcn.10010ba0
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x1002220f
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x90]
cmp ecx, eax
setne al
push eax
call edx
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xb8], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_7___bool__int_.0
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x1c], 0x73
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x2c]
add ecx, 0x424
push eax
call fcn.10010140
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 8]
je 0x1002228f
mov dword [ebp - 0x34], ecx
mov dword [ecx + 0x24], 0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x94]
test edx, edx
je 0x10022289
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
add dword [eax + 4], 0x28
jmp 0x1002229e
lea edx, [ebp - 0xb8]
push edx
push ecx
mov ecx, eax
call fcn.10010ba0
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x100222bb
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0xb8]
cmp ecx, eax
setne al
push eax
call edx
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xe0], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_8___bool__int_.0
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x1c], 0x6f
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x2c]
add ecx, 0x424
push eax
call fcn.10010140
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 8]
je 0x1002233b
mov dword [ebp - 0x34], ecx
mov dword [ecx + 0x24], 0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0xbc]
test edx, edx
je 0x10022335
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
add dword [eax + 4], 0x28
jmp 0x1002234a
lea edx, [ebp - 0xe0]
push edx
push ecx
mov ecx, eax
call fcn.10010ba0
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x10022367
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0xe0]
cmp ecx, eax
setne al
push eax
call edx
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x108]
mov dword [ebp - method.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_9___bool__int_.virtual_0], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_9___bool__int_.0
mov dword [ebp - 0x104], edi
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x1c], 0x10
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x2c]
add ecx, 0x424
push eax
call fcn.10010140
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 8]
je 0x100223e7
mov dword [ebp - 0x34], ecx
mov dword [ecx + 0x24], 0
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0xe4]
test edx, edx
je 0x100223e1
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
add dword [eax + 4], 0x28
jmp 0x100223f6
lea edx, [ebp - 0x108]
push edx
push ecx
mov ecx, eax
call fcn.10010ba0
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x10022413
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x108]
cmp ecx, eax
setne al
push eax
call edx
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x130]
mov dword [ebp - method.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_10___bool__int_.virtual_0], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_10___bool__int_.0
mov dword [ebp - 0x12c], edi
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x1c], 0x74
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x2c]
add ecx, 0x424
push eax
call fcn.10010140
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 8]
je 0x10022493
mov dword [ebp - 0x34], ecx
mov dword [ecx + 0x24], 0
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x10c]
test edx, edx
je 0x1002248d
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
add dword [eax + 4], 0x28
jmp 0x100224a2
lea edx, [ebp - 0x130]
push edx
push ecx
mov ecx, eax
call fcn.10010ba0
mov ecx, dword [ebp - 0x10c]
test ecx, ecx
je 0x100224bf
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x130]
cmp ecx, eax
setne al
push eax
call edx
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x158]
mov dword [ebp - method.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_11___bool__int_.virtual_0], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_11___bool__int_.0
mov dword [ebp - 0x154], edi
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1c], 0x70
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x2c]
add ecx, 0x424
push eax
call fcn.10010140
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 8]
je 0x1002253f
mov dword [ebp - 0x34], ecx
mov dword [ecx + 0x24], 0
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x134]
test edx, edx
je 0x10022539
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
add dword [eax + 4], 0x28
jmp 0x1002254e
lea edx, [ebp - 0x158]
push edx
push ecx
mov ecx, eax
call fcn.10010ba0
mov ecx, dword [ebp - 0x134]
test ecx, ecx
je 0x1002256b
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x158]
cmp ecx, eax
setne al
push eax
call edx
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x180]
mov dword [ebp - method.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_12___bool__int_.virtual_0], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_12___bool__int_.0
mov dword [ebp - 0x17c], edi
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x1c], 0x12
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x2c]
add ecx, 0x424
push eax
call fcn.10010140
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 8]
je 0x100225eb
mov dword [ebp - 0x34], ecx
mov dword [ecx + 0x24], 0
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x15c]
test edx, edx
je 0x100225e5
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
add dword [eax + 4], 0x28
jmp 0x100225fa
lea edx, [ebp - 0x180]
push edx
push ecx
mov ecx, eax
call fcn.10010ba0
mov ecx, dword [ebp - 0x15c]
test ecx, ecx
je 0x10022617
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x180]
cmp ecx, eax
setne al
push eax
call edx
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_13___bool__int_.0
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], 0x13
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x2c]
add ecx, 0x424
push eax
call fcn.10010140
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 8]
je 0x10022688
mov dword [ebp - 0x34], ecx
mov dword [ecx + 0x24], 0
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x3c]
test edx, edx
je 0x10022682
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x18]
add dword [eax + 4], 0x28
jmp 0x10022694
lea edx, [ebp - 0x60]
push edx
push ecx
mov ecx, eax
call fcn.10010ba0
lea ecx, [ebp - 0x60]
call fcn.10002040
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 0x1a8]
mov dword [ebp - method.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_14___bool__int_.virtual_0], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CameraMods::constructor_class_ZealService___class_IO_ini__::_2::_lambda_14___bool__int_.0
mov dword [ebp - 0x1a4], edi
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x1c], 0x14
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x1b0]
add ecx, 0x424
push eax
call fcn.10010140
mov esi, dword [eax]
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [esi + 0x14]
je 0x10022716
mov dword [ebp - 0x34], ecx
mov dword [ecx + 0x24], 0
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x184]
test edx, edx
je 0x10022710
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax]
call eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x24], eax
add dword [esi + 0x10], 0x28
jmp 0x10022726
lea eax, [ebp - 0x1a8]
push eax
push ecx
lea ecx, [esi + 0xc]
call fcn.10010ba0
mov ecx, dword [ebp - 0x184]
test ecx, ecx
je 0x10022744
mov esi, dword [ecx]
lea eax, [ebp - 0x1a8]
cmp ecx, eax
setne dl
movzx edx, dl
push edx
call dword [esi + 0x10]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10037c60
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
call fcn.1003ef14
call fcn.1003ef14
sbb byte [esi], bl
add dl, byte [eax]
sbb byte [esi], bl
add dl, byte [eax]
add eax, 0x2b10021e
push ds
add dl, byte [eax]
stosb byte es:[edi], al
pop ds
add dl, byte [eax]
stosb byte es:[edi], al
pop ds
add dl, byte [eax]
xchg edi, eax
pop ds
add dl, byte [eax]
mov ebp, 0x5510021f
mov ebp, esp
push 0xffffffffffffffff
push 0x100616be
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x1007c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 8]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x20], 0
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x10022828
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
push str.info
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
call fcn.100054b0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x40]
mov dword [ebp - 0x20], 1
mov ecx, dword [esi]
add ecx, 0x18
call fcn.10031330
mov byte [ebp - 0x19], 1
test al, al
jne 0x1002282c
mov byte [ebp - 0x19], 0
mov dword [ebp - 4], 0xffffffff
test byte [ebp - 0x20], 1
je 0x1002286d
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x1002286d
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10022863
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10022b7e
push ecx
push edx
call fcn.10037ca8
add esp, 8
cmp byte [ebp - 0x19], 0
je 0x100228c1
mov eax, dword [edi]
sub esp, 0x20
movss xmm0, dword [eax + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [eax + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [eax + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [eax + 0xc]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.camera_sensitivity_FirstPerson_:____f_____f__ThirdPerson_:____f_____f_
call fcn.100187e0
add esp, 0x24
jmp 0x10022b5f
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
lea eax, [ecx - 0x48]
cmp eax, 0x18
jae 0x10022972
lea ecx, [edx + 0x18]
mov dword [ebp - 0x20], 0
lea edx, [ebp - 0x20]
mov dword [ebp - 0x24], 0
call fcn.10031810
test al, al
je 0x10022b5f
mov ecx, dword [esi]
lea edx, [ebp - 0x24]
add ecx, 0x30
call fcn.10031810
test al, al
je 0x10022b5f
mov eax, dword [edi]
movss xmm1, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x24]
push 1
movss dword [eax + 0xc], xmm1
mov eax, dword [edi]
movss dword [eax + 0x10], xmm0
mov eax, dword [edi]
movss dword [eax + 0x14], xmm1
mov eax, dword [edi]
movss dword [eax + 0x18], xmm0
mov ecx, dword [edi]
call fcn.1001f2d0
mov ecx, dword [edi]
call fcn.10021630
mov eax, dword [edi]
sub esp, 0x10
movss xmm0, dword [eax + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [eax + 0xc]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.New_camera_sensitivity___f____f_
call fcn.100187e0
add esp, 0x14
jmp 0x10022b5f
lea eax, [ecx - 0x78]
cmp eax, 0x18
jae 0x10022a7a
lea ecx, [edx + 0x18]
mov dword [ebp - 0x24], 0
lea edx, [ebp - 0x24]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0
call fcn.10031810
test al, al
je 0x10022b5f
mov ecx, dword [esi]
lea edx, [ebp - 0x20]
add ecx, 0x30
call fcn.10031810
test al, al
je 0x10022b5f
mov ecx, dword [esi]
lea edx, [ebp - 0x28]
add ecx, 0x48
call fcn.10031810
test al, al
je 0x10022b5f
mov ecx, dword [esi]
lea edx, [ebp - 0x14]
add ecx, 0x60
call fcn.10031810
test al, al
je 0x10022b5f
mov eax, dword [edi]
movss xmm0, dword [ebp - 0x24]
push 1
movss dword [eax + 0xc], xmm0
mov eax, dword [edi]
movss xmm0, dword [ebp - 0x20]
movss dword [eax + 0x10], xmm0
mov eax, dword [edi]
movss xmm0, dword [ebp - 0x28]
movss dword [eax + 0x14], xmm0
mov eax, dword [edi]
movss xmm0, dword [ebp - 0x14]
movss dword [eax + 0x18], xmm0
mov ecx, dword [edi]
call fcn.1001f2d0
mov ecx, dword [edi]
call fcn.10021630
mov eax, dword [edi]
sub esp, 0x20
movss xmm0, dword [eax + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [eax + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [eax + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [eax + 0xc]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.New_camera_sensitivity_FirstPerson:___f____f__ThirdPerson:___f____f_
call fcn.100187e0
add esp, 0x24
jmp 0x10022b5f
mov eax, dword [0x1008313c]
mov ecx, dword [edi]
mov eax, dword [eax + 0x3c]
cmp byte [eax + 0x24], 0
sete al
movzx eax, al
push eax
call fcn.1001f2d0
mov eax, dword [0x1008313c]
mov eax, dword [eax + 0x3c]
cmp byte [eax + 0x24], 0
je 0x10022b26
push str.Zealcam_enabled
call fcn.100187e0
mov eax, dword [edi]
sub esp, 0x1c
movss xmm0, dword [eax + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [eax + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movss xmm0, dword [eax + 0x10]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [eax + 0xc]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.camera_sensitivity_FirstPerson_:____f_____f__ThirdPerson_:____f_____f_
call fcn.100187e0
mov eax, dword [edi]
add esp, 0x24
cmp byte [eax + 0x1e], 0
je 0x10022b5f
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 1
push 0x4adcd9
call esi
lea eax, [ebp - 0x14]
mov byte [0x4adcd9], 6
push eax
push dword [ebp - 0x14]
jmp 0x10022b56
push str.Zealcam_disabled
call fcn.100187e0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x18]
add esp, 4
push eax
push 0x40
push 1
push 0x4adcd9
call esi
lea eax, [ebp - 0x18]
mov byte [0x4adcd9], 5
push eax
push dword [ebp - 0x18]
push 1
push 0x4adcd9
call esi
mov al, 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.10037c60
mov esp, ebp
pop ebp
ret 4
call fcn.1003ef14
int3