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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x101383dc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [0x101896f4]
push edi
mov edi, dword [0x101896fc]
push 0
push edi
push esi
push str.ScreenFade
mov byte [ebp - 0xc], 0x68
mov byte [ebp - 7], 0
call fcn.100841c0
push 0
push edi
mov dword [ebp - 0xb], eax
lea eax, [ebp - 0xc]
push esi
push eax
call fcn.100841c0
cmp esi, edi
mov ecx, dword [eax + 0x13]
mov eax, edi
cmovbe eax, esi
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
jb 0x10083f87
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp ecx, eax
ja 0x10083f87
mov dword [0x1018890c], ecx
test ecx, ecx
je 0x10083fa3
mov ebx, dword [0x10189704]
push 0
push dword [0x1018970c]
mov byte [ebp - 0xc], 0x68
push ebx
push str.sprites_voiceicon.spr
mov byte [ebp - 7], 0
call fcn.100841c0
push 0
push dword [0x1018970c]
mov dword [ebp - 0xb], eax
lea eax, [ebp - 0xc]
push ebx
push eax
call fcn.100841c0
mov ecx, dword [0x1018970c]
cmp ebx, ecx
mov edx, dword [eax + 7]
mov eax, ecx
cmovbe eax, ebx
mov dword [ebp - 0xc], edx
cmp edx, eax
jb 0x10083f6c
cmp ebx, ecx
mov eax, ebx
cmovbe eax, ecx
cmp edx, eax
ja 0x10083f6c
mov dword [0x10188834], edx
test edx, edx
je 0x10083fa3
mov eax, dword [ebp - 0x1c]
cmp ebx, ecx
mov eax, dword [eax + 0x9c]
mov dword [ebp - 0x14], eax
mov edx, dword [eax + 0x30]
mov eax, ecx
cmovbe eax, ebx
mov dword [ebp - 0x1c], eax
cmp edx, eax
jb 0x100834d0
cmp ebx, ecx
mov eax, ebx
cmovbe eax, ecx
cmp edx, eax
jbe 0x100834eb
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x1a]
cmp edx, eax
jb 0x10083f51
cmp ebx, ecx
cmovbe ebx, ecx
cmp edx, ebx
ja 0x10083f51
mov dword [0x1018848c], edx
test edx, edx
je 0x10083fa3
mov ebx, dword [0x10189704]
push 0
push dword [0x1018970c]
push ebx
push str.xxxx____xx____xx_____xxxx
push 0x10122788
call fcn.10084130
mov edx, eax
mov eax, dword [0x1018970c]
cmp ebx, eax
mov ecx, eax
cmovbe ecx, ebx
cmp edx, ecx
jb 0x10083f36
cmp ebx, eax
cmovbe ebx, eax
cmp edx, ebx
ja 0x10083f36
mov eax, dword [edx + 0xa]
mov dword [0x1018884c], eax
test eax, eax
je 0x10083fa3
push 0
push edi
push esi
push str.ScreenFade
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0xf], 0
call fcn.100841c0
push 0
push edi
mov dword [ebp - 0x13], eax
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.100841c0
cmp esi, edi
mov ecx, dword [eax + 0x18]
mov eax, edi
cmovbe eax, esi
cmp ecx, eax
jb 0x10083f1b
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp ecx, eax
ja 0x10083f1b
mov dword [0x10188420], ecx
test ecx, ecx
je 0x10083fa3
push 0
push edi
push esi
push str.CL_Parse_Sound:_ent___i__cl.max_edicts__i
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0xf], 0
call fcn.100841c0
push 0
push edi
mov dword [ebp - 0x13], eax
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.100841c0
mov ecx, dword [eax - 0x10]
sub eax, 0x10
add ecx, 4
mov ebx, edi
add ecx, eax
cmp esi, edi
cmovbe ebx, esi
cmp ecx, ebx
jb 0x100835e6
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp ecx, eax
jbe 0x1008362e
push 0
push edi
push esi
push str.CL_Parse_Sound:_ent___i__cl.max_edicts__i
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0xf], 0
call fcn.100841c0
push 0
push edi
mov dword [ebp - 0x13], eax
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.100841c0
mov ecx, dword [eax - 0x11]
sub eax, 0x11
add ecx, 4
add ecx, eax
cmp ecx, ebx
jb 0x10083efd
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp ecx, eax
ja 0x10083efd
mov dword [0x101887f0], ecx
test ecx, ecx
je 0x10083fa3
mov ecx, dword [ebp - 0xc]
push 3
mov ecx, dword [ecx + 0x48]
lea eax, [ecx + 0x32]
push eax
push ecx
push str.xxx____x
push 0x1012272c
call fcn.10084130
push 7
mov ecx, dword [eax]
add eax, 4
add ecx, eax
lea eax, [ecx + 0x32]
push eax
push ecx
push str.___xxxx____x
push 0x10122754
call fcn.10084130
cmp esi, edi
mov ecx, edi
cmovbe ecx, esi
cmp eax, ecx
jb 0x10083edf
cmp esi, edi
mov ecx, esi
cmovbe ecx, edi
cmp eax, ecx
ja 0x10083edf
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x10189e8c], eax
test eax, eax
je 0x10083fa3
push 1
push edi
push esi
push str.x____xxx____xxx_xx____xxxxxx
push 0x101225c4
call fcn.10084130
mov edx, dword [eax]
sub edx, 4
je 0x10083766
mov ecx, dword [edx + 0x188]
lea ebx, [ecx + 5]
add ebx, dword [ecx + 1]
mov ecx, dword [edx + 0x38]
mov dword [0x101898b4], ebx
mov eax, dword [ecx + 1]
add ecx, 5
add eax, ecx
mov ecx, dword [edx + 0x68]
mov dword [0x101898ac], eax
mov eax, dword [ecx + 1]
add ecx, 5
add eax, ecx
mov ecx, dword [edx + 0xe0]
mov dword [0x101898b0], eax
mov eax, dword [ecx + 1]
cmp byte [ecx + eax + 0x18], 0xe8
je 0x10083725
cmp byte [ecx + eax + 0x1a], 0xe8
je 0x10083725
cmp byte [ecx + eax + 0x13], 0xe8
je 0x10083725
cmp byte [ecx + eax + 0x10], 0xe8
je 0x10083725
push str.COffsets::EngineMsgs
push str._s:_MSG_ReadCoord_not_found._n
jmp 0x10083770
mov eax, dword [ebx + 1]
mov dword [0x101898a8], eax
mov eax, dword [edx + 0x50]
cmp byte [eax + 0xe], 0xe8
je 0x10083748
cmp byte [eax + 0xc], 0xe8
je 0x10083748
push str.COffsets::EngineMsgs
push str._s:_MSG_StartBitReading_not_found._n
jmp 0x10083770
cmp byte [eax + 0xd6], 0xe8
je 0x10083786
cmp byte [eax + 0xe2], 0xe8
je 0x10083786
push str.COffsets::EngineMsgs
push str._s:_MSG_EndBitReading_not_found._n
jmp 0x10083770
push str.COffsets::EngineMsgs
push str._s:_not_found._n
call fcn.100a3ed0
mov esi, dword [0x101896f4]
add esp, 8
mov edi, dword [0x101896fc]
xor edx, edx
push 0
push edi
push esi
push str.xxx____xxxxxxxxxxxxxxxxx
push 0x10122864
mov dword [0x10189cbc], edx
call fcn.10084130
mov ecx, dword [eax + 3]
mov eax, edi
add ecx, 0xffeca258
cmp esi, edi
cmovbe eax, esi
cmp ecx, eax
jb 0x10083ec1
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp ecx, eax
ja 0x10083ec1
mov dword [0x10188204], ecx
test ecx, ecx
je 0x10083fa3
push 0
push edi
push esi
push str.in_:___i__.2f_k_s
mov byte [ebp - 0xc], 0x68
mov byte [ebp - 7], 0
call fcn.100841c0
push 0
push edi
mov dword [ebp - 0xb], eax
lea eax, [ebp - 0xc]
push esi
push eax
call fcn.100841c0
push ecx
push esi
push eax
push str.x____xxx
push 0x10122698
call fcn.100840a0
mov ecx, dword [eax + 1]
mov eax, edi
add ecx, 0xffffffc0
cmp esi, edi
cmovbe eax, esi
cmp ecx, eax
jb 0x10083ea3
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp ecx, eax
ja 0x10083ea3
mov dword [0x101886b8], ecx
test ecx, ecx
je 0x10083fa3
push 0
push edi
push esi
push str.unbind__key__:_remove_commands_from_a_key
mov byte [ebp - 0xc], 0x68
mov byte [ebp - 7], 0
call fcn.100841c0
push 0
push edi
mov dword [ebp - 0xb], eax
lea eax, [ebp - 0xc]
push esi
push eax
call fcn.100841c0
push ecx
push esi
push eax
push str.xx_____
push 0x101225bc
call fcn.100840a0
cmp esi, edi
mov ecx, dword [eax + 3]
mov eax, edi
cmovbe eax, esi
cmp ecx, eax
jb 0x10083e85
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp ecx, eax
ja 0x10083e85
mov dword [0x10188790], ecx
test ecx, ecx
je 0x10083fa3
push 0
push edi
push esi
push str.progs_flame.mdl
mov byte [ebp - 0xc], 0x68
mov byte [ebp - 7], 0
call fcn.100841c0
push 0
push edi
mov dword [ebp - 0xb], eax
lea eax, [ebp - 0xc]
push esi
push eax
call fcn.100841c0
push 0
push edi
push eax
push 0x101224ec
call fcn.100841c0
mov ebx, eax
cmp byte [ebx], 0x90
jne 0x100838e6
inc ebx
cmp byte [ebx], 0x90
je 0x100838e0
cmp esi, edi
mov eax, edi
cmovbe eax, esi
mov dword [ebp - 0x1c], eax
cmp ebx, eax
jb 0x10083e67
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp ebx, eax
ja 0x10083e67
push 0
push edi
push ebx
push 0x10122380
call fcn.100841c0
mov edx, eax
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0x1c]
jb 0x10083e49
cmp esi, edi
mov ecx, esi
cmovbe ecx, edi
cmp edx, ecx
ja 0x10083e49
mov eax, dword [edx + 2]
push 0
mov dword [0x10186a7c], eax
lea eax, [edx + 0x18]
push eax
push edx
push 0x10122544
mov dword [ebp - 0xc], eax
call fcn.100841c0
cmp eax, dword [ebp - 0x1c]
jb 0x10083968
cmp esi, edi
mov ecx, esi
cmovbe ecx, edi
cmp eax, ecx
ja 0x10083968
mov eax, dword [eax + 3]
mov dword [0x10186a80], eax
jmp 0x100839a0
push 1
push dword [ebp - 0xc]
push dword [ebp - 0x14]
push 0x10122540
call fcn.100841c0
push str.COffsets::R_DrawEntitiesOnList
push str.___s:_find_cl_visedicts_old_version._n
mov eax, dword [eax + 1]
mov dword [0x10186a80], eax
call fcn.100a3ed0
mov edi, dword [0x101896fc]
add esp, 8
mov esi, dword [0x101896f4]
mov dword [0x10188830], ebx
test ebx, ebx
je 0x10083fa3
mov ebx, dword [0x10189704]
push 0
push dword [0x1018970c]
push ebx
push 0x101224e0
call fcn.100841c0
mov edx, eax
mov eax, dword [0x1018970c]
cmp ebx, eax
mov ecx, eax
cmovbe ecx, ebx
cmp edx, ecx
jb 0x10083e2b
cmp ebx, eax
cmovbe ebx, eax
cmp edx, ebx
ja 0x10083e2b
mov dword [0x1018975c], edx
test edx, edx
je 0x10083fa3
push 0
push edi
push esi
push 0x10122464
call fcn.100841c0
mov ecx, eax
mov dword [ebp - 0xc], ecx
test ecx, ecx
je 0x10083a60
test esi, esi
je 0x10083a60
lea eax, [esi - 2]
mov ebx, ecx
cmp ecx, eax
jbe 0x10083a60
mov edx, ecx
sub edx, 0x10122490
nop dword [eax]
nop dword [eax + eax]
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
mov al, byte [ecx + 0x10122490]
cmp al, byte [edx + ecx + 0x10122490]
jne 0x10083a57
inc ecx
cmp ecx, 2
jb 0x10083a40
jmp 0x10083a62
dec ebx
lea eax, [esi - 2]
dec edx
cmp ebx, eax
ja 0x10083a30
xor ebx, ebx
push 0xb
push dword [ebp - 0xc]
push ebx
push str.x____x____xx
push 0x101224b8
call fcn.10084130
cmp esi, edi
mov ecx, edi
mov ebx, eax
cmovbe ecx, esi
cmp ebx, ecx
jb 0x10083e17
cmp esi, edi
cmovbe esi, edi
cmp ebx, esi
ja 0x10083e17
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [0x10189760], ebx
movzx eax, byte [ebx]
mov byte [0x10189764], al
movzx eax, byte [ebx + 1]
mov byte [0x10189765], al
movzx eax, byte [ebx + 2]
push 0x1018db28
mov byte [0x10189766], al
movzx eax, byte [ebx + 3]
push 0x40
mov byte [0x10189767], al
movzx eax, byte [ebx + 4]
push 5
push ebx
mov byte [0x10189768], al
mov dword [ebp - 0xc], 0x90909090
mov byte [ebp - 0x15], 0x90
call esi
mov eax, dword [ebp - 0xc]
mov dword [ebx], eax
mov al, byte [ebp - 0x15]
push 0x1018db28
mov byte [ebx + 4], al
push dword [0x1018db28]
push 5
push ebx
call esi
push 5
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov edi, dword [0x101896fc]
mov esi, dword [0x101896f4]
push 0
push edi
push esi
push str.Texture_load:__6.1fms
call fcn.100841c0
push 0
push edi
mov ebx, eax
mov byte [ebp - 0xc], 0x68
push esi
lea eax, [ebp - 0xc]
mov byte [ebp - 7], 0
push eax
mov dword [ebp - 0xb], ebx
call fcn.100841c0
cmp esi, edi
mov ecx, dword [eax - 7]
mov eax, edi
cmovbe eax, esi
cmp ebx, eax
jb 0x10083df9
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp ebx, eax
ja 0x10083df9
mov dword [0x10189758], ecx
test ecx, ecx
je 0x10083fa3
push 0
push edi
push esi
push str.xxxxxxxxxxx____xx
push 0x101223e4
call fcn.10084130
cmp esi, edi
mov ebx, edi
mov edx, eax
cmovbe ebx, esi
cmp edx, ebx
jb 0x10083b9d
cmp esi, edi
mov ecx, esi
cmovbe ecx, edi
cmp edx, ecx
jbe 0x10083bc9
push 0
push edi
push esi
push str.xxxxxxxxx____xx
push 0x10122418
call fcn.10084130
mov edx, eax
cmp edx, ebx
jb 0x10083ddb
cmp esi, edi
mov eax, esi
cmovbe eax, edi
cmp edx, eax
ja 0x10083ddb
mov dword [0x101887e8], edx
test edx, edx
je 0x10083fa3
push 0
push edi
push esi
push str._particles
mov byte [ebp - 0xc], 0x68
mov byte [ebp - 7], 0
call fcn.100841c0
push 0
push edi
mov dword [ebp - 0xb], eax
lea eax, [ebp - 0xc]
push esi
push eax
call fcn.100841c0
push 0xfffffffffffffff6
push edi
push eax
push 0x10122454
call fcn.100841c0
cmp esi, edi
mov ecx, edi
cmovbe ecx, esi
cmp eax, ecx
jb 0x10083dbd
cmp esi, edi
mov ecx, esi
cmovbe ecx, edi
cmp eax, ecx
ja 0x10083dbd
mov eax, dword [eax + 1]
mov dword [0x10188804], eax
test eax, eax
je 0x10083fa3
mov eax, dword [0x10188834]
cmp dword [eax + 0xdc], 0
je 0x10083fa3
mov eax, dword [0x1018890c]
cmp dword [eax + 0x4c], 0
je 0x10083fa3
mov eax, dword [0x1018884c]
cmp dword [eax + 0x34], 0
je 0x10083fa3
mov eax, dword [0x1018848c]
cmp dword [eax + 0x74], 0
je 0x10083fa3
push 0
push edi
push esi
push str._c_c_c_cconnect__i__i___s____s__n
mov byte [ebp - 0xc], 0x68
mov byte [ebp - 7], 0
call fcn.100841c0
push 0
push edi
mov dword [ebp - 0xb], eax
lea eax, [ebp - 0xc]
push esi
push eax
call fcn.100841c0
push ecx
push esi
push eax
push str.x____xxxxx
push 0x10122368
call fcn.100840a0
cmp esi, edi
mov ecx, edi
mov edx, eax
cmovbe ecx, esi
cmp edx, ecx
jb 0x10083d9f
cmp esi, edi
cmovbe esi, edi
cmp edx, esi
ja 0x10083d9f
mov eax, dword [edx + 1]
add eax, 5
add eax, edx
mov dword [0x101886d4], eax
je 0x10083fa3
call fcn.10083fc0
mov dword [0x10186ab0], eax
test eax, eax
je 0x10083fa3
mov esi, dword [0x1018890c]
mov ecx, 0x2b
mov edi, 0x10188850
rep movsd dword es:[edi], dword [esi]
mov esi, dword [0x10188834]
mov ecx, 0x86
mov edi, 0x10188208
rep movsd dword es:[edi], dword [esi]
mov esi, dword [0x1018848c]
mov ecx, 0x2e
mov eax, dword [0x10188360]
mov edi, 0x101886d8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [0x1018884c]
mov ecx, 0x19
mov edi, 0x10188428
rep movsd dword es:[edi], dword [esi]
mov esi, dword [0x101896fc]
push 0
push esi
push dword [eax + 8]
push 0x10122380
call fcn.100841c0
mov edx, dword [0x101896f4]
mov ecx, esi
cmp edx, esi
cmovbe ecx, edx
cmp eax, ecx
jb 0x10083d8b
cmp edx, esi
cmovbe edx, esi
cmp eax, edx
ja 0x10083d8b
mov eax, dword [eax + 2]
mov dword [0x10186aa8], eax
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c2ed5
mov esp, ebp
pop ebp
ret
push str.COffsets::GlobalTime
push str._s:_not_found._n
call fcn.100a3ed0
jmp 0x10083fa0
push str.COffsets::InitiateGameConnection
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x101886d4], 0
jmp 0x10083fa0
push str.COffsets::Particles
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x10188804], 0
jmp 0x10083fa0
push str.COffsets::CL_RecordHUDCommand
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x101887e8], 0
jmp 0x10083fa0
push str.COffsets::FindSpeed
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x10189758], 0
jmp 0x10083fa0
push str.COffsets::PatchInterpolationTime
push str._s:_not_found._n
call fcn.100a3ed0
jmp 0x10083fa0
push str.COffsets::FindInitPoint
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x1018975c], 0
jmp 0x10083fa0
push str.COffsets::R_DrawEntitiesOnList
push str._s:_cl_numvisedicts_not_found._n
call fcn.100a3ed0
mov dword [0x10188830], 0
jmp 0x10083fa0
push str.COffsets::R_DrawEntitiesOnList
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x10188830], 0
jmp 0x10083fa0
push str.COffsets::KeyBindings
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x10188790], 0
jmp 0x10083fa0
push str.COffsets::ClientStatic
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x101886b8], 0
jmp 0x10083fa0
push str.COffsets::ClientState
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x10188204], 0
jmp 0x10083fa0
push str.COffsets::ClientUserMsgs
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x10189e8c], 0
jmp 0x10083fa0
push str.COffsets::PreS_DynamicSound
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x101887f0], 0
jmp 0x10083fa0
push str.COffsets::PlayerMove
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x10188420], 0
jmp 0x10083fa0
push str.COffsets::StudioRenderModel
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x1018884c], 0
jmp 0x10083fa0
push str.COffsets::Studio
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x1018848c], 0
jmp 0x10083fa0
push str.COffsets::Engine
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x10188834], 0
jmp 0x10083fa0
push str.COffsets::Client
push str._s:_not_found._n
call fcn.100a3ed0
mov dword [0x1018890c], 0
add esp, 8
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100c2ed5
mov esp, ebp
pop ebp
ret