Function at 0x14081f0
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.014080c0
mov eax, dword [0x15bbf3c]
test eax, eax
jne 0x140821e
push 0x218
call fcn.01428355
add esp, 4
mov dword [0x15bbf3c], eax
push 0x218
push 0
push eax
call fcn.0142aac0
mov eax, dword [0x15bbf38]
add esp, 0xc
test eax, eax
jne 0x1408249
push 0xac
call fcn.01428355
add esp, 4
mov dword [0x15bbf38], eax
push 0xac
push 0
push eax
call fcn.0142aac0
add esp, 0xc
mov dword [0x15bcf60], 0
mov dword [0x15bbef8], 0
mov dword [0x15bcf54], 0
mov dword [0x15bbefc], 0
push 0x1f
push dword [ebp + 8]
mov byte [0x15bbee1], 0
push 0x15bbf00
call fcn.01435550
mov eax, dword [0x15bbec8]
add esp, 0xc
mov dword [0x15bbf28], eax
mov eax, dword [0x15bbed0]
mov byte [0x15bbf1f], 0
mov dword [0x15bbf24], 0x1590180
mov dword [0x15bbf2c], 0x15905bc
mov dword [0x15bbf30], eax
mov dword [0x15bbf34], 0x67
test esi, esi
je 0x1408316
push 0x1c
lea eax, [ebp - 0x11c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
jne 0x14082ef
xor ecx, ecx
jmp 0x1408304
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 [0x15bcf74], esi
add eax, esi
jmp 0x1408330
mov ecx, dword [0xc]
mov edx, 1
mov dword [0x15bbef0], 0
mov eax, 0x1c
mov eax, dword [eax]
mov dword [0x15bbef8], eax
lea eax, [ebp - 0x14]
push eax
push str..text
push ecx
mov dword [0x15bcf60], ecx
mov dword [0x15bcf70], edx
mov dword [ebp - 0x14], 0
call fcn.0140ba10
mov ecx, dword [0x15bcf60]
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x1408374
mov edi, dword [0x15bbef8]
mov dword [ebp - 8], ecx
jmp 0x1408377
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x14]
mov dword [ebp - 4], edi
push eax
push 0x15862c8
push ecx
mov dword [ebp - 0x14], 0
call fcn.0140ba10
mov ecx, dword [0x15bcf60]
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x14083ae
mov esi, dword [0x15bbef8]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x24], esi
jmp 0x14083b4
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0x15862d4
push ecx
call fcn.0140ba10
mov ebx, dword [0x15bcf60]
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x14083e4
mov eax, dword [0x15bbef8]
mov dword [ebp - 0x1c], ebx
jmp 0x14083e7
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
test eax, eax
je 0x140845b
add edi, 0xfffffff2
mov ecx, eax
add edi, eax
cmp eax, edi
jae 0x140845b
mov esi, eax
sub esi, 0x1586654
xor eax, eax
nop word [eax + eax]
mov dl, byte [eax + 0x1586654]
cmp dl, 0x2a
je 0x1408424
cmp dl, byte [esi + eax + 0x1586654]
jne 0x1408455
inc eax
cmp eax, 0xe
jb 0x1408410
test ecx, ecx
je 0x140845b
mov dword [0x15bd548], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x140855a
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x140854f
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x140856a
inc ecx
inc esi
cmp ecx, edi
jb 0x1408404
mov ecx, dword [0x15bd548]
cmp dword [0x15bcf7c], 0
jne 0x1408603
test ebx, ebx
je 0x1408631
mov edi, dword [0x15bbef8]
mov esi, ebx
add edi, 0xfffffff5
add edi, esi
cmp esi, edi
jae 0x1408631
mov edx, esi
sub edx, str.Exe_build:
xor eax, eax
mov cl, byte [eax + str.Exe_build:]
cmp cl, 0x2a
je 0x14084ad
cmp cl, byte [edx + eax + str.Exe_build:]
jne 0x1408592
inc eax
cmp eax, 0xb
jb 0x1408495
test esi, esi
je 0x1408631
mov eax, dword [0x1586678]
movq xmm0, qword [0x1586670]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x5c], eax
mov al, byte [0x158667c]
movq qword [ebp - 0x64], xmm0
mov byte [ebp - 0x58], al
mov dword [ebp - 0x5d], esi
test edx, edx
je 0x1408631
mov edi, dword [ebp - 4]
mov ecx, edx
add edi, 0xfffffff4
add edi, edx
cmp edx, edi
jae 0x1408631
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 0x1408517
cmp bl, byte [esi + edx]
jne 0x14085b0
inc eax
cmp eax, 0xc
jb 0x1408502
test ecx, ecx
je 0x1408631
mov dword [0x15bd548], ecx
xor edx, edx
nop dword [eax]
mov al, byte [ecx]
cmp al, 0xff
jne 0x14085d9
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x14085ce
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14085e9
cmp al, 0x25
jne 0x1408586
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x140856a
cmp al, 0xe8
je 0x1408562
cmp al, 0xe9
jne 0x1408586
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd548], ecx
cmp edx, 1
jb 0x1408436
mov eax, ecx
mov dword [0x15bcf7c], eax
jmp 0x1408461
xor eax, eax
mov dword [0x15bcf7c], eax
jmp 0x1408461
inc esi
inc edx
cmp esi, edi
jb 0x1408493
push str.MH_LoadEngine:_Failed_to_locate_buildnumber
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc ecx
inc esi
cmp ecx, edi
jb 0x1408500
push str.MH_LoadEngine:_Failed_to_locate_buildnumber
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 0x25
jne 0x1408627
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14085e9
cmp al, 0xe8
je 0x14085e1
cmp al, 0xe9
jne 0x1408627
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd548], ecx
cmp edx, 1
jb 0x1408530
mov dword [0x15bcf7c], ecx
test ecx, ecx
je 0x1408631
cmp dword [0x15bcf70], 0
jne 0x140880b
mov eax, dword [0x15bcf74]
test eax, eax
je 0x1408645
push 0x1453dd4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1408660
mov dword [0x15bcf7c], 0
push str.MH_LoadEngine:_Failed_to_locate_buildnumber
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x15bbef0]
test ecx, ecx
je 0x140865e
mov ecx, dword [ecx + 8]
mov eax, dword [ecx + 8]
add ecx, 0xc
add eax, ecx
call eax
jmp 0x1408660
xor eax, eax
push 0
push str.SCEngineClient002
call eax
add esp, 8
test eax, eax
je 0x140868a
mov eax, dword [0x15bcf60]
mov ecx, dword [0x15bd548]
mov dword [0x15bcf70], 3
jmp 0x140881d
call dword [0x15bcf7c]
cmp eax, 0x2328
jle 0x14087af
mov dword [0x15bcf70], 4
mov eax, dword [0x15bcf60]
mov ecx, dword [0x15bd548]
test eax, eax
je 0x140890c
mov edi, eax
mov eax, dword [0x15bbef8]
lea ebx, [eax - 0x2f]
add ebx, edi
cmp edi, ebx
jae 0x1408911
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 0x14086f8
cmp dl, byte [esi + eax + str.could_not_link_client.dll_function_Initialize_n]
jne 0x1408a89
inc eax
cmp eax, 0x2f
jb 0x14086e0
test edi, edi
je 0x140890c
mov eax, dword [0x158671c]
movq xmm0, qword [0x1586714]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x7c], eax
mov al, byte [0x1586720]
movq qword [ebp - 0x84], xmm0
mov byte [ebp - 0x78], al
mov dword [ebp - 0x83], edi
test edx, edx
je 0x1408a3c
lea eax, [ebx - 0xc]
mov edi, edx
add eax, edx
cmp edx, eax
jae 0x1408a3c
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 0x140876d
cmp bl, byte [esi + edx]
jne 0x1408a98
inc eax
cmp eax, 0xc
jb 0x1408755
test edi, edi
je 0x140890c
lea edx, [edi + 5]
test edx, edx
jne 0x1408785
lea edx, [ecx + 5]
mov dword [0x15bd548], edx
xor ecx, ecx
nop dword [eax]
mov al, byte [edx]
cmp al, 0xff
jne 0x1408ac0
mov al, byte [edx + 1]
cmp al, 0x15
jne 0x1408ab5
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408ad0
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1408805
mov edi, dword [ebp - 0x24]
mov esi, eax
add edi, 0xffffffe3
add edi, eax
cmp eax, edi
jae 0x1408805
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 0x14087e6
cmp cl, byte [edx + eax + str.Half_Life__i__s__hw_build__d_]
jne 0x14087ff
inc eax
cmp eax, 0x1d
jb 0x14087d2
test esi, esi
je 0x1408805
mov dword [0x15bcf70], 2
jmp 0x14086a5
inc esi
inc edx
cmp esi, edi
jb 0x14087d0
mov ecx, dword [0x15bd548]
cmp dword [0x15bcf70], 3
mov eax, dword [0x15bcf60]
jne 0x14086b0
test eax, eax
je 0x140890c
mov edi, eax
mov eax, dword [0x15bbef8]
lea ebx, [eax - 0x33]
add ebx, edi
cmp edi, ebx
jae 0x1408911
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 0x140885b
cmp dl, byte [esi + eax + str.Couldnt_link_client_library_function__Initialize__n]
jne 0x1408902
inc eax
cmp eax, 0x33
jb 0x1408843
test edi, edi
je 0x140890c
mov eax, dword [0x158671c]
movq xmm0, qword [0x1586714]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x6c], eax
mov al, byte [0x1586720]
movq qword [ebp - 0x74], xmm0
mov byte [ebp - 0x68], al
mov dword [ebp - 0x73], edi
test edx, edx
je 0x1408a3c
lea eax, [ebx - 0xc]
mov edi, edx
add eax, edx
cmp edx, eax
jae 0x1408a3c
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 0x14088c7
cmp bl, byte [esi + edx]
jne 0x1408a29
inc eax
cmp eax, 0xc
jb 0x14088b2
test edi, edi
je 0x140890c
lea edx, [edi + 5]
test edx, edx
jne 0x14088db
lea edx, [ecx + 5]
mov dword [0x15bd548], edx
xor ecx, ecx
mov al, byte [edx]
cmp al, 0xff
jne 0x1408a51
mov al, byte [edx + 1]
cmp al, 0x15
jne 0x1408a46
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408a61
inc edi
inc esi
cmp edi, ebx
jb 0x1408841
mov eax, dword [0x15bbef8]
mov ebx, dword [ebp - 4]
mov ecx, dword [0x15bcf60]
test ecx, ecx
je 0x1408a08
mov esi, ecx
lea edi, [esi - 0xb]
add edi, eax
cmp esi, edi
jae 0x1408a08
mov edx, esi
sub edx, str.ScreenShake
nop dword [eax]
xor eax, eax
mov cl, byte [eax + str.ScreenShake]
cmp cl, 0x2a
je 0x140895a
cmp cl, byte [edx + eax + str.ScreenShake]
jne 0x1408aeb
inc eax
cmp eax, 0xb
jb 0x1408942
test esi, esi
je 0x1408a02
mov eax, dword [0x1586768]
movq xmm0, qword [0x1586760]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 8]
movq qword [ebp - 0xe0], xmm0
mov dword [ebp - 0xda], esi
test eax, eax
je 0x1408a02
add ebx, 0xfffffff5
mov edi, eax
add ebx, eax
cmp eax, ebx
jae 0x1408a02
mov esi, eax
lea eax, [ebp - 0xe0]
sub esi, eax
xor eax, eax
nop word [eax + eax]
lea ecx, [ebp - 0xe0]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14089c8
cmp dl, byte [esi + ecx]
jne 0x1408afa
inc eax
cmp eax, 0xb
jb 0x14089b0
test edi, edi
je 0x1408a02
push 0x1409e60
push 0x200
push edi
call fcn.0140c2b0
add esp, 0xc
test eax, eax
je 0x1408a02
push 0
push 0
push 0x1409ee0
push 0x30
push edi
mov dword [0x15bcf80], eax
call fcn.0140c700
add esp, 0x14
mov ecx, dword [0x15bcf60]
cmp dword [0x15bcf80], 0
jne 0x1408b09
push str.MH_LoadEngine:_Failed_to_locate_ClientDLL_Init
call fcn.01405cb0
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 0x14088b0
mov eax, dword [0x15bbef8]
jmp 0x1408914
cmp al, 0x25
jne 0x1408a7c
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408a61
cmp al, 0xe8
je 0x1408a59
cmp al, 0xe9
jne 0x1408a7c
mov eax, dword [edx + 1]
add edx, 5
add edx, eax
inc ecx
mov dword [0x15bd548], edx
cmp ecx, 1
jb 0x14088e3
mov dword [0x15bcf78], edx
jmp 0x140890c
xor edx, edx
mov dword [0x15bcf78], edx
jmp 0x140890c
inc edi
inc esi
cmp edi, ebx
jb 0x14086d4
jmp 0x140890c
mov ebx, dword [ebp - 4]
inc edi
inc esi
lea eax, [ebx - 0xc]
add eax, dword [ebp - 8]
cmp edi, eax
jb 0x1408753
mov eax, dword [0x15bbef8]
jmp 0x1408914
cmp al, 0x25
jne 0x1408a7c
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408ad0
cmp al, 0xe8
je 0x1408ac8
cmp al, 0xe9
jne 0x1408a7c
mov eax, dword [edx + 1]
add edx, 5
add edx, eax
inc ecx
mov dword [0x15bd548], edx
cmp ecx, 1
jb 0x1408790
mov dword [0x15bcf78], edx
jmp 0x140890c
inc esi
inc edx
cmp esi, edi
jb 0x1408940
jmp 0x1408a02
inc edi
inc esi
cmp edi, ebx
jb 0x14089a5
jmp 0x1408a02
cmp dword [0x15bcf64], 0
jne 0x1408b26
push str.MH_LoadEngine:_Failed_to_locate_ppEngfuncs
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x15bbf44], 0
jne 0x1408b43
push str.MH_LoadEngine:_Failed_to_locate_ppExportFuncs
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x1408c8c
mov edi, dword [0x15bbef8]
mov esi, ecx
add edi, 0xfffffff3
add edi, esi
cmp esi, edi
jae 0x1408c8c
mov edx, esi
sub edx, str.cl_righthand
nop dword [eax + eax]
xor eax, eax
mov cl, byte [eax + str.cl_righthand]
cmp cl, 0x2a
je 0x1408b8a
cmp cl, byte [eax + edx + str.cl_righthand]
jne 0x1408c82
inc eax
cmp eax, 0xd
jb 0x1408b72
test esi, esi
je 0x1408c8c
mov eax, dword [0x1586808]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], eax
mov ax, word [0x158680c]
mov word [ebp - 0x28], ax
mov al, byte [0x158680e]
mov byte [ebp - 0x26], al
mov dword [ebp - 0x2b], esi
test ecx, ecx
je 0x1408caa
mov ebx, dword [ebp - 4]
mov edi, ecx
add ebx, 0xfffffffa
add ebx, ecx
cmp ecx, ebx
jae 0x1408caa
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 0x1408bf7
cmp dl, byte [ecx + esi]
jne 0x1408ca0
inc eax
cmp eax, 6
jb 0x1408be2
test edi, edi
je 0x1408caa
lea esi, [edi - 0x109]
cmp edi, esi
jbe 0x1408c5f
mov edx, edi
sub edx, 0x1586810
nop word [eax + eax]
xor eax, eax
mov cl, byte [eax + 0x1586810]
cmp cl, 0x2a
je 0x1408c3a
cmp cl, byte [eax + edx + 0x1586810]
jne 0x1408cbe
inc eax
cmp eax, 9
jb 0x1408c22
test edi, edi
je 0x1408c5f
push dword [edi + 1]
lea eax, [edi + 9]
push 0
push 0x1409f40
push 0x100
push eax
call fcn.0140c700
add esp, 0x14
cmp dword [0x15bbf40], 0
mov ebx, dword [0x15bcf60]
jne 0x1408cca
push str.MH_LoadEngine:_Failed_to_locate_g_hClientModule
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc esi
inc edx
cmp esi, edi
jb 0x1408b70
push str.MH_LoadEngine:_Failed_to_locate_cl_righthand
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1408be0
push str.MH_LoadEngine:_Failed_to_locate_push_cl_righthand_string
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
dec edi
dec edx
cmp edi, esi
ja 0x1408c20
jmp 0x1408c5f
mov edx, dword [0x15bbef8]
test ebx, ebx
je 0x1408db4
mov esi, ebx
lea edi, [edx - 0xf]
add edi, esi
cmp esi, edi
jae 0x1408db4
mov edx, esi
sub edx, str.VClientVGUI001
nop
xor eax, eax
mov cl, byte [eax + str.VClientVGUI001]
cmp cl, 0x2a
je 0x1408d0a
cmp cl, byte [eax + edx + str.VClientVGUI001]
jne 0x1408dd5
inc eax
cmp eax, 0xf
jb 0x1408cf2
test esi, esi
je 0x1408dae
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 0x1408da8
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 0x1408d58
cmp dl, byte [ecx + esi]
jne 0x1408de1
inc eax
cmp eax, 7
jb 0x1408d43
test edi, edi
je 0x1408da8
lea ebx, [edi - 0x109]
mov esi, edi
cmp edi, ebx
jbe 0x1408df3
mov edx, edi
sub edx, 0x15868c8
nop word [eax + eax]
xor eax, eax
mov cl, byte [eax + 0x15868c8]
cmp cl, 0x2a
je 0x1408d96
cmp cl, byte [eax + edx + 0x15868c8]
jne 0x1408ded
inc eax
cmp eax, 9
jb 0x1408d82
test edi, edi
je 0x1408df3
mov eax, dword [edi + 1]
mov dword [0x15bbedc], eax
mov ebx, dword [0x15bcf60]
mov edx, dword [0x15bbef8]
cmp dword [0x15bbedc], 0
jne 0x1408e44
push str.MH_LoadEngine:_Failed_to_locate_ClientFactory
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc esi
inc edx
cmp esi, edi
jb 0x1408cf0
jmp 0x1408dae
inc edi
inc esi
cmp edi, ebx
jb 0x1408d41
jmp 0x1408da8
dec edi
dec edx
cmp edi, ebx
ja 0x1408d80
cmp esi, ebx
jbe 0x1408da8
mov edx, esi
sub edx, 0x15868d4
nop
xor eax, eax
mov cl, byte [eax + 0x15868d4]
cmp cl, 0x2a
je 0x1408e16
cmp cl, byte [eax + edx + 0x15868d4]
jne 0x1408e39
inc eax
cmp eax, 9
jb 0x1408e02
mov ebx, dword [0x15bcf60]
mov edx, dword [0x15bbef8]
test esi, esi
je 0x1408db4
mov eax, dword [esi + 2]
mov dword [0x15bbedc], eax
jmp 0x1408db4
dec esi
dec edx
cmp esi, ebx
ja 0x1408e00
jmp 0x1408da8
cmp dword [0x15bcf70], 3
mov ecx, 0x86
mov eax, dword [0x15bcf64]
mov edi, dword [0x15bbf3c]
mov esi, dword [eax]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x15bbf3c]
mov eax, dword [eax + 0x198]
mov dword [0x15bcf6c], eax
jne 0x1408fa6
test ebx, ebx
je 0x1408f74
lea esi, [edx - 0xc]
add esi, ebx
cmp ebx, esi
jae 0x1408f74
mov edx, ebx
sub edx, str._fullscreen
xor eax, eax
mov cl, byte [eax + str._fullscreen]
cmp cl, 0x2a
je 0x1408eac
cmp cl, byte [eax + edx + str._fullscreen]
jne 0x1408f6a
inc eax
cmp eax, 0xc
jb 0x1408e94
test ebx, ebx
je 0x1408f74
movq xmm0, qword [0x1586920]
mov ecx, dword [ebp - 8]
mov edi, ecx
mov eax, dword [0x1586928]
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 [0x158692c]
add ebx, ecx
mov word [ebp - 0x98], ax
cmp ecx, ebx
jae 0x1408f74
mov esi, ecx
lea eax, [ebp - 0xa4]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0xa4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1408f19
cmp dl, byte [ecx + esi]
jne 0x1408f88
inc eax
cmp eax, 0xd
jb 0x1408f05
test edi, edi
je 0x1408f74
add edi, 0xd
je 0x1408f74
lea eax, [ebp - 0x18]
xorps xmm0, xmm0
push eax
push 0
push 0x140a000
push 0x400
push edi
movlpd qword [ebp - 0x18], xmm0
call fcn.0140c700
add esp, 0x14
cmp dword [0x15bcf50], 0
jne 0x1409089
push str.MH_LoadEngine:_Failed_to_locate_g_pVideoMode
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc ebx
inc edx
cmp ebx, esi
jb 0x1408e92
push str.MH_LoadEngine:_Failed_to_locate_VideoMode_SearchBase
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1408f03
push str.MH_LoadEngine:_Failed_to_locate_VideoMode_SearchBase
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x1408f74
lea esi, [edx - 4]
add esi, ebx
cmp ebx, esi
jae 0x1408f74
mov edx, ebx
sub edx, 0x1586930
nop dword [eax + eax]
xor eax, eax
mov cl, byte [eax + 0x1586930]
cmp cl, 0x2a
je 0x1408fd6
cmp cl, byte [eax + edx + 0x1586930]
jne 0x1409051
inc eax
cmp eax, 4
jb 0x1408fc2
test ebx, ebx
je 0x1408f74
movq xmm0, qword [0x1586920]
mov ecx, dword [ebp - 8]
mov edi, ecx
mov eax, dword [0x1586928]
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 [0x158692c]
add ebx, ecx
mov word [ebp - 0xa8], ax
cmp ecx, ebx
jae 0x1408f74
mov esi, ecx
lea eax, [ebp - 0xb4]
sub esi, eax
nop dword [eax]
xor eax, eax
lea ecx, [ebp - 0xb4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409046
cmp dl, byte [ecx + esi]
jne 0x140906f
inc eax
cmp eax, 0xd
jb 0x1409032
jmp 0x1408f1f
inc ebx
inc edx
cmp ebx, esi
jb 0x1408fc0
push str.MH_LoadEngine:_Failed_to_locate_VideoMode_SearchBase
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1409030
push str.MH_LoadEngine:_Failed_to_locate_VideoMode_SearchBase
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [0x15bcf60]
test esi, esi
je 0x14091c7
mov edi, dword [0x15bbef8]
add edi, 0xfffffff8
add edi, esi
cmp esi, edi
jae 0x14091c7
mov edx, esi
sub edx, str.HudText
xor eax, eax
mov cl, byte [eax + str.HudText]
cmp cl, 0x2a
je 0x14090cc
cmp cl, byte [eax + edx + str.HudText]
jne 0x1409174
inc eax
cmp eax, 8
jb 0x14090b4
mov ecx, dword [ebp - 4]
test esi, esi
je 0x14091ca
mov eax, dword [0x15869b4]
lea ebx, [ecx - 0xe]
movq xmm0, qword [str.Ph]
mov dword [ebp - 0x4c], eax
mov ax, word [0x15869b8]
mov word [ebp - 0x48], ax
mov al, byte [0x15869ba]
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 0x14091ca
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 0x1409133
cmp dl, byte [ecx + esi]
jne 0x1409180
inc eax
cmp eax, 0xe
jb 0x1409122
test edi, edi
je 0x14091c7
lea ecx, [edi + 6]
test ecx, ecx
jne 0x1409151
mov ecx, dword [0x15bd548]
add ecx, 5
mov dword [0x15bd548], ecx
xor edx, edx
nop dword [eax]
mov al, byte [ecx]
cmp al, 0xff
jne 0x1409193
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1409188
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14091a3
inc esi
inc edx
cmp esi, edi
jb 0x14090b2
jmp 0x14091c7
inc edi
inc esi
cmp edi, ebx
jb 0x1409120
jmp 0x14091c7
cmp al, 0x25
jne 0x14091b1
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14091a3
cmp al, 0xe8
je 0x140919b
cmp al, 0xe9
jne 0x14091b1
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd548], ecx
cmp edx, 1
jb 0x1409160
jmp 0x14091b3
xor ecx, ecx
push 0
push 0
push 0x140a110
push 0x50
push ecx
call fcn.0140c700
add esp, 0x14
mov ecx, dword [ebp - 4]
cmp dword [0x15bcf84], 0
jne 0x14091e7
push str.MH_LoadEngine:_Failed_to_locate_gClientUserMsgs
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [0x15869ec]
mov al, byte [0x1586a14]
mov edx, dword [ebp - 0xc]
mov edi, edx
movups xmmword [ebp - 0x1b4], xmm0
mov byte [ebp - 0x18c], al
movups xmm0, xmmword [0x15869fc]
movups xmmword [ebp - 0x1a4], xmm0
movq xmm0, qword [0x1586a0c]
movq qword [ebp - 0x194], xmm0
test edi, edi
je 0x14092a5
lea ebx, [ecx - 0x28]
add ebx, edx
cmp edi, ebx
jae 0x14092a5
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 0x1409258
cmp dl, byte [ecx + esi]
jne 0x140929c
inc eax
cmp eax, 0x28
jb 0x1409244
mov edx, dword [ebp - 0xc]
test edi, edi
je 0x14092a5
mov ecx, dword [edi + 4]
cmp ecx, edx
jb 0x1409275
mov eax, dword [ebp - 0x24]
add eax, edx
cmp ecx, eax
jb 0x1409283
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jb 0x1409294
add eax, dword [ebp - 0x20]
cmp ecx, eax
jae 0x1409294
cmp dword [ecx], 0x5f637673
jne 0x1409294
cmp dword [ecx + 4], 0x646162
je 0x14092c3
mov ecx, dword [ebp - 4]
add edi, 0x28
jmp 0x1409223
inc edi
inc esi
cmp edi, ebx
jb 0x1409242
mov edx, dword [ebp - 0xc]
mov edi, dword [0x15bcf4c]
test edi, edi
jne 0x14092cb
push str.MH_LoadEngine:_Failed_to_locate_cl_parsefuncs
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x15bcf4c], edi
jmp 0x14092ab
movups xmm0, xmmword [str.PROTECTED]
movups xmmword [ebp - 0x100], xmm0
test edx, edx
je 0x1409322
mov ebx, dword [ebp - 0x24]
mov edi, edx
add ebx, 0xfffffff1
add ebx, edx
cmp edx, ebx
jae 0x1409322
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 0x1409318
cmp dl, byte [ecx + esi]
jne 0x1409415
inc eax
cmp eax, 0xf
jb 0x1409300
test edi, edi
jne 0x1409378
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x14093f8
mov ebx, dword [ebp - 0x20]
mov edi, eax
add ebx, 0xfffffff1
add ebx, eax
cmp eax, ebx
jae 0x14093f8
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 0x140936a
cmp dl, byte [ecx + esi]
jne 0x1409424
inc eax
cmp eax, 0xf
jb 0x1409352
test edi, edi
je 0x14093f8
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff4
mov eax, dword [0x1586a60]
add ebx, ecx
movq xmm0, qword [str.hh]
mov dword [ebp - 0x8c], eax
mov al, byte [0x1586a64]
movq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x93], edi
mov edi, ecx
mov byte [ebp - 0x88], al
cmp ecx, ebx
jae 0x14093f8
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 0x14093d6
cmp dl, byte [ecx + esi]
jne 0x1409430
inc eax
cmp eax, 0xc
jb 0x14093c2
test edi, edi
je 0x14093f8
push 0x140a190
push 0x500
push edi
call fcn.0140c2b0
add esp, 0xc
mov dword [0x15bcf68], eax
cmp dword [0x15bcf68], 0
jne 0x1409438
push str.MH_LoadEngine:_Failed_to_locate_Cvar_DirectSet
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x14092f5
jmp 0x1409322
inc edi
inc esi
cmp edi, ebx
jb 0x1409350
jmp 0x14093f8
inc edi
inc esi
cmp edi, ebx
jb 0x14093c0
jmp 0x14093f8
mov eax, dword [0x15bbf3c]
push 0
push 0
push 0x140a210
push 0x150
push dword [eax + 0x1e4]
call fcn.0140c700
add esp, 0x14
cmp dword [0x15bbef4], 0
jne 0x1409606
movups xmm0, xmmword [str.Cvar_Set:_variable__s_not_found_n]
mov al, byte [0x1586ab8]
mov byte [ebp - 0x168], al
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0xd], 0
movups xmmword [ebp - 0x188], xmm0
movups xmm0, xmmword [0x1586aa8]
movups xmmword [ebp - 0x178], xmm0
test eax, eax
je 0x14094d4
mov ebx, dword [ebp - 0x24]
mov edi, eax
add ebx, 0xffffffe0
add ebx, eax
cmp eax, ebx
jae 0x14094d4
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 0x14094ca
cmp dl, byte [esi + ecx]
jne 0x14095c3
inc eax
cmp eax, 0x20
jb 0x14094b2
test edi, edi
jne 0x1409528
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x14095dc
mov ebx, dword [ebp - 0x20]
mov edi, eax
add ebx, 0xffffffe0
add ebx, eax
cmp eax, ebx
jae 0x14095dc
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 0x140951a
cmp dl, byte [esi + ecx]
jne 0x14095d2
inc eax
cmp eax, 0x20
jb 0x1409502
test edi, edi
je 0x14095dc
mov eax, dword [0x1586ac4]
movq xmm0, qword [0x1586abc]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xbc], eax
mov ax, word [0x1586ac8]
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 0x14095f6
mov ebx, dword [ebp - 4]
add ebx, 0xfffffff3
add ebx, ecx
cmp edi, ebx
jae 0x14095f6
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 0x1409598
cmp dl, byte [esi + ecx]
jne 0x14095f0
inc eax
cmp eax, 0xd
jb 0x1409584
test edi, edi
je 0x14095f6
lea eax, [ebp - 0xd]
add edi, 0xd
push eax
push 0
push 0x140a290
push 0x80
push edi
call fcn.0140c700
mov ecx, dword [ebp - 8]
add esp, 0x14
jmp 0x1409560
inc edi
inc esi
cmp edi, ebx
jb 0x14094b0
jmp 0x14094d4
inc edi
inc esi
cmp edi, ebx
jb 0x1409500
push str.MH_LoadEngine:_Failed_to_locate_call_inside_Cvar_Set
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1409582
cmp byte [ebp - 0xd], 0
je 0x14095dc
mov dword [0x15bbef4], 0x15bcf88
mov eax, dword [0x15bcf70]
cmp eax, 2
je 0x14096df
cmp eax, 1
je 0x14096df
cmp eax, 4
je 0x14096df
cmp dword [0x15bcf58], 0
je 0x14099fb
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff4
mov eax, dword [0x1586b4c]
add ebx, ecx
movq xmm0, qword [0x1586b44]
mov edi, ecx
mov dword [ebp - 0xe8], eax
mov al, byte [0x1586b50]
movq qword [ebp - 0xf0], xmm0
mov byte [ebp - 0xe4], al
cmp ecx, ebx
jae 0x14097e5
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 0x140969a
cmp dl, byte [ecx + esi]
jne 0x14097d8
inc eax
cmp eax, 0xc
jb 0x1409682
test edi, edi
je 0x14097e2
lea ecx, [edi + 5]
test ecx, ecx
jne 0x14096b8
mov ecx, dword [0x15bd548]
add ecx, 5
mov dword [0x15bd548], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x14098a0
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1409891
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14098b4
mov eax, dword [0x1586b04]
mov ecx, dword [ebp - 8]
mov ebx, ecx
mov dword [ebp - 0x3c], eax
movzx eax, word [0x1586b08]
mov word [ebp - 0x38], ax
mov eax, dword [0x1586b0c]
mov dword [ebp - 0x34], eax
movzx eax, word [0x1586b10]
mov word [ebp - 0x30], ax
mov al, byte [0x1586b12]
mov byte [ebp - 0x2e], al
test ebx, ebx
je 0x1409790
mov edi, dword [ebp - 4]
add edi, 0xfffffffb
add edi, ecx
cmp ebx, edi
jae 0x1409790
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 0x1409743
cmp dl, byte [esi + ecx]
jne 0x140978a
inc eax
cmp eax, 5
jb 0x1409732
test ebx, ebx
je 0x1409790
lea edi, [ebx - 0x50]
test edi, edi
je 0x1409782
lea eax, [edi + 0x4a]
mov dword [ebp - 0x14], eax
cmp edi, eax
jae 0x1409782
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 0x1409778
cmp dl, byte [esi + ecx]
jne 0x14097b1
inc eax
cmp eax, 6
jb 0x1409767
test edi, edi
jne 0x14097c3
mov ecx, dword [ebp - 8]
add ebx, 5
jmp 0x1409712
inc ebx
inc esi
cmp ebx, edi
jb 0x1409730
mov eax, dword [0x15bcf58]
test eax, eax
jne 0x1409633
push str.MH_LoadEngine:_Failed_to_locate_LoadBlobFile
call fcn.01405cb0
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 0x1409765
mov ecx, dword [ebp - 8]
add ebx, 5
jmp 0x1409712
push 0x300
push edi
call fcn.0140bb90
add esp, 8
mov dword [0x15bcf58], eax
jmp 0x1409795
inc edi
inc esi
cmp edi, ebx
jb 0x1409680
mov ecx, dword [ebp - 8]
mov eax, dword [str.5]
mov edi, ecx
mov ebx, dword [ebp - 4]
movups xmm0, xmmword [0x1586b54]
mov dword [ebp - 0x124], eax
add ebx, 0xffffffeb
mov ax, word [0x1586b68]
add ebx, ecx
mov word [ebp - 0x120], ax
mov eax, dword [0x15bbf40]
mov dword [ebp - 0x123], eax
movups xmmword [ebp - 0x134], xmm0
cmp ecx, ebx
jae 0x14098d6
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 0x140984c
cmp dl, byte [ecx + esi]
jne 0x14098c9
inc eax
cmp eax, 0x15
jb 0x1409834
test edi, edi
je 0x14098d3
lea ecx, [edi + 5]
test ecx, ecx
jne 0x140986a
mov ecx, dword [0x15bd548]
add ecx, 5
mov dword [0x15bd548], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x140997f
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1409974
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x140998f
cmp al, 0x25
jne 0x14099d6
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14098b4
cmp al, 0xe8
je 0x14098ac
cmp al, 0xe9
jne 0x14099d6
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd548], ecx
cmp edx, 1
jb 0x14096c0
jmp 0x14099d8
inc edi
inc esi
cmp edi, ebx
jb 0x1409832
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov edi, ecx
mov ax, word [0x1586b80]
add ebx, 0xffffffeb
movups xmm0, xmmword [str.h]
add ebx, ecx
mov word [ebp - 0x138], ax
mov eax, dword [0x15bbf40]
mov dword [ebp - 0x13c], eax
movups xmmword [ebp - 0x14c], xmm0
cmp ecx, ebx
jae 0x14099de
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 0x1409936
cmp dl, byte [ecx + esi]
jne 0x14099a1
inc eax
cmp eax, 0x15
jb 0x1409922
test edi, edi
je 0x14099de
lea ecx, [edi + 5]
test ecx, ecx
jne 0x1409954
mov ecx, dword [0x15bd548]
add ecx, 5
mov dword [0x15bd548], ecx
xor edx, edx
nop dword [eax]
mov al, byte [ecx]
cmp al, 0xff
jne 0x14099b8
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x14099ad
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14099c8
cmp al, 0x25
jne 0x14099d6
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x140998f
cmp al, 0xe8
je 0x1409987
cmp al, 0xe9
jne 0x14099d6
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd548], ecx
cmp edx, 1
jb 0x1409872
jmp 0x14099d8
inc edi
inc esi
cmp edi, ebx
jb 0x1409920
jmp 0x14099de
cmp al, 0x25
jne 0x14099d6
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x14099c8
cmp al, 0xe8
je 0x14099c0
cmp al, 0xe9
jne 0x14099d6
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd548], ecx
cmp edx, 1
jb 0x1409960
jmp 0x14099d8
xor ecx, ecx
mov dword [0x15bbee4], ecx
cmp dword [0x15bbee4], 0
jne 0x14099fb
push str.MH_LoadEngine:_Failed_to_locate_FreeBlob
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x15bcf70], 3
movq xmm0, qword [0x1586920]
mov eax, dword [0x1586928]
movq qword [ebp - 0xd4], xmm0
movups xmm0, xmmword [0x1586bb0]
mov dword [ebp - 0xcc], eax
movzx eax, word [0x158692c]
movups xmmword [ebp - 0x164], xmm0
mov word [ebp - 0xc8], ax
movups xmm0, xmmword [str.Couldnt_get_client_library_studio_model_rendering]
mov eax, dword [0x1586bc0]
mov dword [ebp - 0x154], eax
movzx eax, word [0x1586bc4]
movups xmmword [ebp - 0x1e8], xmm0
mov word [ebp - 0x150], ax
movups xmm0, xmmword [0x1586bd8]
movzx eax, word [0x1586bf8]
mov word [ebp - 0x1b8], ax
mov al, byte [0x1586bfa]
movups xmmword [ebp - 0x1d8], xmm0
mov byte [ebp - 0x1b6], al
movups xmm0, xmmword [0x1586be8]
movups xmmword [ebp - 0x1c8], xmm0
movups xmm0, xmmword [str.Couldnt_get_client_.dll_studio_model_rendering]
movups xmmword [ebp - 0x218], xmm0
movups xmm0, xmmword [0x1586c0c]
movups xmmword [ebp - 0x208], xmm0
movups xmm0, xmmword [0x1586c1c]
movups xmmword [ebp - 0x1f8], xmm0
jne 0x1409ace
lea eax, [ebp - 0x1e8]
mov esi, 0x32
jmp 0x1409ad9
lea eax, [ebp - 0x218]
mov esi, 0x2f
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
test edx, edx
je 0x1409b11
mov ebx, edx
sub ebx, esi
add ebx, dword [ebp - 0x24]
cmp edx, ebx
jae 0x1409b11
mov edi, edx
sub edi, eax
xor ecx, ecx
mov dl, byte [eax]
cmp dl, 0x2a
je 0x1409b04
cmp dl, byte [edi + eax]
jne 0x1409bc8
inc ecx
inc eax
cmp ecx, esi
jb 0x1409af4
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x1409b67
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x1409c4b
mov edi, ecx
mov dword [ebp - 0xc], ecx
sub edi, esi
add edi, dword [ebp - 0x20]
cmp ecx, edi
jae 0x1409c4b
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 0x1409b56
mov ebx, dword [ebp - 0x1c]
cmp dl, byte [ebx + eax]
mov ebx, dword [ebp - 0x14]
jne 0x1409be0
inc ecx
inc eax
cmp ecx, esi
jb 0x1409b40
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1409c4b
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 0x1409c4b
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 0x1409ba6
cmp dl, byte [ecx + esi]
jne 0x1409bf4
inc eax
cmp eax, 0xd
jb 0x1409b92
test edi, edi
je 0x1409c4b
add edi, 0xffffffb0
jne 0x1409bfc
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff3
mov edi, ecx
add ebx, ecx
jmp 0x1409b85
mov edx, dword [ebp - 0xc]
inc edi
mov eax, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, ebx
jb 0x1409af2
jmp 0x1409b11
mov edx, dword [ebp - 0xc]
inc dword [ebp - 0x1c]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, edi
jb 0x1409b36
jmp 0x1409c4b
inc edi
inc esi
cmp edi, ebx
jb 0x1409b90
jmp 0x1409c4b
lea ebx, [edi + 0x3b]
cmp edi, ebx
jae 0x1409c6e
mov esi, edi
lea eax, [ebp - 0x164]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0x164]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409c27
cmp dl, byte [ecx + esi]
jne 0x1409c68
inc eax
cmp eax, 0x15
jb 0x1409c13
test edi, edi
je 0x1409b70
mov eax, dword [edi + 5]
mov dword [0x15bbed8], eax
mov eax, dword [edi + 0xa]
mov dword [0x15bcf48], edi
mov dword [0x15bbee8], eax
cmp dword [0x15bcf48], 0
jne 0x1409c80
push str.MH_LoadEngine:_Failed_to_locate_ClientDLL_CheckStudioInterface
call fcn.01405cb0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
inc esi
cmp edi, ebx
jb 0x1409c11
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff3
mov edi, ecx
add ebx, ecx
jmp 0x1409b85
mov esi, dword [0x15bbf44]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x14], 0
mov eax, dword [esi]
mov dword [0x15bbefc], eax
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push esi
mov dword [0x15bbf20], 0x1408020
call edi
test eax, eax
je 0x1409cc5
lea eax, [ebp - 0x14]
mov dword [esi], 0x15bbf20
push eax
push dword [ebp - 0x14]
push 4
push esi
call edi
mov ax, word [0x1586c80]
mov esi, dword [0x15bcf48]
movups xmm0, xmmword [0x1586c6c]
mov ebx, dword [0x1586c7c]
mov word [ebp - 0x104], ax
mov eax, 0x1407fe0
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 0x1409d34
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 [0x15bcf58]
test eax, eax
je 0x1409d4d
push 0
push 0x1405d30
push eax
call fcn.0140a590
add esp, 0xc
mov eax, dword [0x15bbee4]
test eax, eax
je 0x1409d66
push 0
push 0x1405d40
push eax
call fcn.0140a590
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.01406950
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.01407070
mov esi, dword [0x15bcf5c]
mov byte [0x15bbee0], 1
test esi, esi
je 0x1409dc2
nop dword [eax]
mov eax, dword [esi + 0x3c]
sub eax, 2
je 0x1409db3
sub eax, 1
je 0x1409da2
sub eax, 1
jne 0x1409dbb
mov ecx, dword [esi + 0x38]
mov eax, dword [0x15bcf64]
mov edx, dword [ecx]
push dword [eax]
call dword [edx + 0xc]
jmp 0x1409dbb
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x1409d90
push 8
push dword [0x15bbef8]
xor edx, edx
xor ecx, ecx
push dword [0x15bcf60]
call fcn.01403850
add esp, 0xc
call fcn.01407e00
push 0x1585d90
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
test esi, esi
je 0x1408c99
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.LdrRegisterDllNotification
push esi
call edi
test eax, eax
je 0x1409e20
push 0x15bcfcc
push 0
push 0x1403b00
push 0
call eax
test eax, eax
jns 0x1408c99
push str.LdrLoadDll
push esi
call edi
mov dword [0x15bbec4], eax
test eax, eax
je 0x1408c99
call fcn.01401610
sub esp, 0xc
mov edx, 0x1403a80
mov ecx, 0x15bbec4
call fcn.01401950
call fcn.014016a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret