Function at 0x14081e0
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 [0x15bbf2c]
test eax, eax
jne 0x140820e
push 0x218
call fcn.01428315
add esp, 4
mov dword [0x15bbf2c], eax
push 0x218
push 0
push eax
call fcn.0142aa80
mov eax, dword [0x15bbf28]
add esp, 0xc
test eax, eax
jne 0x1408239
push 0xac
call fcn.01428315
add esp, 4
mov dword [0x15bbf28], eax
push 0xac
push 0
push eax
call fcn.0142aa80
add esp, 0xc
mov dword [0x15bcf50], 0
mov dword [0x15bbee8], 0
mov dword [0x15bcf44], 0
mov dword [0x15bbeec], 0
push 0x1f
push dword [ebp + 8]
mov byte [0x15bbed1], 0
push 0x15bbef0
call fcn.01435510
mov eax, dword [0x15bbeb8]
add esp, 0xc
mov dword [0x15bbf18], eax
mov eax, dword [0x15bbec0]
mov byte [0x15bbf0f], 0
mov dword [0x15bbf14], 0x1590170
mov dword [0x15bbf1c], 0x15905ac
mov dword [0x15bbf20], eax
mov dword [0x15bbf24], 0x67
test esi, esi
je 0x1408306
push 0x1c
lea eax, [ebp - 0x11c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
jne 0x14082df
xor ecx, ecx
jmp 0x14082f4
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 [0x15bcf64], esi
add eax, esi
jmp 0x1408320
mov ecx, dword [0xc]
mov edx, 1
mov dword [0x15bbee0], 0
mov eax, 0x1c
mov eax, dword [eax]
mov dword [0x15bbee8], eax
lea eax, [ebp - 0x14]
push eax
push str..text
push ecx
mov dword [0x15bcf50], ecx
mov dword [0x15bcf60], edx
mov dword [ebp - 0x14], 0
call fcn.0140b9d0
mov ecx, dword [0x15bcf50]
mov edi, eax
add esp, 0xc
mov dword [ebp - 8], edi
test edi, edi
jne 0x140836b
mov ebx, dword [0x15bbee8]
mov edi, ecx
mov dword [ebp - 8], edi
mov dword [ebp - 4], ebx
jmp 0x1408371
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0x15862c8
push ecx
call fcn.0140b9d0
mov ecx, dword [0x15bcf50]
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x14083a5
mov esi, dword [0x15bbee8]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x24], esi
jmp 0x14083ab
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.0140b9d0
mov ebx, dword [0x15bcf50]
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x14083db
mov eax, dword [0x15bbee8]
mov dword [ebp - 0x1c], ebx
jmp 0x14083de
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
test edi, edi
je 0x1408457
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add esi, 0xfffffff2
add esi, ecx
cmp ecx, esi
jae 0x1408457
mov edx, ecx
sub edx, 0x1586654
nop dword [eax]
xor eax, eax
mov cl, byte [eax + 0x1586654]
cmp cl, 0x2a
je 0x1408416
cmp cl, byte [edx + eax + 0x1586654]
jne 0x1408451
inc eax
cmp eax, 0xe
jb 0x1408402
test edi, edi
je 0x1408459
mov edx, edi
xor esi, esi
mov dword [0x15bd538], edx
nop word [eax + eax]
mov al, byte [edx]
mov ecx, edi
cmp al, 0xff
jne 0x140855c
mov al, byte [edx + 1]
cmp al, 0x15
jne 0x140854f
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408578
inc edi
inc edx
cmp edi, esi
jb 0x1408400
xor edi, edi
mov edx, dword [0x15bd538]
cmp dword [0x15bcf6c], 0
jne 0x1408620
test ebx, ebx
je 0x140866d
mov esi, ebx
mov ebx, dword [0x15bbee8]
add ebx, 0xfffffff5
add ebx, esi
cmp esi, ebx
jae 0x140866d
mov edx, esi
sub edx, str.Exe_build:
xor eax, eax
mov cl, byte [eax + str.Exe_build:]
cmp cl, 0x2a
je 0x14084ab
cmp cl, byte [edx + eax + str.Exe_build:]
jne 0x14085a0
inc eax
cmp eax, 0xb
jb 0x1408493
test esi, esi
je 0x140866d
mov eax, dword [0x1586678]
movq xmm0, qword [0x1586670]
mov ecx, 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 ecx, ecx
je 0x140866d
mov eax, dword [ebp - 4]
mov edx, ecx
add eax, 0xfffffff4
add eax, ecx
cmp ecx, eax
jae 0x140866d
mov esi, ecx
lea eax, [ebp - 0x64]
sub esi, eax
nop dword [eax]
xor eax, eax
lea ecx, [ebp - 0x64]
add ecx, eax
mov bl, byte [ecx]
cmp bl, 0x2a
je 0x1408517
cmp bl, byte [esi + ecx]
jne 0x14085be
inc eax
cmp eax, 0xc
jb 0x1408502
test edx, edx
je 0x140866d
mov dword [0x15bd538], edx
xor ecx, ecx
nop dword [eax]
mov al, byte [edx]
cmp al, 0xff
jne 0x14085f0
mov al, byte [edx + 1]
cmp al, 0x15
jne 0x14085e5
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408600
mov edi, ecx
cmp al, 0x25
jne 0x1408594
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408576
cmp al, 0xe8
jne 0x140856a
mov eax, dword [edx + 1]
add edx, 5
add edx, eax
jmp 0x1408578
cmp al, 0xe9
jne 0x1408594
mov eax, dword [edx + 1]
add edx, 5
add edx, eax
mov edi, ecx
inc esi
mov dword [0x15bd538], edx
cmp esi, 1
jb 0x1408430
mov eax, edx
mov dword [0x15bcf6c], eax
jmp 0x140845f
xor eax, eax
mov dword [0x15bcf6c], eax
jmp 0x140845f
inc esi
inc edx
cmp esi, ebx
jb 0x1408491
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 eax, dword [ebp - 4]
inc edx
add eax, 0xfffffff4
inc esi
add eax, dword [ebp - 8]
cmp edx, eax
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 0x1408663
mov eax, dword [edx + 2]
mov edx, dword [eax]
jmp 0x1408600
cmp al, 0xe8
je 0x14085f8
cmp al, 0xe9
jne 0x1408663
mov eax, dword [edx + 1]
add edx, 5
add edx, eax
inc ecx
mov dword [0x15bd538], edx
cmp ecx, 1
jb 0x1408530
mov dword [0x15bcf6c], edx
test edx, edx
je 0x140866d
mov ebx, dword [0x15bcf50]
cmp dword [0x15bcf60], 0
jne 0x14087d3
test edi, edi
je 0x14086a9
mov esi, dword [edi + 0xe]
push 8
push str.Svengine
push esi
call fcn.01435bb0
add esp, 0xc
test eax, eax
jne 0x1408681
mov ebx, dword [0x15bcf50]
mov edx, dword [0x15bd538]
mov dword [0x15bcf60], 3
jmp 0x14087e0
mov dword [0x15bcf6c], 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
push 9
push str.Half_Life
push esi
call fcn.01435bb0
add esp, 0xc
test eax, eax
jne 0x14087af
mov dword [0x15bcf60], 2
mov edx, dword [0x15bd538]
mov edi, dword [0x15bcf50]
mov eax, dword [0x15bbee8]
test edi, edi
je 0x14088e1
lea ebx, [eax - 0x2f]
add ebx, edi
cmp edi, ebx
jae 0x14088e1
mov esi, edi
sub esi, str.could_not_link_client.dll_function_Initialize_n
xor eax, eax
mov cl, byte [eax + str.could_not_link_client.dll_function_Initialize_n]
cmp cl, 0x2a
je 0x14086eb
cmp cl, byte [esi + eax + str.could_not_link_client.dll_function_Initialize_n]
jne 0x1408a59
inc eax
cmp eax, 0x2f
jb 0x14086d3
test edi, edi
je 0x14088dc
mov eax, dword [0x158670c]
movq xmm0, qword [0x1586704]
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x7c], eax
mov al, byte [0x1586710]
movq qword [ebp - 0x84], xmm0
mov byte [ebp - 0x78], al
mov dword [ebp - 0x83], edi
test ecx, ecx
je 0x1408a0c
lea eax, [ebx - 0xc]
mov edi, ecx
add eax, ecx
cmp ecx, eax
jae 0x1408a0c
mov esi, ecx
lea eax, [ebp - 0x84]
sub esi, eax
xor eax, eax
nop dword [eax + eax]
lea ecx, [ebp - 0x84]
add ecx, eax
mov bl, byte [ecx]
cmp bl, 0x2a
je 0x1408768
cmp bl, byte [esi + ecx]
jne 0x1408a68
inc eax
cmp eax, 0xc
jb 0x1408750
test edi, edi
je 0x14088dc
lea ecx, [edi + 5]
test ecx, ecx
jne 0x1408780
lea ecx, [edx + 5]
mov dword [0x15bd538], ecx
xor edx, edx
nop dword [eax + eax]
mov al, byte [ecx]
cmp al, 0xff
jne 0x1408a90
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1408a85
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1408aa0
push 0xb
push str.version_:
push esi
call fcn.01435bb0
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
mov dword [0x15bcf60], eax
jmp 0x14086a3
cmp dword [0x15bcf60], 3
jne 0x14086a9
mov eax, dword [0x15bbee8]
test ebx, ebx
je 0x14088e1
mov edi, ebx
lea ebx, [eax - 0x33]
add ebx, edi
cmp edi, ebx
jae 0x14088e1
mov esi, edi
sub esi, str.Couldnt_link_client_library_function__Initialize__n
xor eax, eax
nop word [eax + eax]
mov cl, byte [eax + str.Couldnt_link_client_library_function__Initialize__n]
cmp cl, 0x2a
je 0x1408828
cmp cl, byte [esi + eax + str.Couldnt_link_client_library_function__Initialize__n]
jne 0x14088d2
inc eax
cmp eax, 0x33
jb 0x1408810
test edi, edi
je 0x14088dc
mov eax, dword [0x158670c]
movq xmm0, qword [0x1586704]
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x6c], eax
mov al, byte [0x1586710]
movq qword [ebp - 0x74], xmm0
mov byte [ebp - 0x68], al
mov dword [ebp - 0x73], edi
test ecx, ecx
je 0x1408a0c
lea eax, [ebx - 0xc]
mov edi, ecx
add eax, ecx
cmp ecx, eax
jae 0x1408a0c
mov esi, ecx
lea eax, [ebp - 0x74]
sub esi, eax
nop word [eax + eax]
xor eax, eax
lea ecx, [ebp - 0x74]
add ecx, eax
mov bl, byte [ecx]
cmp bl, 0x2a
je 0x1408897
cmp bl, byte [esi + ecx]
jne 0x14089f9
inc eax
cmp eax, 0xc
jb 0x1408882
test edi, edi
je 0x14088dc
lea ecx, [edi + 5]
test ecx, ecx
jne 0x14088ab
lea ecx, [edx + 5]
mov dword [0x15bd538], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x1408a21
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1408a16
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1408a31
inc edi
inc esi
cmp edi, ebx
jb 0x1408804
mov eax, dword [0x15bbee8]
mov ebx, dword [ebp - 4]
mov edx, dword [0x15bcf50]
test edx, edx
je 0x14089d8
mov esi, edx
lea edi, [esi - 0xb]
add edi, eax
cmp esi, edi
jae 0x14089d8
sub edx, str.ScreenShake
nop word [eax + eax]
xor eax, eax
mov cl, byte [eax + str.ScreenShake]
cmp cl, 0x2a
je 0x140892a
cmp cl, byte [edx + eax + str.ScreenShake]
jne 0x1408abb
inc eax
cmp eax, 0xb
jb 0x1408912
test esi, esi
je 0x14089d2
mov eax, dword [0x1586758]
movq xmm0, qword [0x1586750]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 8]
movq qword [ebp - 0xe0], xmm0
mov dword [ebp - 0xda], esi
test eax, eax
je 0x14089d2
add ebx, 0xfffffff5
mov edi, eax
add ebx, eax
cmp eax, ebx
jae 0x14089d2
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 0x1408998
cmp dl, byte [esi + ecx]
jne 0x1408aca
inc eax
cmp eax, 0xb
jb 0x1408980
test edi, edi
je 0x14089d2
push 0x1409e20
push 0x200
push edi
call fcn.0140c270
add esp, 0xc
test eax, eax
je 0x14089d2
push 0
push 0
push 0x1409ea0
push 0x30
push edi
mov dword [0x15bcf70], eax
call fcn.0140c6c0
add esp, 0x14
mov edx, dword [0x15bcf50]
cmp dword [0x15bcf70], 0
jne 0x1408ad9
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 0x1408880
mov eax, dword [0x15bbee8]
jmp 0x14088e4
cmp al, 0x25
jne 0x1408a4c
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1408a31
cmp al, 0xe8
je 0x1408a29
cmp al, 0xe9
jne 0x1408a4c
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd538], ecx
cmp edx, 1
jb 0x14088b3
mov dword [0x15bcf68], ecx
jmp 0x14088dc
xor ecx, ecx
mov dword [0x15bcf68], ecx
jmp 0x14088dc
inc edi
inc esi
cmp edi, ebx
jb 0x14086d1
jmp 0x14088dc
mov ebx, dword [ebp - 4]
inc edi
inc esi
lea eax, [ebx - 0xc]
add eax, dword [ebp - 8]
cmp edi, eax
jb 0x1408746
mov eax, dword [0x15bbee8]
jmp 0x14088e4
cmp al, 0x25
jne 0x1408a4c
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1408aa0
cmp al, 0xe8
je 0x1408a98
cmp al, 0xe9
jne 0x1408a4c
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd538], ecx
cmp edx, 1
jb 0x1408790
mov dword [0x15bcf68], ecx
jmp 0x14088dc
inc esi
inc edx
cmp esi, edi
jb 0x1408910
jmp 0x14089d2
inc edi
inc esi
cmp edi, ebx
jb 0x1408975
jmp 0x14089d2
cmp dword [0x15bcf54], 0
jne 0x1408af6
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 [0x15bbf34], 0
jne 0x1408b13
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 edx, edx
je 0x1408c5c
mov edi, dword [0x15bbee8]
mov esi, edx
add edi, 0xfffffff3
add edi, esi
cmp esi, edi
jae 0x1408c5c
sub edx, str.cl_righthand
nop word [eax + eax]
xor eax, eax
mov cl, byte [eax + str.cl_righthand]
cmp cl, 0x2a
je 0x1408b5a
cmp cl, byte [edx + eax + str.cl_righthand]
jne 0x1408c52
inc eax
cmp eax, 0xd
jb 0x1408b42
test esi, esi
je 0x1408c5c
mov eax, dword [0x15867f8]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], eax
mov ax, word [0x15867fc]
mov word [ebp - 0x28], ax
mov al, byte [0x15867fe]
mov byte [ebp - 0x26], al
mov dword [ebp - 0x2b], esi
test ecx, ecx
je 0x1408c7a
mov ebx, dword [ebp - 4]
mov edi, ecx
add ebx, 0xfffffffa
add ebx, ecx
cmp ecx, ebx
jae 0x1408c7a
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 0x1408bc7
cmp dl, byte [esi + ecx]
jne 0x1408c70
inc eax
cmp eax, 6
jb 0x1408bb2
test edi, edi
je 0x1408c7a
lea esi, [edi - 0x109]
cmp edi, esi
jbe 0x1408c2f
mov edx, edi
sub edx, 0x1586800
nop word [eax + eax]
xor eax, eax
mov cl, byte [eax + 0x1586800]
cmp cl, 0x2a
je 0x1408c0a
cmp cl, byte [edx + eax + 0x1586800]
jne 0x1408c8e
inc eax
cmp eax, 9
jb 0x1408bf2
test edi, edi
je 0x1408c2f
push dword [edi + 1]
lea eax, [edi + 9]
push 0
push 0x1409f00
push 0x100
push eax
call fcn.0140c6c0
add esp, 0x14
cmp dword [0x15bbf30], 0
mov ebx, dword [0x15bcf50]
jne 0x1408c9a
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 0x1408b40
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 0x1408bb0
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 0x1408bf0
jmp 0x1408c2f
mov edx, dword [0x15bbee8]
test ebx, ebx
je 0x1408d76
mov esi, ebx
lea edi, [edx - 0xf]
add edi, esi
cmp esi, edi
jae 0x1408d76
mov edx, esi
sub edx, str.VClientVGUI001
nop
xor eax, eax
mov cl, byte [eax + str.VClientVGUI001]
cmp cl, 0x2a
je 0x1408cda
cmp cl, byte [eax + edx + str.VClientVGUI001]
jne 0x1408d97
inc eax
cmp eax, 0xf
jb 0x1408cc2
test esi, esi
je 0x1408d70
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 0x1408d6a
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 0x1408d24
cmp dl, byte [ecx + esi]
jne 0x1408da3
inc eax
cmp eax, 7
jb 0x1408d13
test edi, edi
je 0x1408d6a
lea ebx, [edi - 0x109]
mov esi, edi
cmp edi, ebx
jbe 0x1408db5
mov edx, edi
sub edx, 0x15868b8
xor eax, eax
mov cl, byte [eax + 0x15868b8]
cmp cl, 0x2a
je 0x1408d58
cmp cl, byte [eax + edx + 0x15868b8]
jne 0x1408daf
inc eax
cmp eax, 9
jb 0x1408d44
test edi, edi
je 0x1408db5
mov eax, dword [edi + 1]
mov dword [0x15bbecc], eax
mov ebx, dword [0x15bcf50]
mov edx, dword [0x15bbee8]
cmp dword [0x15bbecc], 0
jne 0x1408e05
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 0x1408cc0
jmp 0x1408d70
inc edi
inc esi
cmp edi, ebx
jb 0x1408d11
jmp 0x1408d6a
dec edi
dec edx
cmp edi, ebx
ja 0x1408d42
cmp esi, ebx
jbe 0x1408d6a
mov edx, esi
sub edx, 0x15868c4
xor eax, eax
mov cl, byte [eax + 0x15868c4]
cmp cl, 0x2a
je 0x1408dd7
cmp cl, byte [eax + edx + 0x15868c4]
jne 0x1408dfa
inc eax
cmp eax, 9
jb 0x1408dc3
mov ebx, dword [0x15bcf50]
mov edx, dword [0x15bbee8]
test esi, esi
je 0x1408d76
mov eax, dword [esi + 2]
mov dword [0x15bbecc], eax
jmp 0x1408d76
dec esi
dec edx
cmp esi, ebx
ja 0x1408dc1
jmp 0x1408d6a
cmp dword [0x15bcf60], 3
mov ecx, 0x86
mov eax, dword [0x15bcf54]
mov edi, dword [0x15bbf2c]
mov esi, dword [eax]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x15bbf2c]
mov eax, dword [eax + 0x198]
mov dword [0x15bcf5c], eax
jne 0x1408f73
test ebx, ebx
je 0x1408f41
lea esi, [edx - 0xc]
add esi, ebx
cmp ebx, esi
jae 0x1408f41
mov edx, ebx
sub edx, str._fullscreen
xor eax, eax
mov cl, byte [eax + str._fullscreen]
cmp cl, 0x2a
je 0x1408e6d
cmp cl, byte [eax + edx + str._fullscreen]
jne 0x1408f37
inc eax
cmp eax, 0xc
jb 0x1408e55
test ebx, ebx
je 0x1408f41
movq xmm0, qword [0x1586910]
mov ecx, dword [ebp - 8]
mov edi, ecx
mov eax, dword [0x1586918]
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 [0x158691c]
add ebx, ecx
mov word [ebp - 0x98], ax
cmp ecx, ebx
jae 0x1408f41
mov esi, ecx
lea eax, [ebp - 0xa4]
sub esi, eax
nop dword [eax + eax]
xor eax, eax
lea ecx, [ebp - 0xa4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1408ee6
cmp dl, byte [ecx + esi]
jne 0x1408f55
inc eax
cmp eax, 0xd
jb 0x1408ed2
test edi, edi
je 0x1408f41
add edi, 0xd
je 0x1408f41
lea eax, [ebp - 0x18]
xorps xmm0, xmm0
push eax
push 0
push 0x1409fc0
push 0x400
push edi
movlpd qword [ebp - 0x18], xmm0
call fcn.0140c6c0
add esp, 0x14
cmp dword [0x15bcf40], 0
jne 0x140905a
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 0x1408e53
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 0x1408ed0
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 0x1408f41
lea esi, [edx - 4]
add esi, ebx
cmp ebx, esi
jae 0x1408f41
mov edx, ebx
sub edx, 0x1586920
nop dword [eax + eax]
xor eax, eax
mov cl, byte [eax + 0x1586920]
cmp cl, 0x2a
je 0x1408faa
cmp cl, byte [eax + edx + 0x1586920]
jne 0x1409022
inc eax
cmp eax, 4
jb 0x1408f92
test ebx, ebx
je 0x1408f41
movq xmm0, qword [0x1586910]
mov ecx, dword [ebp - 8]
mov edi, ecx
mov eax, dword [0x1586918]
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 [0x158691c]
add ebx, ecx
mov word [ebp - 0xa8], ax
cmp ecx, ebx
jae 0x1408f41
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 0x1409017
cmp dl, byte [ecx + esi]
jne 0x1409040
inc eax
cmp eax, 0xd
jb 0x1409003
jmp 0x1408eec
inc ebx
inc edx
cmp ebx, esi
jb 0x1408f90
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 0x1409001
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 [0x15bcf50]
test esi, esi
je 0x1409197
mov edi, dword [0x15bbee8]
add edi, 0xfffffff8
add edi, esi
cmp esi, edi
jae 0x1409197
mov edx, esi
sub edx, str.HudText
xor eax, eax
mov cl, byte [eax + str.HudText]
cmp cl, 0x2a
je 0x140909d
cmp cl, byte [eax + edx + str.HudText]
jne 0x1409144
inc eax
cmp eax, 8
jb 0x1409085
mov ecx, dword [ebp - 4]
test esi, esi
je 0x140919a
mov eax, dword [0x15869a4]
lea ebx, [ecx - 0xe]
movq xmm0, qword [str.Ph]
mov dword [ebp - 0x4c], eax
mov ax, word [0x15869a8]
mov word [ebp - 0x48], ax
mov al, byte [0x15869aa]
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 0x140919a
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 0x1409104
cmp dl, byte [ecx + esi]
jne 0x1409150
inc eax
cmp eax, 0xe
jb 0x14090f3
test edi, edi
je 0x1409197
lea ecx, [edi + 6]
test ecx, ecx
jne 0x1409122
mov ecx, dword [0x15bd538]
add ecx, 5
mov dword [0x15bd538], ecx
xor edx, edx
nop word [eax + eax]
mov al, byte [ecx]
cmp al, 0xff
jne 0x1409163
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1409158
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409173
inc esi
inc edx
cmp esi, edi
jb 0x1409083
jmp 0x1409197
inc edi
inc esi
cmp edi, ebx
jb 0x14090f1
jmp 0x1409197
cmp al, 0x25
jne 0x1409181
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409173
cmp al, 0xe8
je 0x140916b
cmp al, 0xe9
jne 0x1409181
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd538], ecx
cmp edx, 1
jb 0x1409130
jmp 0x1409183
xor ecx, ecx
push 0
push 0
push 0x140a0d0
push 0x50
push ecx
call fcn.0140c6c0
add esp, 0x14
mov ecx, dword [ebp - 4]
cmp dword [0x15bcf74], 0
jne 0x14091b7
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 [0x15869dc]
mov al, byte [0x1586a04]
mov edx, dword [ebp - 0xc]
mov edi, edx
movups xmmword [ebp - 0x1b4], xmm0
mov byte [ebp - 0x18c], al
movups xmm0, xmmword [0x15869ec]
movups xmmword [ebp - 0x1a4], xmm0
movq xmm0, qword [0x15869fc]
movq qword [ebp - 0x194], xmm0
test edi, edi
je 0x1409273
lea ebx, [ecx - 0x28]
add ebx, edx
cmp edi, ebx
jae 0x1409273
mov esi, edi
lea eax, [ebp - 0x1b4]
sub esi, eax
nop
xor eax, eax
lea ecx, [ebp - 0x1b4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409226
cmp dl, byte [ecx + esi]
jne 0x140926a
inc eax
cmp eax, 0x28
jb 0x1409212
mov edx, dword [ebp - 0xc]
test edi, edi
je 0x1409273
mov ecx, dword [edi + 4]
cmp ecx, edx
jb 0x1409243
mov eax, dword [ebp - 0x24]
add eax, edx
cmp ecx, eax
jb 0x1409251
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jb 0x1409262
add eax, dword [ebp - 0x20]
cmp ecx, eax
jae 0x1409262
cmp dword [ecx], 0x5f637673
jne 0x1409262
cmp dword [ecx + 4], 0x646162
je 0x1409291
mov ecx, dword [ebp - 4]
add edi, 0x28
jmp 0x14091f3
inc edi
inc esi
cmp edi, ebx
jb 0x1409210
mov edx, dword [ebp - 0xc]
mov edi, dword [0x15bcf3c]
test edi, edi
jne 0x1409299
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 [0x15bcf3c], edi
jmp 0x1409279
movups xmm0, xmmword [str.PROTECTED]
movups xmmword [ebp - 0x100], xmm0
test edx, edx
je 0x14092e7
mov ebx, dword [ebp - 0x24]
mov edi, edx
add ebx, 0xfffffff1
add ebx, edx
cmp edx, ebx
jae 0x14092e7
mov esi, edx
lea eax, [ebp - 0x100]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0x100]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14092dd
cmp dl, byte [ecx + esi]
jne 0x14093d5
inc eax
cmp eax, 0xf
jb 0x14092c5
test edi, edi
jne 0x1409338
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x14093b8
mov ebx, dword [ebp - 0x20]
mov edi, eax
add ebx, 0xfffffff1
add ebx, eax
cmp eax, ebx
jae 0x14093b8
mov esi, eax
lea eax, [ebp - 0x100]
sub esi, eax
nop
xor eax, eax
lea ecx, [ebp - 0x100]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x140932a
cmp dl, byte [ecx + esi]
jne 0x14093e4
inc eax
cmp eax, 0xf
jb 0x1409312
test edi, edi
je 0x14093b8
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff4
mov eax, dword [0x1586a50]
add ebx, ecx
movq xmm0, qword [str.hh]
mov dword [ebp - 0x8c], eax
mov al, byte [0x1586a54]
movq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x93], edi
mov edi, ecx
mov byte [ebp - 0x88], al
cmp ecx, ebx
jae 0x14093b8
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 0x1409396
cmp dl, byte [esi + ecx]
jne 0x14093f0
inc eax
cmp eax, 0xc
jb 0x1409382
test edi, edi
je 0x14093b8
push 0x140a150
push 0x500
push edi
call fcn.0140c270
add esp, 0xc
mov dword [0x15bcf58], eax
cmp dword [0x15bcf58], 0
jne 0x14093f8
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 0x14092c3
jmp 0x14092e7
inc edi
inc esi
cmp edi, ebx
jb 0x1409310
jmp 0x14093b8
inc edi
inc esi
cmp edi, ebx
jb 0x1409380
jmp 0x14093b8
mov eax, dword [0x15bbf2c]
push 0
push 0
push 0x140a1d0
push 0x150
push dword [eax + 0x1e4]
call fcn.0140c6c0
add esp, 0x14
cmp dword [0x15bbee4], 0
jne 0x14095c6
movups xmm0, xmmword [str.Cvar_Set:_variable__s_not_found_n]
mov al, byte [0x1586aa8]
mov byte [ebp - 0x168], al
mov eax, dword [ebp - 0xc]
mov byte [ebp - 0xd], 0
movups xmmword [ebp - 0x188], xmm0
movups xmm0, xmmword [0x1586a98]
movups xmmword [ebp - 0x178], xmm0
test eax, eax
je 0x1409494
mov ebx, dword [ebp - 0x24]
mov edi, eax
add ebx, 0xffffffe0
add ebx, eax
cmp eax, ebx
jae 0x1409494
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 0x140948a
cmp dl, byte [esi + ecx]
jne 0x1409583
inc eax
cmp eax, 0x20
jb 0x1409472
test edi, edi
jne 0x14094e8
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x140959c
mov ebx, dword [ebp - 0x20]
mov edi, eax
add ebx, 0xffffffe0
add ebx, eax
cmp eax, ebx
jae 0x140959c
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 0x14094da
cmp dl, byte [esi + ecx]
jne 0x1409592
inc eax
cmp eax, 0x20
jb 0x14094c2
test edi, edi
je 0x140959c
mov eax, dword [0x1586ab4]
movq xmm0, qword [0x1586aac]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xbc], eax
mov ax, word [0x1586ab8]
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 0x14095b6
mov ebx, dword [ebp - 4]
add ebx, 0xfffffff3
add ebx, ecx
cmp edi, ebx
jae 0x14095b6
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 0x1409558
cmp dl, byte [esi + ecx]
jne 0x14095b0
inc eax
cmp eax, 0xd
jb 0x1409544
test edi, edi
je 0x14095b6
lea eax, [ebp - 0xd]
add edi, 0xd
push eax
push 0
push 0x140a250
push 0x80
push edi
call fcn.0140c6c0
mov ecx, dword [ebp - 8]
add esp, 0x14
jmp 0x1409520
inc edi
inc esi
cmp edi, ebx
jb 0x1409470
jmp 0x1409494
inc edi
inc esi
cmp edi, ebx
jb 0x14094c0
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 0x1409542
cmp byte [ebp - 0xd], 0
je 0x140959c
mov dword [0x15bbee4], 0x15bcf78
mov eax, dword [0x15bcf60]
cmp eax, 2
je 0x140969f
cmp eax, 1
je 0x140969f
cmp eax, 4
je 0x140969f
cmp dword [0x15bcf48], 0
je 0x14099bf
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff4
mov eax, dword [0x1586b3c]
add ebx, ecx
movq xmm0, qword [0x1586b34]
mov edi, ecx
mov dword [ebp - 0xe8], eax
mov al, byte [0x1586b40]
movq qword [ebp - 0xf0], xmm0
mov byte [ebp - 0xe4], al
cmp ecx, ebx
jae 0x14097a6
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 0x140965a
cmp dl, byte [esi + ecx]
jne 0x1409799
inc eax
cmp eax, 0xc
jb 0x1409642
test edi, edi
je 0x14097a3
lea ecx, [edi + 5]
test ecx, ecx
jne 0x1409678
mov ecx, dword [0x15bd538]
add ecx, 5
mov dword [0x15bd538], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x1409861
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1409852
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409875
mov eax, dword [0x1586af4]
mov ecx, dword [ebp - 8]
mov ebx, ecx
mov dword [ebp - 0x3c], eax
movzx eax, word [0x1586af8]
mov word [ebp - 0x38], ax
mov eax, dword [0x1586afc]
mov dword [ebp - 0x34], eax
movzx eax, word [0x1586b00]
mov word [ebp - 0x30], ax
mov al, byte [0x1586b02]
mov byte [ebp - 0x2e], al
test ebx, ebx
je 0x1409751
mov edi, dword [ebp - 4]
add edi, 0xfffffffb
add edi, ecx
cmp ebx, edi
jae 0x1409751
mov esi, ebx
lea eax, [ebp - 0x3c]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0x3c]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409704
cmp dl, byte [esi + ecx]
jne 0x140974b
inc eax
cmp eax, 5
jb 0x14096f3
test ebx, ebx
je 0x1409751
lea edi, [ebx - 0x50]
test edi, edi
je 0x1409743
lea eax, [edi + 0x4a]
mov dword [ebp - 0x14], eax
cmp edi, eax
jae 0x1409743
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 0x1409739
cmp dl, byte [esi + ecx]
jne 0x1409772
inc eax
cmp eax, 6
jb 0x1409728
test edi, edi
jne 0x1409784
mov ecx, dword [ebp - 8]
add ebx, 5
jmp 0x14096d2
inc ebx
inc esi
cmp ebx, edi
jb 0x14096f1
mov eax, dword [0x15bcf48]
test eax, eax
jne 0x14095f3
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 0x1409726
mov ecx, dword [ebp - 8]
add ebx, 5
jmp 0x14096d2
push 0x300
push edi
call fcn.0140bb50
add esp, 8
mov dword [0x15bcf48], eax
jmp 0x1409756
inc edi
inc esi
cmp edi, ebx
jb 0x1409640
mov ecx, dword [ebp - 8]
mov eax, dword [str.5]
mov edi, ecx
mov ebx, dword [ebp - 4]
movups xmm0, xmmword [0x1586b44]
mov dword [ebp - 0x124], eax
add ebx, 0xffffffeb
mov ax, word [0x1586b58]
add ebx, ecx
mov word [ebp - 0x120], ax
mov eax, dword [0x15bbf30]
mov dword [ebp - 0x123], eax
movups xmmword [ebp - 0x134], xmm0
cmp ecx, ebx
jae 0x1409897
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 0x140980d
cmp dl, byte [ecx + esi]
jne 0x140988a
inc eax
cmp eax, 0x15
jb 0x14097f5
test edi, edi
je 0x1409894
lea ecx, [edi + 5]
test ecx, ecx
jne 0x140982b
mov ecx, dword [0x15bd538]
add ecx, 5
mov dword [0x15bd538], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x1409943
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1409934
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409953
cmp al, 0x25
jne 0x140999a
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409875
cmp al, 0xe8
je 0x140986d
cmp al, 0xe9
jne 0x140999a
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd538], ecx
cmp edx, 1
jb 0x1409680
jmp 0x140999c
inc edi
inc esi
cmp edi, ebx
jb 0x14097f3
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp - 4]
mov edi, ecx
mov ax, word [0x1586b70]
add ebx, 0xffffffeb
movups xmm0, xmmword [str.h]
add ebx, ecx
mov word [ebp - 0x138], ax
mov eax, dword [0x15bbf30]
mov dword [ebp - 0x13c], eax
movups xmmword [ebp - 0x14c], xmm0
cmp ecx, ebx
jae 0x14099a2
mov esi, ecx
lea eax, [ebp - 0x14c]
sub esi, eax
nop dword [eax]
xor eax, eax
lea ecx, [ebp - 0x14c]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x14098fa
cmp dl, byte [ecx + esi]
jne 0x1409965
inc eax
cmp eax, 0x15
jb 0x14098e2
test edi, edi
je 0x14099a2
lea ecx, [edi + 5]
test ecx, ecx
jne 0x1409918
mov ecx, dword [0x15bd538]
add ecx, 5
mov dword [0x15bd538], ecx
xor edx, edx
mov al, byte [ecx]
cmp al, 0xff
jne 0x140997c
mov al, byte [ecx + 1]
cmp al, 0x15
jne 0x1409971
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x140998c
cmp al, 0x25
jne 0x140999a
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x1409953
cmp al, 0xe8
je 0x140994b
cmp al, 0xe9
jne 0x140999a
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd538], ecx
cmp edx, 1
jb 0x1409833
jmp 0x140999c
inc edi
inc esi
cmp edi, ebx
jb 0x14098e0
jmp 0x14099a2
cmp al, 0x25
jne 0x140999a
mov eax, dword [ecx + 2]
mov ecx, dword [eax]
jmp 0x140998c
cmp al, 0xe8
je 0x1409984
cmp al, 0xe9
jne 0x140999a
mov eax, dword [ecx + 1]
add ecx, 5
add ecx, eax
inc edx
mov dword [0x15bd538], ecx
cmp edx, 1
jb 0x1409920
jmp 0x140999c
xor ecx, ecx
mov dword [0x15bbed4], ecx
cmp dword [0x15bbed4], 0
jne 0x14099bf
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 [0x15bcf60], 3
movq xmm0, qword [0x1586910]
mov eax, dword [0x1586918]
movq qword [ebp - 0xd4], xmm0
movups xmm0, xmmword [0x1586ba0]
mov dword [ebp - 0xcc], eax
movzx eax, word [0x158691c]
movups xmmword [ebp - 0x164], xmm0
mov word [ebp - 0xc8], ax
movups xmm0, xmmword [str.Couldnt_get_client_library_studio_model_rendering]
mov eax, dword [0x1586bb0]
mov dword [ebp - 0x154], eax
movzx eax, word [0x1586bb4]
movups xmmword [ebp - 0x1e8], xmm0
mov word [ebp - 0x150], ax
movups xmm0, xmmword [0x1586bc8]
movzx eax, word [0x1586be8]
mov word [ebp - 0x1b8], ax
mov al, byte [0x1586bea]
movups xmmword [ebp - 0x1d8], xmm0
mov byte [ebp - 0x1b6], al
movups xmm0, xmmword [0x1586bd8]
movups xmmword [ebp - 0x1c8], xmm0
movups xmm0, xmmword [str.Couldnt_get_client_.dll_studio_model_rendering]
movups xmmword [ebp - 0x218], xmm0
movups xmm0, xmmword [0x1586bfc]
movups xmmword [ebp - 0x208], xmm0
movups xmm0, xmmword [0x1586c0c]
movups xmmword [ebp - 0x1f8], xmm0
jne 0x1409a92
lea eax, [ebp - 0x1e8]
mov esi, 0x32
jmp 0x1409a9d
lea eax, [ebp - 0x218]
mov esi, 0x2f
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
test edx, edx
je 0x1409ad5
mov ebx, edx
sub ebx, esi
add ebx, dword [ebp - 0x24]
cmp edx, ebx
jae 0x1409ad5
mov edi, edx
sub edi, eax
xor ecx, ecx
mov dl, byte [eax]
cmp dl, 0x2a
je 0x1409ac8
cmp dl, byte [edi + eax]
jne 0x1409b88
inc ecx
inc eax
cmp ecx, esi
jb 0x1409ab8
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x1409b2b
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x1409c0e
mov edi, ecx
mov dword [ebp - 0xc], ecx
sub edi, esi
add edi, dword [ebp - 0x20]
cmp ecx, edi
jae 0x1409c0e
mov ebx, dword [ebp - 0x14]
sub ecx, ebx
mov dword [ebp - 0x1c], ecx
nop word [eax + eax]
xor ecx, ecx
mov eax, ebx
mov dl, byte [eax]
cmp dl, 0x2a
je 0x1409b1a
mov ebx, dword [ebp - 0x1c]
cmp dl, byte [ebx + eax]
mov ebx, dword [ebp - 0x14]
jne 0x1409ba0
inc ecx
inc eax
cmp ecx, esi
jb 0x1409b04
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1409c0e
mov dword [ebp - 0xd3], eax
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff3
add ebx, ecx
mov edi, ecx
cmp ecx, ebx
jae 0x1409c0e
mov esi, ecx
lea eax, [ebp - 0xd4]
sub esi, eax
xor eax, eax
lea ecx, [ebp - 0xd4]
add ecx, eax
mov dl, byte [ecx]
cmp dl, 0x2a
je 0x1409b66
cmp dl, byte [ecx + esi]
jne 0x1409bb7
inc eax
cmp eax, 0xd
jb 0x1409b52
test edi, edi
je 0x1409c0e
add edi, 0xffffffb0
jne 0x1409bbf
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff3
mov edi, ecx
add ebx, ecx
jmp 0x1409b46
mov edx, dword [ebp - 0xc]
inc edi
mov eax, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, ebx
jb 0x1409ab6
jmp 0x1409ad5
mov edx, dword [ebp - 0xc]
inc dword [ebp - 0x1c]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, edi
jb 0x1409b00
jmp 0x1409c0e
inc edi
inc esi
cmp edi, ebx
jb 0x1409b50
jmp 0x1409c0e
lea ebx, [edi + 0x3b]
cmp edi, ebx
jae 0x1409c31
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 0x1409bea
cmp dl, byte [ecx + esi]
jne 0x1409c2b
inc eax
cmp eax, 0x15
jb 0x1409bd6
test edi, edi
je 0x1409b31
mov eax, dword [edi + 5]
mov dword [0x15bbec8], eax
mov eax, dword [edi + 0xa]
mov dword [0x15bcf38], edi
mov dword [0x15bbed8], eax
cmp dword [0x15bcf38], 0
jne 0x1409c43
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 0x1409bd4
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0xfffffff3
mov edi, ecx
add ebx, ecx
jmp 0x1409b46
mov esi, dword [0x15bbf34]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x14], 0
mov eax, dword [esi]
mov dword [0x15bbeec], eax
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push esi
mov dword [0x15bbf10], 0x1408020
call edi
test eax, eax
je 0x1409c88
lea eax, [ebp - 0x14]
mov dword [esi], 0x15bbf10
push eax
push dword [ebp - 0x14]
push 4
push esi
call edi
mov ax, word [0x1586c70]
mov esi, dword [0x15bcf38]
movups xmm0, xmmword [0x1586c5c]
mov ebx, dword [0x1586c6c]
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 0x1409cf7
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 [0x15bcf48]
test eax, eax
je 0x1409d10
push 0
push 0x1405d30
push eax
call fcn.0140a550
add esp, 0xc
mov eax, dword [0x15bbed4]
test eax, eax
je 0x1409d29
push 0
push 0x1405d40
push eax
call fcn.0140a550
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 [0x15bcf4c]
mov byte [0x15bbed0], 1
test esi, esi
je 0x1409d82
mov eax, dword [esi + 0x3c]
sub eax, 2
je 0x1409d73
sub eax, 1
je 0x1409d62
sub eax, 1
jne 0x1409d7b
mov ecx, dword [esi + 0x38]
mov eax, dword [0x15bcf54]
mov edx, dword [ecx]
push dword [eax]
call dword [edx + 0xc]
jmp 0x1409d7b
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x1409d50
push 8
push dword [0x15bbee8]
xor edx, edx
xor ecx, ecx
push dword [0x15bcf50]
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 0x1408c69
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.LdrRegisterDllNotification
push esi
call edi
test eax, eax
je 0x1409de0
push 0x15bcfbc
push 0
push 0x1403b00
push 0
call eax
test eax, eax
jns 0x1408c69
push str.LdrLoadDll
push esi
call edi
mov dword [0x15bbeb4], eax
test eax, eax
je 0x1408c69
call fcn.01401610
sub esp, 0xc
mov edx, 0x1403a80
mov ecx, 0x15bbeb4
call fcn.01401950
call fcn.014016a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret