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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
push ebx
push esi
push edi
mov esi, ecx
call fcn.01408110
mov eax, dword [0x15bbec4]
test eax, eax
jne 0x140825e
push 0x218
call fcn.014284e4
add esp, 4
mov dword [0x15bbec4], eax
push 0x218
push 0
push eax
call fcn.0142ac10
mov eax, dword [0x15bbec0]
add esp, 0xc
test eax, eax
jne 0x1408289
push 0xac
call fcn.014284e4
add esp, 4
mov dword [0x15bbec0], eax
push 0xac
push 0
push eax
call fcn.0142ac10
add esp, 0xc
mov dword [0x15bcee8], 0
mov dword [0x15bbe80], 0
mov dword [0x15bcedc], 0
mov dword [0x15bbe84], 0
push 0x1f
push dword [ebp + 8]
mov byte [0x15bbe69], 0
push 0x15bbe88
call fcn.014355b0
mov eax, dword [0x15bbe50]
add esp, 0xc
mov dword [0x15bbeb0], eax
mov eax, dword [0x15bbe58]
mov byte [0x15bbea7], 0
mov dword [0x15bbeac], 0x1590188
mov dword [0x15bbeb4], 0x15905c4
mov dword [0x15bbeb8], eax
mov dword [0x15bbebc], 0x68
test esi, esi
je 0x1408356
push 0x1c
lea eax, [ebp - 0x11c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
jne 0x140832f
xor ecx, ecx
jmp 0x1408344
mov ecx, dword [ebp - 0x118]
xor eax, eax
cmp dword [ebp - 0x104], 0x1000000
cmovne ecx, eax
mov eax, dword [esi + 0x3c]
xor edx, edx
add eax, 0x50
mov dword [0x15bcefc], esi
add eax, esi
jmp 0x1408370
mov ecx, dword [0xc]
mov edx, 1
mov dword [0x15bbe78], 0
mov eax, 0x1c
mov eax, dword [eax]
mov dword [0x15bbe80], eax
lea eax, [ebp - 0x14]
push eax
push str..text
push ecx
mov dword [0x15bcee8], ecx
mov dword [0x15bcef8], edx
mov dword [ebp - 0x14], 0
call fcn.0140bb50
mov ecx, dword [0x15bcee8]
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x14083b4
mov edi, dword [0x15bbe80]
mov dword [ebp - 8], ecx
jmp 0x14083b7
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x14]
mov dword [ebp - 4], edi
push eax
push 0x15863e8
push ecx
mov dword [ebp - 0x14], 0
call fcn.0140bb50
mov ecx, dword [0x15bcee8]
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x14083ee
mov esi, dword [0x15bbe80]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x24], esi
jmp 0x14083f4
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0x15863f4
push ecx
call fcn.0140bb50
mov ebx, dword [0x15bcee8]
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1408424
mov eax, dword [0x15bbe80]
mov dword [ebp - 0x1c], ebx
jmp 0x1408427
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
test eax, eax
je 0x140849b
add edi, 0xfffffff2
mov ecx, eax
add edi, eax
cmp eax, edi
jae 0x140849b
mov esi, eax
sub esi, 0x1586774
xor eax, eax
nop word [eax + eax]
mov dl, byte [eax + 0x1586774]
cmp dl, 0x2a
je 0x1408464
cmp dl, byte [esi + eax + 0x1586774]
jne 0x1408495
inc eax
cmp eax, 0xe
jb 0x1408450
test ecx, ecx
je 0x140849b
mov dword [0x15bd4d0], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x140859a
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x140858f
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14085aa
inc ecx
inc esi
cmp ecx, edi
jb 0x1408444
mov ecx, dword [0x15bd4d0]
cmp dword [0x15bcf04], 0
jne 0x1408643
test ebx, ebx
je 0x1408673
mov edi, dword [0x15bbe80]
mov esi, ebx
add edi, 0xfffffff5
add edi, esi
cmp esi, edi
jae 0x1408673
mov edx, esi
sub edx, str.Exe_build:
xor eax, eax
mov cl, byte [eax + str.Exe_build:]
cmp cl, 0x2a
je 0x14084ed
cmp cl, byte [edx + eax + str.Exe_build:]
jne 0x14085d2
inc eax
cmp eax, 0xb
jb 0x14084d5
test esi, esi
je 0x1408673
mov eax, dword [0x1586798]
movq xmm0, qword [0x1586790]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x5c], eax
mov al, byte [0x158679c]
movq qword [ebp - 0x64], xmm0
mov byte [ebp - 0x58], al
mov dword [ebp - 0x5d], esi
test edx, edx
je 0x1408673
mov edi, dword [ebp - 4]
mov ecx, edx
add edi, 0xfffffff4
add edi, edx
cmp edx, edi
jae 0x1408673
mov esi, edx
lea eax, [ebp - 0x64]
sub esi, eax
nop
xor eax, eax
lea edx, [ebp - 0x64]
add edx, eax
mov bl, byte [edx]
cmp bl, 0x2a
je 0x1408557
cmp bl, byte [esi + edx]
jne 0x14085f0
inc eax
cmp eax, 0xc
jb 0x1408542
test ecx, ecx
je 0x1408673
mov dword [0x15bd4d0], ecx
xor edx, edx
nop dword [eax]
mov al, byte [ecx]
cmp al, 0xff
jne 0x1408619
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x140860e
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1408629
cmp al, 0x25
jne 0x14085c6
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14085aa
cmp al, 0xe8
je 0x14085a2
cmp al, 0xe9
jne 0x14085c6
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd4d0], ecx
cmp edx, 1
jb 0x1408476
mov eax, ecx
mov dword [0x15bcf04], eax
jmp 0x14084a1
xor eax, eax
mov dword [0x15bcf04], eax
jmp 0x14084a1
inc esi
inc edx
cmp esi, edi
jb 0x14084d3
push str.MH_LoadEngine:_Failed_to_locate_buildnumber
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc ecx
inc esi
cmp ecx, edi
jb 0x1408540
push str.MH_LoadEngine:_Failed_to_locate_buildnumber
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 0x25
jne 0x1408669
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1408629
cmp al, 0xe8
je 0x1408621
cmp al, 0xe9
jne 0x1408669
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd4d0], ecx
cmp edx, 1
jb 0x1408570
mov dword [0x15bcf04], ecx
test ecx, ecx
je 0x1408673
cmp dword [0x15bcef8], 0
jne 0x140884b
mov eax, dword [0x15bcefc]
test eax, eax
je 0x1408687
push 0x1453ef4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
jmp 0x14086a4
mov dword [0x15bcf04], 0
push str.MH_LoadEngine:_Failed_to_locate_buildnumber
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x15bbe78]
test ecx, ecx
je 0x14086a2
mov ecx, dword [ecx + 8]
mov eax, dword [ecx + 8]
add ecx, 0xc
add eax, ecx
call eax
mov esi, eax
jmp 0x14086a4
xor esi, esi
push 0
push str.SCEngineClient002
call esi
add esp, 8
test eax, eax
jne 0x1408942
push eax
push str.SCEngineClient001
call esi
add esp, 8
test eax, eax
jne 0x1408942
call dword [0x15bcf04]
cmp eax, 0x2328
jle 0x14087ef
mov dword [0x15bcef8], 4
mov eax, dword [0x15bcee8]
mov ecx, dword [0x15bd4d0]
test eax, eax
je 0x1408966
mov edi, eax
mov eax, dword [0x15bbe80]
lea ebx, [eax - 0x2f]
add ebx, edi
cmp edi, ebx
jae 0x140896b
mov esi, edi
sub esi, str.could_not_link_client.dll_function_Initialize_n
xor eax, eax
nop word [eax + eax]
mov dl, byte [eax + str.could_not_link_client.dll_function_Initialize_n]
cmp dl, 0x2a
je 0x1408738
cmp dl, byte [esi + eax + str.could_not_link_client.dll_function_Initialize_n]
jne 0x1408adb
inc eax
cmp eax, 0x2f
jb 0x1408720
test edi, edi
je 0x1408966
mov eax, dword [0x1586850]
movq xmm0, qword [0x1586848]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x7c], eax
mov al, byte [0x1586854]
movq qword [ebp - 0x84], xmm0
mov byte [ebp - 0x78], al
mov dword [ebp - 0x83], edi
test edx, edx
je 0x1408a8e
lea eax, [ebx - 0xc]
mov edi, edx
add eax, edx
cmp edx, eax
jae 0x1408a8e
mov esi, edx
lea eax, [ebp - 0x84]
sub esi, eax
xor eax, eax
lea edx, [ebp - 0x84]
add edx, eax
mov bl, byte [edx]
cmp bl, 0x2a
je 0x14087ad
cmp bl, byte [esi + edx]
jne 0x1408aea
inc eax
cmp eax, 0xc
jb 0x1408795
test edi, edi
je 0x1408966
lea edx, [edi + 5]
test edx, edx
jne 0x14087c5
lea edx, [ecx + 5]
mov dword [0x15bd4d0], edx
xor ecx, ecx
nop dword [eax]
mov al, byte [edx]
cmp al, 0xff
jne 0x1408b12
mov al, byte [edx + 1]
cmp al, 0x15
jne 0x1408b07
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408b22
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1408845
mov edi, dword [ebp - 0x24]
mov esi, eax
add edi, 0xffffffe3
add edi, eax
cmp eax, edi
jae 0x1408845
mov edx, eax
sub edx, str.Half_Life__i__s__hw_build__d_
nop dword [eax]
xor eax, eax
mov cl, byte [eax + str.Half_Life__i__s__hw_build__d_]
cmp cl, 0x2a
je 0x1408826
cmp cl, byte [edx + eax + str.Half_Life__i__s__hw_build__d_]
jne 0x140883f
inc eax
cmp eax, 0x1d
jb 0x1408812
test esi, esi
je 0x1408845
mov dword [0x15bcef8], 2
jmp 0x14086e6
inc esi
inc edx
cmp esi, edi
jb 0x1408810
mov ecx, dword [0x15bd4d0]
cmp dword [0x15bcef8], 3
mov eax, dword [0x15bcee8]
jne 0x14086f1
test eax, eax
je 0x1408966
mov edi, eax
mov eax, dword [0x15bbe80]
lea ebx, [eax - 0x33]
add ebx, edi
cmp edi, ebx
jae 0x140896b
mov esi, edi
sub esi, str.Couldnt_link_client_library_function__Initialize__n
xor eax, eax
mov dl, byte [eax + str.Couldnt_link_client_library_function__Initialize__n]
cmp dl, 0x2a
je 0x140889b
cmp dl, byte [esi + eax + str.Couldnt_link_client_library_function__Initialize__n]
jne 0x140895c
inc eax
cmp eax, 0x33
jb 0x1408883
test edi, edi
je 0x1408966
mov eax, dword [0x1586850]
movq xmm0, qword [0x1586848]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x6c], eax
mov al, byte [0x1586854]
movq qword [ebp - 0x74], xmm0
mov byte [ebp - 0x68], al
mov dword [ebp - 0x73], edi
test edx, edx
je 0x1408a8e
lea eax, [ebx - 0xc]
mov edi, edx
add eax, edx
cmp edx, eax
jae 0x1408a8e
mov esi, edx
lea eax, [ebp - 0x74]
sub esi, eax
nop dword [eax]
xor eax, eax
lea edx, [ebp - 0x74]
add edx, eax
mov bl, byte [edx]
cmp bl, 0x2a
je 0x1408907
cmp bl, byte [esi + edx]
jne 0x1408a7b
inc eax
cmp eax, 0xc
jb 0x14088f2
test edi, edi
je 0x1408966
lea edx, [edi + 5]
test edx, edx
jne 0x140891b
lea edx, [ecx + 5]
mov dword [0x15bd4d0], edx
xor ecx, ecx
mov al, byte [edx]
cmp al, 0xff
jne 0x1408aa3
mov al, byte [edx + 1]
cmp al, 0x15
jne 0x1408a98
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408ab3
mov eax, dword [0x15bcee8]
mov ecx, dword [0x15bd4d0]
mov dword [0x15bcef8], 3
jmp 0x140885d
inc edi
inc esi
cmp edi, ebx
jb 0x1408881
mov eax, dword [0x15bbe80]
mov ebx, dword [ebp - 4]
mov ecx, dword [0x15bcee8]
test ecx, ecx
je 0x1408a5a
mov esi, ecx
lea edi, [esi - 0xb]
add edi, eax
cmp esi, edi
jae 0x1408a5a
mov edx, esi
sub edx, str.ScreenShake
xor eax, eax
mov cl, byte [eax + str.ScreenShake]
cmp cl, 0x2a
je 0x14089ad
cmp cl, byte [edx + eax + str.ScreenShake]
jne 0x1408b3d
inc eax
cmp eax, 0xb
jb 0x1408995
test esi, esi
je 0x1408a54
mov eax, dword [0x158689c]
movq xmm0, qword [0x1586894]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 8]
movq qword [ebp - 0xe0], xmm0
mov dword [ebp - 0xda], esi
test eax, eax
je 0x1408a54
add ebx, 0xfffffff5
mov edi, eax
add ebx, eax
cmp eax, ebx
jae 0x1408a54
mov esi, eax
lea eax, [ebp - 0xe0]
sub esi, eax
nop dword [eax + eax]
xor eax, eax
lea ecx, [ebp - 0xe0]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1408a1a
cmp dl, byte [esi + ecx]
jne 0x1408b4c
inc eax
cmp eax, 0xb
jb 0x1408a02
test edi, edi
je 0x1408a54
push 0x1409ec0
push 0x200
push edi
call fcn.0140c3f0
add esp, 0xc
test eax, eax
je 0x1408a54
push 0
push 0
push 0x1409f40
push 0x30
push edi
mov dword [0x15bcf08], eax
call fcn.0140c840
add esp, 0x14
mov ecx, dword [0x15bcee8]
cmp dword [0x15bcf08], 0
jne 0x1408b5b
push str.MH_LoadEngine:_Failed_to_locate_ClientDLL_Init
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 4]
inc edi
inc esi
lea eax, [ebx - 0xc]
add eax, dword [ebp - 8]
cmp edi, eax
jb 0x14088f0
mov eax, dword [0x15bbe80]
jmp 0x140896e
cmp al, 0x25
jne 0x1408ace
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408ab3
cmp al, 0xe8
je 0x1408aab
cmp al, 0xe9
jne 0x1408ace
mov eax, dword [edx + 1]
add edx, 5
add edx, eax
inc ecx
mov dword [0x15bd4d0], edx
cmp ecx, 1
jb 0x1408923
mov dword [0x15bcf00], edx
jmp 0x1408966
xor edx, edx
mov dword [0x15bcf00], edx
jmp 0x1408966
inc edi
inc esi
cmp edi, ebx
jb 0x1408715
jmp 0x1408966
mov ebx, dword [ebp - 4]
inc edi
inc esi
lea eax, [ebx - 0xc]
add eax, dword [ebp - 8]
cmp edi, eax
jb 0x1408793
mov eax, dword [0x15bbe80]
jmp 0x140896e
cmp al, 0x25
jne 0x1408ace
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408b22
cmp al, 0xe8
je 0x1408b1a
cmp al, 0xe9
jne 0x1408ace
mov eax, dword [edx + 1]
add edx, 5
add edx, eax
inc ecx
mov dword [0x15bd4d0], edx
cmp ecx, 1
jb 0x14087d0
mov dword [0x15bcf00], edx
jmp 0x1408966
inc esi
inc edx
cmp esi, edi
jb 0x1408993
jmp 0x1408a54
inc edi
inc esi
cmp edi, ebx
jb 0x1408a00
jmp 0x1408a54
cmp dword [0x15bceec], 0
jne 0x1408b78
push str.MH_LoadEngine:_Failed_to_locate_ppEngfuncs
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x15bbecc], 0
jne 0x1408b95
push str.MH_LoadEngine:_Failed_to_locate_ppExportFuncs
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x1408cdc
mov edi, dword [0x15bbe80]
mov esi, ecx
add edi, 0xfffffff3
add edi, esi
cmp esi, edi
jae 0x1408cdc
mov edx, esi
sub edx, str.cl_righthand
nop word [eax + eax]
xor eax, eax
mov cl, byte [eax + str.cl_righthand]
cmp cl, 0x2a
je 0x1408bda
cmp cl, byte [eax + edx + str.cl_righthand]
jne 0x1408cd2
inc eax
cmp eax, 0xd
jb 0x1408bc2
test esi, esi
je 0x1408cdc
mov eax, dword [0x158693c]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], eax
mov ax, word [0x1586940]
mov word [ebp - 0x28], ax
mov al, byte [0x1586942]
mov byte [ebp - 0x26], al
mov dword [ebp - 0x2b], esi
test ecx, ecx
je 0x1408cfa
mov ebx, dword [ebp - 4]
mov edi, ecx
add ebx, 0xfffffffa
add ebx, ecx
cmp ecx, ebx
jae 0x1408cfa
mov esi, ecx
lea eax, [ebp - 0x2c]
sub esi, eax
nop dword [eax]
xor eax, eax
lea ecx, [ebp - 0x2c]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1408c47
cmp dl, byte [ecx + esi]
jne 0x1408cf0
inc eax
cmp eax, 6
jb 0x1408c32
test edi, edi
je 0x1408cfa
lea esi, [edi - 0x109]
cmp edi, esi
jbe 0x1408caf
mov edx, edi
sub edx, 0x1586944
nop word [eax + eax]
xor eax, eax
mov cl, byte [eax + 0x1586944]
cmp cl, 0x2a
je 0x1408c8a
cmp cl, byte [eax + edx + 0x1586944]
jne 0x1408d0e
inc eax
cmp eax, 9
jb 0x1408c72
test edi, edi
je 0x1408caf
push dword [edi + 1]
lea eax, [edi + 9]
push 0
push 0x1409fa0
push 0x100
push eax
call fcn.0140c840
add esp, 0x14
cmp dword [0x15bbec8], 0
mov ebx, dword [0x15bcee8]
jne 0x1408d1a
push str.MH_LoadEngine:_Failed_to_locate_g_hClientModule
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc esi
inc edx
cmp esi, edi
jb 0x1408bc0
push str.MH_LoadEngine:_Failed_to_locate_cl_righthand
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1408c30
push str.MH_LoadEngine:_Failed_to_locate_push_cl_righthand_string
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
dec edi
dec edx
cmp edi, esi
ja 0x1408c70
jmp 0x1408caf
mov edx, dword [0x15bbe80]
test ebx, ebx
je 0x1408e04
mov esi, ebx
lea edi, [edx - 0xf]
add edi, esi
cmp esi, edi
jae 0x1408e04
mov edx, esi
sub edx, str.VClientVGUI001
nop
xor eax, eax
mov cl, byte [eax + str.VClientVGUI001]
cmp cl, 0x2a
je 0x1408d5a
cmp cl, byte [eax + edx + str.VClientVGUI001]
jne 0x1408e25
inc eax
cmp eax, 0xf
jb 0x1408d42
test esi, esi
je 0x1408dfe
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff9
add ebx, ecx
mov dword [ebp - 0x44], 0x2a68006a
mov dword [ebp - 0x40], 0x2a2a2a
mov edi, ecx
mov dword [ebp - 0x41], esi
cmp ecx, ebx
jae 0x1408df8
mov esi, ecx
lea eax, [ebp - 0x44]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0x44]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1408da8
cmp dl, byte [ecx + esi]
jne 0x1408e31
inc eax
cmp eax, 7
jb 0x1408d93
test edi, edi
je 0x1408df8
lea ebx, [edi - 0x109]
mov esi, edi
cmp edi, ebx
jbe 0x1408e43
mov edx, edi
sub edx, 0x15869fc
nop word [eax + eax]
xor eax, eax
mov cl, byte [eax + 0x15869fc]
cmp cl, 0x2a
je 0x1408de6
cmp cl, byte [eax + edx + 0x15869fc]
jne 0x1408e3d
inc eax
cmp eax, 9
jb 0x1408dd2
test edi, edi
je 0x1408e43
mov eax, dword [edi + 1]
mov dword [0x15bbe64], eax
mov ebx, dword [0x15bcee8]
mov edx, dword [0x15bbe80]
cmp dword [0x15bbe64], 0
jne 0x1408e94
push str.MH_LoadEngine:_Failed_to_locate_ClientFactory
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc esi
inc edx
cmp esi, edi
jb 0x1408d40
jmp 0x1408dfe
inc edi
inc esi
cmp edi, ebx
jb 0x1408d91
jmp 0x1408df8
dec edi
dec edx
cmp edi, ebx
ja 0x1408dd0
cmp esi, ebx
jbe 0x1408df8
mov edx, esi
sub edx, 0x1586a08
nop
xor eax, eax
mov cl, byte [eax + 0x1586a08]
cmp cl, 0x2a
je 0x1408e66
cmp cl, byte [eax + edx + 0x1586a08]
jne 0x1408e89
inc eax
cmp eax, 9
jb 0x1408e52
mov ebx, dword [0x15bcee8]
mov edx, dword [0x15bbe80]
test esi, esi
je 0x1408e04
mov eax, dword [esi + 2]
mov dword [0x15bbe64], eax
jmp 0x1408e04
dec esi
dec edx
cmp esi, ebx
ja 0x1408e50
jmp 0x1408df8
cmp dword [0x15bcef8], 3
mov ecx, 0x86
mov eax, dword [0x15bceec]
mov edi, dword [0x15bbec4]
mov esi, dword [eax]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x15bbec4]
mov eax, dword [eax + 0x198]
mov dword [0x15bcef4], eax
jne 0x1409003
test ebx, ebx
je 0x1408fd1
lea esi, [edx - 0xc]
add esi, ebx
cmp ebx, esi
jae 0x1408fd1
mov edx, ebx
sub edx, str._fullscreen
xor eax, eax
mov cl, byte [eax + str._fullscreen]
cmp cl, 0x2a
je 0x1408efc
cmp cl, byte [eax + edx + str._fullscreen]
jne 0x1408fc7
inc eax
cmp eax, 0xc
jb 0x1408ee4
test ebx, ebx
je 0x1408fd1
movq xmm0, qword [0x1586a54]
mov ecx, dword [ebp - 8]
mov edi, ecx
mov eax, dword [0x1586a5c]
movq qword [ebp - 0xa4], xmm0
mov dword [ebp - 0xa3], ebx
mov ebx, dword [ebp - 4]
add ebx, 0xfffffff3
mov dword [ebp - 0x9c], eax
mov ax, word [0x1586a60]
add ebx, ecx
mov word [ebp - 0x98], ax
cmp ecx, ebx
jae 0x1408fd1
mov esi, ecx
lea eax, [ebp - 0xa4]
sub esi, eax
nop word [eax + eax]
xor eax, eax
lea ecx, [ebp - 0xa4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1408f76
cmp dl, byte [ecx + esi]
jne 0x1408fe5
inc eax
cmp eax, 0xd
jb 0x1408f62
test edi, edi
je 0x1408fd1
add edi, 0xd
je 0x1408fd1
lea eax, [ebp - 0x18]
xorps xmm0, xmm0
push eax
push 0
push 0x140a060
push 0x400
push edi
movlpd qword [ebp - 0x18], xmm0
call fcn.0140c840
add esp, 0x14
cmp dword [0x15bced8], 0
jne 0x14090ea
push str.MH_LoadEngine:_Failed_to_locate_g_pVideoMode
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc ebx
inc edx
cmp ebx, esi
jb 0x1408ee2
push str.MH_LoadEngine:_Failed_to_locate_VideoMode_SearchBase
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1408f60
push str.MH_LoadEngine:_Failed_to_locate_VideoMode_SearchBase
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x1408fd1
lea esi, [edx - 4]
add esi, ebx
cmp ebx, esi
jae 0x1408fd1
mov edx, ebx
sub edx, 0x1586a64
nop dword [eax + eax]
xor eax, eax
mov cl, byte [eax + 0x1586a64]
cmp cl, 0x2a
je 0x140903a
cmp cl, byte [eax + edx + 0x1586a64]
jne 0x14090b2
inc eax
cmp eax, 4
jb 0x1409022
test ebx, ebx
je 0x1408fd1
movq xmm0, qword [0x1586a54]
mov ecx, dword [ebp - 8]
mov edi, ecx
mov eax, dword [0x1586a5c]
movq qword [ebp - 0xb4], xmm0
mov dword [ebp - 0xb3], ebx
mov ebx, dword [ebp - 4]
add ebx, 0xfffffff3
mov dword [ebp - 0xac], eax
mov ax, word [0x1586a60]
add ebx, ecx
mov word [ebp - 0xa8], ax
cmp ecx, ebx
jae 0x1408fd1
mov esi, ecx
lea eax, [ebp - 0xb4]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0xb4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14090a7
cmp dl, byte [ecx + esi]
jne 0x14090d0
inc eax
cmp eax, 0xd
jb 0x1409093
jmp 0x1408f7c
inc ebx
inc edx
cmp ebx, esi
jb 0x1409020
push str.MH_LoadEngine:_Failed_to_locate_VideoMode_SearchBase
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1409091
push str.MH_LoadEngine:_Failed_to_locate_VideoMode_SearchBase
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [0x15bcee8]
test esi, esi
je 0x1409227
mov edi, dword [0x15bbe80]
add edi, 0xfffffff8
add edi, esi
cmp esi, edi
jae 0x1409227
mov edx, esi
sub edx, str.HudText
xor eax, eax
mov cl, byte [eax + str.HudText]
cmp cl, 0x2a
je 0x140912d
cmp cl, byte [eax + edx + str.HudText]
jne 0x14091d4
inc eax
cmp eax, 8
jb 0x1409115
mov ecx, dword [ebp - 4]
test esi, esi
je 0x140922a
mov eax, dword [0x1586ae8]
lea ebx, [ecx - 0xe]
movq xmm0, qword [str.Ph]
mov dword [ebp - 0x4c], eax
mov ax, word [0x1586aec]
mov word [ebp - 0x48], ax
mov al, byte [0x1586aee]
mov byte [ebp - 0x46], al
mov eax, dword [ebp - 8]
mov edi, eax
add ebx, eax
movq qword [ebp - 0x54], xmm0
mov dword [ebp - 0x52], esi
cmp eax, ebx
jae 0x140922a
mov esi, eax
lea eax, [ebp - 0x54]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0x54]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409194
cmp dl, byte [ecx + esi]
jne 0x14091e0
inc eax
cmp eax, 0xe
jb 0x1409183
test edi, edi
je 0x1409227
lea ecx, [edi + 6]
test ecx, ecx
jne 0x14091b2
mov ecx, dword [0x15bd4d0]
add ecx, 5
mov dword [0x15bd4d0], ecx
xor edx, edx
nop word [eax + eax]
mov al, byte [ecx]
cmp al, 0xff
jne 0x14091f3
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x14091e8
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409203
inc esi
inc edx
cmp esi, edi
jb 0x1409113
jmp 0x1409227
inc edi
inc esi
cmp edi, ebx
jb 0x1409181
jmp 0x1409227
cmp al, 0x25
jne 0x1409211
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409203
cmp al, 0xe8
je 0x14091fb
cmp al, 0xe9
jne 0x1409211
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd4d0], ecx
cmp edx, 1
jb 0x14091c0
jmp 0x1409213
xor ecx, ecx
push 0
push 0
push 0x140a170
push 0x50
push ecx
call fcn.0140c840
add esp, 0x14
mov ecx, dword [ebp - 4]
cmp dword [0x15bcf0c], 0
jne 0x1409247
push str.MH_LoadEngine:_Failed_to_locate_gClientUserMsgs
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [0x1586b20]
mov al, byte [0x1586b48]
mov edx, dword [ebp - 0xc]
mov edi, edx
movups xmmword [ebp - 0x1b4], xmm0
mov byte [ebp - 0x18c], al
movups xmm0, xmmword [0x1586b30]
movups xmmword [ebp - 0x1a4], xmm0
movq xmm0, qword [0x1586b40]
movq qword [ebp - 0x194], xmm0
test edi, edi
je 0x1409305
lea ebx, [ecx - 0x28]
add ebx, edx
cmp edi, ebx
jae 0x1409305
mov esi, edi
lea eax, [ebp - 0x1b4]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0x1b4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14092b8
cmp dl, byte [ecx + esi]
jne 0x14092fc
inc eax
cmp eax, 0x28
jb 0x14092a4
mov edx, dword [ebp - 0xc]
test edi, edi
je 0x1409305
mov ecx, dword [edi + 4]
cmp ecx, edx
jb 0x14092d5
mov eax, dword [ebp - 0x24]
add eax, edx
cmp ecx, eax
jb 0x14092e3
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jb 0x14092f4
add eax, dword [ebp - 0x20]
cmp ecx, eax
jae 0x14092f4
cmp dword [ecx], 0x5f637673
jne 0x14092f4
cmp dword [ecx + 4], 0x646162
je 0x1409323
mov ecx, dword [ebp - 4]
add edi, 0x28
jmp 0x1409283
inc edi
inc esi
cmp edi, ebx
jb 0x14092a2
mov edx, dword [ebp - 0xc]
mov edi, dword [0x15bced4]
test edi, edi
jne 0x140932b
push str.MH_LoadEngine:_Failed_to_locate_cl_parsefuncs
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x15bced4], edi
jmp 0x140930b
movups xmm0, xmmword [str.PROTECTED]
movups xmmword [ebp - 0x100], xmm0
test edx, edx
je 0x1409382
mov ebx, dword [ebp - 0x24]
mov edi, edx
add ebx, 0xfffffff1
add ebx, edx
cmp edx, ebx
jae 0x1409382
mov esi, edx
lea eax, [ebp - 0x100]
sub esi, eax
xor eax, eax
nop word [eax + eax]
lea ecx, [ebp - 0x100]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409378
cmp dl, byte [ecx + esi]
jne 0x1409475
inc eax
cmp eax, 0xf
jb 0x1409360
test edi, edi
jne 0x14093d8
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1409458
mov ebx, dword [ebp - 0x20]
mov edi, eax
add ebx, 0xfffffff1
add ebx, eax
cmp eax, ebx
jae 0x1409458
mov esi, eax
lea eax, [ebp - 0x100]
sub esi, eax
nop dword [eax]
xor eax, eax
lea ecx, [ebp - 0x100]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14093ca
cmp dl, byte [ecx + esi]
jne 0x1409484
inc eax
cmp eax, 0xf
jb 0x14093b2
test edi, edi
je 0x1409458
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff4
mov eax, dword [0x1586b94]
add ebx, ecx
movq xmm0, qword [str.hh]
mov dword [ebp - 0x8c], eax
mov al, byte [0x1586b98]
movq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x93], edi
mov edi, ecx
mov byte [ebp - 0x88], al
cmp ecx, ebx
jae 0x1409458
mov esi, ecx
lea eax, [ebp - 0x94]
sub esi, eax
nop
xor eax, eax
lea ecx, [ebp - 0x94]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409436
cmp dl, byte [ecx + esi]
jne 0x1409490
inc eax
cmp eax, 0xc
jb 0x1409422
test edi, edi
je 0x1409458
push 0x140a1f0
push 0x500
push edi
call fcn.0140c3f0
add esp, 0xc
mov dword [0x15bcef0], eax
cmp dword [0x15bcef0], 0
jne 0x1409498
push str.MH_LoadEngine:_Failed_to_locate_Cvar_DirectSet
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1409355
jmp 0x1409382
inc edi
inc esi
cmp edi, ebx
jb 0x14093b0
jmp 0x1409458
inc edi
inc esi
cmp edi, ebx
jb 0x1409420
jmp 0x1409458
mov eax, dword [0x15bbec4]
push 0
push 0
push 0x140a270
push 0x150
push dword [eax + 0x1e4]
call fcn.0140c840
add esp, 0x14
cmp dword [0x15bbe7c], 0
jne 0x1409666
movups xmm0, xmmword [str.Cvar_Set:_variable__s_not_found_n]
mov al, byte [0x1586bec]
mov byte [ebp - 0x168], al
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0xd], 0
movups xmmword [ebp - 0x188], xmm0
movups xmm0, xmmword [0x1586bdc]
movups xmmword [ebp - 0x178], xmm0
test eax, eax
je 0x1409534
mov ebx, dword [ebp - 0x24]
mov edi, eax
add ebx, 0xffffffe0
add ebx, eax
cmp eax, ebx
jae 0x1409534
mov esi, eax
lea eax, [ebp - 0x188]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0x188]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x140952a
cmp dl, byte [esi + ecx]
jne 0x1409623
inc eax
cmp eax, 0x20
jb 0x1409512
test edi, edi
jne 0x1409588
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x140963c
mov ebx, dword [ebp - 0x20]
mov edi, eax
add ebx, 0xffffffe0
add ebx, eax
cmp eax, ebx
jae 0x140963c
mov esi, eax
lea eax, [ebp - 0x188]
sub esi, eax
nop dword [eax + eax]
xor eax, eax
lea ecx, [ebp - 0x188]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x140957a
cmp dl, byte [esi + ecx]
jne 0x1409632
inc eax
cmp eax, 0x20
jb 0x1409562
test edi, edi
je 0x140963c
mov eax, dword [0x1586bf8]
movq xmm0, qword [0x1586bf0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xbc], eax
mov ax, word [0x1586bfc]
movq qword [ebp - 0xc4], xmm0
mov dword [ebp - 0xc3], edi
mov edi, ecx
mov word [ebp - 0xb8], ax
nop dword [eax + eax]
test edi, edi
je 0x1409656
mov ebx, dword [ebp - 4]
add ebx, 0xfffffff3
add ebx, ecx
cmp edi, ebx
jae 0x1409656
mov esi, edi
lea eax, [ebp - 0xc4]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0xc4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14095f8
cmp dl, byte [esi + ecx]
jne 0x1409650
inc eax
cmp eax, 0xd
jb 0x14095e4
test edi, edi
je 0x1409656
lea eax, [ebp - 0xd]
add edi, 0xd
push eax
push 0
push 0x140a2f0
push 0x80
push edi
call fcn.0140c840
mov ecx, dword [ebp - 8]
add esp, 0x14
jmp 0x14095c0
inc edi
inc esi
cmp edi, ebx
jb 0x1409510
jmp 0x1409534
inc edi
inc esi
cmp edi, ebx
jb 0x1409560
push str.MH_LoadEngine:_Failed_to_locate_call_inside_Cvar_Set
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x14095e2
cmp byte [ebp - 0xd], 0
je 0x140963c
mov dword [0x15bbe7c], 0x15bcf10
mov eax, dword [0x15bcef8]
cmp eax, 2
je 0x140973f
cmp eax, 1
je 0x140973f
cmp eax, 4
je 0x140973f
cmp dword [0x15bcee0], 0
je 0x1409a5b
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff4
mov eax, dword [0x1586c80]
add ebx, ecx
movq xmm0, qword [0x1586c78]
mov edi, ecx
mov dword [ebp - 0xe8], eax
mov al, byte [0x1586c84]
movq qword [ebp - 0xf0], xmm0
mov byte [ebp - 0xe4], al
cmp ecx, ebx
jae 0x1409845
mov esi, ecx
lea eax, [ebp - 0xf0]
sub esi, eax
nop dword [eax + eax]
xor eax, eax
lea ecx, [ebp - 0xf0]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14096fa
cmp dl, byte [ecx + esi]
jne 0x1409838
inc eax
cmp eax, 0xc
jb 0x14096e2
test edi, edi
je 0x1409842
lea ecx, [edi + 5]
test ecx, ecx
jne 0x1409718
mov ecx, dword [0x15bd4d0]
add ecx, 5
mov dword [0x15bd4d0], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x1409900
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x14098f1
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409914
mov eax, dword [0x1586c38]
mov ecx, dword [ebp - 8]
mov ebx, ecx
mov dword [ebp - 0x3c], eax
movzx eax, word [0x1586c3c]
mov word [ebp - 0x38], ax
mov eax, dword [0x1586c40]
mov dword [ebp - 0x34], eax
movzx eax, word [0x1586c44]
mov word [ebp - 0x30], ax
mov al, byte [0x1586c46]
mov byte [ebp - 0x2e], al
test ebx, ebx
je 0x14097f0
mov edi, dword [ebp - 4]
add edi, 0xfffffffb
add edi, ecx
cmp ebx, edi
jae 0x14097f0
mov esi, ebx
lea eax, [ebp - 0x3c]
sub esi, eax
nop dword [eax]
xor eax, eax
lea ecx, [ebp - 0x3c]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14097a3
cmp dl, byte [esi + ecx]
jne 0x14097ea
inc eax
cmp eax, 5
jb 0x1409792
test ebx, ebx
je 0x14097f0
lea edi, [ebx - 0x50]
test edi, edi
je 0x14097e2
lea eax, [edi + 0x4a]
mov dword [ebp - 0x14], eax
cmp edi, eax
jae 0x14097e2
mov esi, edi
lea eax, [ebp - 0x34]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0x34]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14097d8
cmp dl, byte [ecx + esi]
jne 0x1409811
inc eax
cmp eax, 6
jb 0x14097c7
test edi, edi
jne 0x1409823
mov ecx, dword [ebp - 8]
add ebx, 5
jmp 0x1409772
inc ebx
inc esi
cmp ebx, edi
jb 0x1409790
mov eax, dword [0x15bcee0]
test eax, eax
jne 0x1409693
push str.MH_LoadEngine:_Failed_to_locate_LoadBlobFile
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, dword [ebp - 0x14]
jb 0x14097c5
mov ecx, dword [ebp - 8]
add ebx, 5
jmp 0x1409772
push 0x300
push edi
call fcn.0140bcd0
add esp, 8
mov dword [0x15bcee0], eax
jmp 0x14097f5
inc edi
inc esi
cmp edi, ebx
jb 0x14096e0
mov ecx, dword [ebp - 8]
mov eax, dword [str.5]
mov edi, ecx
mov ebx, dword [ebp - 4]
movups xmm0, xmmword [0x1586c88]
mov dword [ebp - 0x124], eax
add ebx, 0xffffffeb
mov ax, word [0x1586c9c]
add ebx, ecx
mov word [ebp - 0x120], ax
mov eax, dword [0x15bbec8]
mov dword [ebp - 0x123], eax
movups xmmword [ebp - 0x134], xmm0
cmp ecx, ebx
jae 0x1409936
mov esi, ecx
lea eax, [ebp - 0x134]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0x134]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14098ac
cmp dl, byte [ecx + esi]
jne 0x1409929
inc eax
cmp eax, 0x15
jb 0x1409894
test edi, edi
je 0x1409933
lea ecx, [edi + 5]
test ecx, ecx
jne 0x14098ca
mov ecx, dword [0x15bd4d0]
add ecx, 5
mov dword [0x15bd4d0], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x14099df
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x14099d4
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14099ef
cmp al, 0x25
jne 0x1409a36
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409914
cmp al, 0xe8
je 0x140990c
cmp al, 0xe9
jne 0x1409a36
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd4d0], ecx
cmp edx, 1
jb 0x1409720
jmp 0x1409a38
inc edi
inc esi
cmp edi, ebx
jb 0x1409892
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov edi, ecx
mov ax, word [0x1586cb4]
add ebx, 0xffffffeb
movups xmm0, xmmword [str.h]
add ebx, ecx
mov word [ebp - 0x138], ax
mov eax, dword [0x15bbec8]
mov dword [ebp - 0x13c], eax
movups xmmword [ebp - 0x14c], xmm0
cmp ecx, ebx
jae 0x1409a3e
mov esi, ecx
lea eax, [ebp - 0x14c]
sub esi, eax
nop dword [eax + eax]
xor eax, eax
lea ecx, [ebp - 0x14c]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409996
cmp dl, byte [ecx + esi]
jne 0x1409a01
inc eax
cmp eax, 0x15
jb 0x1409982
test edi, edi
je 0x1409a3e
lea ecx, [edi + 5]
test ecx, ecx
jne 0x14099b4
mov ecx, dword [0x15bd4d0]
add ecx, 5
mov dword [0x15bd4d0], ecx
xor edx, edx
nop dword [eax]
mov al, byte [ecx]
cmp al, 0xff
jne 0x1409a18
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1409a0d
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409a28
cmp al, 0x25
jne 0x1409a36
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14099ef
cmp al, 0xe8
je 0x14099e7
cmp al, 0xe9
jne 0x1409a36
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd4d0], ecx
cmp edx, 1
jb 0x14098d2
jmp 0x1409a38
inc edi
inc esi
cmp edi, ebx
jb 0x1409980
jmp 0x1409a3e
cmp al, 0x25
jne 0x1409a36
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409a28
cmp al, 0xe8
je 0x1409a20
cmp al, 0xe9
jne 0x1409a36
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd4d0], ecx
cmp edx, 1
jb 0x14099c0
jmp 0x1409a38
xor ecx, ecx
mov dword [0x15bbe6c], ecx
cmp dword [0x15bbe6c], 0
jne 0x1409a5b
push str.MH_LoadEngine:_Failed_to_locate_FreeBlob
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x15bcef8], 3
movq xmm0, qword [0x1586a54]
mov eax, dword [0x1586a5c]
movq qword [ebp - 0xd4], xmm0
movups xmm0, xmmword [0x1586ce4]
mov dword [ebp - 0xcc], eax
movzx eax, word [0x1586a60]
movups xmmword [ebp - 0x164], xmm0
mov word [ebp - 0xc8], ax
movups xmm0, xmmword [str.Couldnt_get_client_library_studio_model_rendering]
mov eax, dword [0x1586cf4]
mov dword [ebp - 0x154], eax
movzx eax, word [0x1586cf8]
movups xmmword [ebp - 0x1e8], xmm0
mov word [ebp - 0x150], ax
movups xmm0, xmmword [0x1586d0c]
movzx eax, word [0x1586d2c]
mov word [ebp - 0x1b8], ax
mov al, byte [0x1586d2e]
movups xmmword [ebp - 0x1d8], xmm0
mov byte [ebp - 0x1b6], al
movups xmm0, xmmword [0x1586d1c]
movups xmmword [ebp - 0x1c8], xmm0
movups xmm0, xmmword [str.Couldnt_get_client_.dll_studio_model_rendering]
movups xmmword [ebp - 0x218], xmm0
movups xmm0, xmmword [0x1586d40]
movups xmmword [ebp - 0x208], xmm0
movups xmm0, xmmword [0x1586d50]
movups xmmword [ebp - 0x1f8], xmm0
jne 0x1409b2e
lea eax, [ebp - 0x1e8]
mov esi, 0x32
jmp 0x1409b39
lea eax, [ebp - 0x218]
mov esi, 0x2f
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
test edx, edx
je 0x1409b71
mov ebx, edx
sub ebx, esi
add ebx, dword [ebp - 0x24]
cmp edx, ebx
jae 0x1409b71
mov edi, edx
sub edi, eax
xor ecx, ecx
mov dl, byte [eax]
cmp dl, 0x2a
je 0x1409b64
cmp dl, byte [edi + eax]
jne 0x1409c28
inc ecx
inc eax
cmp ecx, esi
jb 0x1409b54
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x1409bc7
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x1409caa
mov edi, ecx
mov dword [ebp - 0xc], ecx
sub edi, esi
add edi, dword [ebp - 0x20]
cmp ecx, edi
jae 0x1409caa
mov ebx, dword [ebp - 0x14]
sub ecx, ebx
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, ebx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, 0x2a
je 0x1409bb6
mov ebx, dword [ebp - 0x1c]
cmp dl, byte [ebx + eax]
mov ebx, dword [ebp - 0x14]
jne 0x1409c40
inc ecx
inc eax
cmp ecx, esi
jb 0x1409ba0
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1409caa
mov dword [ebp - 0xd3], eax
nop dword [eax]
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff3
add ebx, ecx
mov edi, ecx
cmp ecx, ebx
jae 0x1409caa
mov esi, ecx
lea eax, [ebp - 0xd4]
sub esi, eax
nop
xor eax, eax
lea ecx, [ebp - 0xd4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409c06
cmp dl, byte [ecx + esi]
jne 0x1409c54
inc eax
cmp eax, 0xd
jb 0x1409bf2
test edi, edi
je 0x1409caa
add edi, 0xffffffb0
jne 0x1409c5c
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff3
mov edi, ecx
add ebx, ecx
jmp 0x1409be5
mov edx, dword [ebp - 0xc]
inc edi
mov eax, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, ebx
jb 0x1409b52
jmp 0x1409b71
mov edx, dword [ebp - 0xc]
inc dword [ebp - 0x1c]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, edi
jb 0x1409b96
jmp 0x1409caa
inc edi
inc esi
cmp edi, ebx
jb 0x1409bf0
jmp 0x1409caa
lea ebx, [edi + 0x3b]
cmp edi, ebx
jae 0x1409ccd
mov esi, edi
lea eax, [ebp - 0x164]
sub esi, eax
nop dword [eax]
xor eax, eax
lea ecx, [ebp - 0x164]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409c86
cmp dl, byte [ecx + esi]
jne 0x1409cc7
inc eax
cmp eax, 0x15
jb 0x1409c72
test edi, edi
je 0x1409bd0
mov eax, dword [edi + 5]
mov dword [0x15bbe60], eax
mov eax, dword [edi + 0xa]
mov dword [0x15bced0], edi
mov dword [0x15bbe70], eax
cmp dword [0x15bced0], 0
jne 0x1409cdf
push str.MH_LoadEngine:_Failed_to_locate_ClientDLL_CheckStudioInterface
call fcn.01405ce0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1409c70
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff3
mov edi, ecx
add ebx, ecx
jmp 0x1409be5
mov esi, dword [0x15bbecc]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x14], 0
mov eax, dword [esi]
mov dword [0x15bbe84], eax
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push esi
mov dword [0x15bbea8], 0x1408070
call edi
test eax, eax
je 0x1409d24
lea eax, [ebp - 0x14]
mov dword [esi], 0x15bbea8
push eax
push dword [ebp - 0x14]
push 4
push esi
call edi
mov ax, word [0x1586db4]
mov esi, dword [0x15bced0]
movups xmm0, xmmword [0x1586da0]
mov ebx, dword [0x1586db0]
mov word [ebp - 0x104], ax
mov eax, 0x1408030
sub eax, esi
mov dword [ebp - 0x20], 0
sub eax, 7
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x115], eax
lea eax, [ebp - 0x20]
push eax
push 0x40
push 0x15
push esi
call edi
test eax, eax
je 0x1409d93
movups xmm0, xmmword [ebp - 0x118]
mov al, byte [ebp - 0x104]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], ebx
mov byte [esi + 0x14], al
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
push 0x15
push esi
call edi
mov eax, dword [0x15bcee0]
test eax, eax
je 0x1409dac
push 0
push 0x1405d60
push eax
call fcn.0140a5f0
add esp, 0xc
mov eax, dword [0x15bbe6c]
test eax, eax
je 0x1409dc5
push 0
push 0x1405d70
push eax
call fcn.0140a5f0
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.01406980
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.014070a0
mov esi, dword [0x15bcee4]
mov byte [0x15bbe68], 1
test esi, esi
je 0x1409e22
nop dword [eax]
mov eax, dword [esi + 0x3c]
sub eax, 2
je 0x1409e13
sub eax, 1
je 0x1409e02
sub eax, 1
jne 0x1409e1b
mov ecx, dword [esi + 0x38]
mov eax, dword [0x15bceec]
mov edx, dword [ecx]
push dword [eax]
call dword [edx + 0xc]
jmp 0x1409e1b
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x1409df0
push 8
push dword [0x15bbe80]
xor edx, edx
xor ecx, ecx
push dword [0x15bcee8]
call fcn.01403880
add esp, 0xc
call fcn.01407e50
push 0x1585eb0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
test esi, esi
je 0x1408ce9
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.LdrRegisterDllNotification
push esi
call edi
test eax, eax
je 0x1409e80
push 0x15bcf54
push 0
push 0x1403b30
push 0
call eax
test eax, eax
jns 0x1408ce9
push str.LdrLoadDll
push esi
call edi
mov dword [0x15bbe4c], eax
test eax, eax
je 0x1408ce9
call fcn.01401610
sub esp, 0xc
mov edx, 0x1403ab0
mov ecx, 0x15bbe4c
call fcn.01401950
call fcn.014016a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret