Function at 0x76ec30
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Delete file
Get common file path
Get memory capacity
Read .ini file
Resolve function by parsing pe exports
Terminate process

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x7e3d4c
push eax
mov eax, 0x1170
mov dword fs:[0], esp
call fcn.007a3530
mov al, byte [0x870c08]
push ebx
push ebp
push esi
push edi
mov byte [esp + 0x1b4], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1b5]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x1b4]
push ecx
push 0x104
stosb byte es:[edi], al
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
lea edi, [esp + 0x1b4]
or ecx, 0xffffffff
xor eax, eax
xor ebp, ebp
repne scasb al, byte es:[edi]
mov dl, byte [esp + 0x13]
lea eax, [esp + 0x1b4]
not ecx
dec ecx
mov byte [esp + 0x3c], dl
push ecx
push eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
call fcn.00404eb0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1188], ebp
push ecx
call fcn.00440cc0
mov eax, dword [esp + 0x44]
add esp, 4
cmp eax, ebp
mov dword [esp + 0x1188], 0xffffffff
je 0x76ed02
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x76ecf9
cmp al, 0xff
je 0x76ecf9
dec al
mov byte [ecx], al
jmp 0x76ed02
push ecx
call fcn.007a02e0
add esp, 4
mov ecx, 0x46
mov esi, 0x86302c
lea edi, [esp + 0x4b8]
lea edx, [esp + 0x1b4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x4b8]
push edx
push eax
movsb byte es:[edi], byte [esi]
nop
nop
nop
nop
nop
lea ecx, [esp + 0x4c0]
push ecx
nop
nop
nop
nop
nop
add esp, 0xc
lea edx, [esp + 0x194]
push edx
call dword [sym.imp.kernel32.dll_GlobalMemoryStatus]
xor bl, bl
mov eax, dword [esp + 0x19c]
shr eax, 0x14
cmp eax, 0x1f4
jge 0x76ed60
mov bl, 1
mov eax, dword [0x862d60]
push eax
push ebp
push ebp
call dword [sym.imp.kernel32.dll_CreateMutexA]
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0xb7
jmp 0x76ed98
mov ecx, dword [esp + 0x1180]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x117c
ret 0x10
mov cl, byte [0x870c08]
xor eax, eax
mov byte [esp + 0x90], cl
mov ecx, 0x40
lea edi, [esp + 0x91]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x8b1594]
cmp eax, ebp
jne 0x76edc6
mov eax, 0x7e5658
lea edx, [esp + 0x90]
push eax
push edx
call dword [sym.imp.kernel32.dll_lstrcpyA]
lea eax, [esp + 0x90]
push 0x863020
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
mov esi, dword [sym.imp.kernel32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x90]
push ecx
push ebp
push 0x83030c
push 0x830304
call esi
test bl, bl
je 0x76ee08
inc eax
inc eax
mov dword [0x8b169c], eax
jns 0x76ee18
mov dword [0x8b169c], ebp
jmp 0x76ee27
cmp eax, 2
jl 0x76ee27
mov dword [0x8b169c], 1
lea edx, [esp + 0x90]
push edx
push ebp
push 0x8302f8
push 0x830304
call esi
test bl, bl
mov dword [0x8b16a0], eax
je 0x76ee4b
inc eax
mov dword [0x8b16a0], eax
cmp eax, ebp
jge 0x76ee57
mov dword [0x8b16a0], ebp
jmp 0x76ee66
cmp eax, 2
jl 0x76ee66
mov dword [0x8b16a0], 1
lea eax, [esp + 0x90]
push eax
push ebp
push 0x8302ec
push 0x830304
call esi
test bl, bl
mov dword [0x8b16a4], eax
je 0x76ee8a
inc eax
mov dword [0x8b16a4], eax
cmp eax, ebp
jge 0x76ee96
mov dword [0x8b16a4], ebp
jmp 0x76eea5
cmp eax, 2
jl 0x76eea5
mov dword [0x8b16a4], 1
lea ecx, [esp + 0x90]
push ecx
push 1
push 0x8302e8
push 0x8302e0
call esi
lea edx, [esp + 0x90]
mov edi, 0x10
push edx
push edi
push 0x8302b8
push 0x8302cc
mov dword [0x8b1698], eax
call esi
test bl, bl
mov dword [0x8b16b0], eax
jne 0x76eeec
cmp eax, edi
je 0x76eef2
cmp eax, 0x20
je 0x76eef2
mov dword [0x8b16b0], edi
lea eax, [esp + 0x90]
push eax
push 0x400
push 0x8302d8
push 0x8302cc
call esi
lea ecx, [esp + 0x90]
mov dword [0x8b16a8], eax
push ecx
push 0x300
push 0x8302c4
push 0x8302cc
call esi
lea ecx, [esp + 0xb14]
mov dword [0x8b16ac], eax
call fcn.0075cf80
push ebp
lea ecx, [esp + 0xb18]
mov dword [esp + 0x118c], 1
call fcn.0075d160
mov edx, dword [0x8b16ac]
mov eax, dword [0x8b16a8]
mov ecx, dword [0x8b16b0]
push edx
push eax
push ecx
lea ecx, [esp + 0xb20]
call fcn.0075d7b0
test eax, eax
jmp 0x76ef8a
lea ecx, [esp + 0xb14]
call fcn.0075d6e0
lea edx, [esp + 0x90]
push edx
push 0x200
push 0x8302ac
push 0x8302cc
call esi
cmp eax, 0x80
mov dword [0x8b16b4], eax
jge 0x76efc7
mov dword [0x8b16b4], 0x80
jmp 0x76efd8
cmp eax, 0x200
jle 0x76efd8
mov dword [0x8b16b4], 0x200
lea eax, [esp + 0x90]
push eax
push 0x7d0
push 0x82d534
push 0x83029c
call esi
test bl, bl
mov dword [0x8b16c0], eax
je 0x76f006
mov dword [0x8b16c0], 0x3e8
jmp 0x76f02a
cmp eax, 0x3e8
jge 0x76f019
mov dword [0x8b16c0], 0x3e8
jmp 0x76f02a
cmp eax, 0x7d0
jle 0x76f02a
mov dword [0x8b16c0], 0x7d0
lea ecx, [esp + 0x90]
push ecx
push 0x30
push 0x8302ac
push 0x8302a4
call esi
test bl, bl
mov dword [0x8b16bc], eax
je 0x76f055
mov dword [0x8b16bc], 0x14
jmp 0x76f075
cmp eax, 0x14
jge 0x76f066
mov dword [0x8b16bc], 0x14
jmp 0x76f075
cmp eax, 0x30
jle 0x76f075
mov dword [0x8b16bc], 0x30
lea edx, [esp + 0x90]
push edx
push 1
push 0x830298
push 0x8302a4
call esi
lea ecx, [esp + 0x90]
cmp eax, ebp
push ecx
push 1
setne al
push 0x83029c
push 0x8302a4
mov byte [0x8b16c9], al
call esi
cmp eax, ebp
setne al
test al, al
mov byte [0x8b16ca], al
jne 0x76f0c9
mov al, byte [0x8b16c9]
mov byte [0x8b16c8], 0
test al, al
je 0x76f0d0
mov byte [0x8b16c8], 1
lea edx, [esp + 0x90]
push edx
push ebp
push 0x83028c
push 0x8302a4
call esi
cmp eax, ebp
setne al
test bl, bl
mov byte [0x8b16cb], al
je 0x76f0fa
mov byte [0x8b16cb], 0
lea ecx, [esp + 0x90]
push ecx
push 1
push 0x83027c
push 0x830274
call esi
cmp eax, ebp
lea eax, [esp + 0x90]
push eax
push ebp
setne dl
push 0x830268
push 0x830260
mov byte [0x8b16cc], dl
call esi
lea edx, [esp + 0x90]
cmp eax, ebp
push edx
push 1
setne cl
push 0x830250
push 0x830240
mov byte [0x8b16cd], cl
call esi
cmp eax, ebp
setne al
mov byte [0x8b16ce], al
mov eax, dword [0x8b1594]
cmp eax, ebp
jne 0x76f169
mov eax, 0x7e5658
lea ecx, [esp + 0x90]
push eax
push ecx
call dword [sym.imp.kernel32.dll_lstrcpyA]
lea edx, [esp + 0x90]
push 0x863014
push edx
call dword [sym.imp.kernel32.dll_lstrcatA]
lea eax, [esp + 0x90]
push eax
push ebp
push 0x83298c
push 0x832984
call esi
cmp eax, 0x578
mov dword [0x8b16c4], eax
jmp 0x76f1c6
mov edi, dword [esp + 0x1190]
push 5
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], 0x76e860
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
call dword [sym.imp.gdi32.dll_GetStockObject]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], ebp
push ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], 0x862dbc
call dword [sym.imp.user32.dll_RegisterClassA]
test ax, ax
jne 0x76f229
push 0x862d9c
call fcn.0045afa0
add esp, 4
push 0xffffffffffffffff
call fcn.007a3637
push ebp
push edi
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push SysReAllocString
push 0x862dbc
push 0x862dbc
push ebp
call dword [sym.imp.user32.dll_CreateWindowExA]
mov esi, dword [sym.imp.user32.dll_ShowWindow]
mov ebx, eax
push ebp
push ebx
mov dword [esp + 0x40], ebx
call esi
push edi
call fcn.0076e8a0
mov edi, eax
add esp, 4
cmp edi, ebp
mov dword [esp + 0x34], edi
je 0x76f997
cmp ebx, ebp
je 0x76f997
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x119c]
push edx
push edi
call esi
push edi
call dword [sym.imp.user32.dll_SetActiveWindow]
xor ebx, ebx
mov al, byte [esp + 0x13]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x14], al
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov cl, byte [esp + 0x13]
mov byte [esp + 0x1188], 2
mov byte [esp + 0x24], cl
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov edi, 0x862f70
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x118c], 3
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00401b40
test al, al
je 0x76f30c
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
mov esi, 0x862f70
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [eax + ebp], bl
mov edi, 0x862f60
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x28]
push ebp
call fcn.00401b40
test al, al
je 0x76f352
mov edi, dword [esp + 0x28]
mov ecx, ebp
mov edx, ecx
mov esi, 0x862f60
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], ebp
mov byte [eax + ebp], 0
mov eax, dword [esp + 0x28]
cmp eax, ebx
jne 0x76f35f
mov eax, 0x7e5658
push 0x82bddc
push eax
call fcn.007a3a24
mov edi, dword [sym.imp.kernel32.dll_Sleep]
mov ebx, dword [sym.imp.kernel32.dll_DeleteFileA]
add esp, 8
test eax, eax
je 0x76f46d
push eax
call fcn.007a3949
add esp, 4
push 0x64
call edi
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x76f39b
mov eax, 0x7e5658
push eax
call ebx
test eax, eax
je 0x76f3c2
mov eax, dword [esp + 0x18]
mov ecx, 0x7e5658
test eax, eax
je 0x76f3b1
mov ecx, eax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x76f463
jmp 0x76f45e
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x76f3cf
mov eax, 0x7e5658
push 0x82bddc
push eax
call fcn.007a3a24
add esp, 8
test eax, eax
je 0x76f46d
push eax
call fcn.007a3949
add esp, 4
push 0x12c
call edi
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x76f402
mov eax, 0x7e5658
push 0x82bddc
push eax
call fcn.007a3a24
add esp, 8
test eax, eax
je 0x76f447
push eax
call fcn.007a3949
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
jne 0x76f42a
mov eax, 0x7e5658
push eax
call ebx
test eax, eax
je 0x76f46d
mov eax, dword [esp + 0x18]
mov ecx, 0x7e5658
test eax, eax
je 0x76f3b1
jmp 0x76f3af
mov eax, dword [esp + 0x18]
mov ecx, 0x7e5658
test eax, eax
je 0x76f456
mov ecx, eax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x76f463
mov eax, 0x7e5658
push ecx
push eax
call fcn.007a5d3b
add esp, 8
push 0x82bddc
push 0x862f4c
call fcn.007a3a24
mov esi, eax
add esp, 8
test esi, esi
je 0x76f4b2
push 0x3e8
call edi
push esi
call fcn.007a3949
add esp, 4
push 0x862f3c
call ebx
test eax, eax
je 0x76f4b2
push 0x862f3c
push 0x862f4c
call fcn.007a5d3b
add esp, 8
mov edi, dword [sym.imp.kernel32.dll_FindFirstFileA]
mov ebp, dword [sym.imp.kernel32.dll_FindClose]
lea ecx, [esp + 0x9d4]
push ecx
push 0x862d84
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x76f4e3
lea edx, [esp + 0xa00]
push edx
call ebx
push esi
call ebp
jmp 0x76f4be
mov esi, dword [esp + 0x1198]
test esi, esi
je 0x76f809
mov edi, dword [sym.imp.kernel32.dll_lstrlenA]
push esi
call edi
test eax, eax
jmp 0x76f51d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dl, byte [0x870c08]
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x7d5]
mov byte [esp + 0x7d4], dl
mov byte [esp + 0x2b8], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x2b9]
mov byte [esp + 0x5d4], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x5d5]
lea edx, [esp + 0x2b8]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x5d4]
stosb byte es:[edi], al
push ecx
lea eax, [esp + 0x7d8]
push edx
push eax
push 0x862f00
push esi
call fcn.007a42e5
mov ebx, dword [sym.imp.kernel32.dll_lstrcmpiA]
add esp, 0x14
lea ecx, [esp + 0x7d4]
push 0x862eec
push ecx
call ebx
test eax, eax
je 0x76f5e7
mov edx, dword [esp + 0x34]
push 0x40
push 0x863004
push 0x862ec0
push edx
call dword [sym.imp.user32.dll_MessageBoxA]
push 0xffffffffffffffff
call fcn.007a3637
lea edi, [esp + 0x2b8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
cmp ebp, 0xfffffffd
jbe 0x76f604
call fcn.007a02eb
mov edi, dword [0x9eba3c]
test edi, edi
je 0x76f631
mov al, byte [edi - 1]
test al, al
je 0x76f631
cmp al, 0xff
je 0x76f631
test ebp, ebp
jne 0x76f65d
mov cl, al
push ebp
dec cl
mov byte [edi - 1], cl
mov ecx, 0x9eba38
call fcn.00404e60
jmp 0x76f695
test ebp, ebp
jne 0x76f643
push 1
mov ecx, 0x9eba38
call fcn.00404e60
jmp 0x76f695
mov eax, dword [0x9eba44]
cmp eax, 0x1f
ja 0x76f651
cmp eax, ebp
jae 0x76f66e
push 1
mov ecx, 0x9eba38
call fcn.00404e60
push ebp
mov ecx, 0x9eba38
call fcn.00401c60
mov edi, dword [0x9eba3c]
mov ecx, ebp
lea esi, [esp + 0x2b8]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x9eba3c]
mov dword [0x9eba40], ebp
mov byte [ecx + ebp], 0
lea edi, [esp + 0x5d4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
cmp ebp, 0xfffffffd
jbe 0x76f6b2
call fcn.007a02eb
mov edi, dword [0x9eb9bc]
test edi, edi
je 0x76f6df
mov al, byte [edi - 1]
test al, al
je 0x76f6df
cmp al, 0xff
je 0x76f6df
test ebp, ebp
jne 0x76f70b
mov cl, al
push ebp
dec cl
mov byte [edi - 1], cl
mov ecx, 0x9eb9b8
call fcn.00404e60
jmp 0x76f742
test ebp, ebp
jne 0x76f6f1
push 1
mov ecx, 0x9eb9b8
call fcn.00404e60
jmp 0x76f742
mov eax, dword [0x9eb9c4]
cmp eax, 0x1f
ja 0x76f6ff
cmp eax, ebp
jae 0x76f71c
push 1
mov ecx, 0x9eb9b8
call fcn.00404e60
push ebp
mov ecx, 0x9eb9b8
call fcn.00401c60
mov edi, dword [0x9eb9bc]
mov ecx, ebp
lea esi, [esp + 0x5d4]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x9eb9bc]
mov dword [0x9eb9c0], ebp
mov byte [eax + ebp], 0
lea edi, [esp + 0x2b8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
cmp ebp, 0xfffffffd
jbe 0x76f75f
call fcn.007a02eb
mov edi, dword [0x9eb9ec]
test edi, edi
je 0x76f78c
mov al, byte [edi - 1]
test al, al
je 0x76f78c
cmp al, 0xff
je 0x76f78c
test ebp, ebp
jne 0x76f7b8
mov cl, al
push ebp
dec cl
mov byte [edi - 1], cl
mov ecx, 0x9eb9e8
call fcn.00404e60
jmp 0x76f7ef
test ebp, ebp
jne 0x76f79e
push 1
mov ecx, 0x9eb9e8
call fcn.00404e60
jmp 0x76f7ef
mov eax, dword [0x9eb9f4]
cmp eax, 0x1f
ja 0x76f7ac
cmp eax, ebp
jae 0x76f7c9
push 1
mov ecx, 0x9eb9e8
call fcn.00404e60
push ebp
mov ecx, 0x9eb9e8
call fcn.00401c60
mov edi, dword [0x9eb9ec]
mov ecx, ebp
lea esi, [esp + 0x2b8]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x9eb9ec]
mov dword [0x9eb9f0], ebp
mov byte [eax + ebp], 0
lea ecx, [esp + 0x7d4]
push 0x862e9c
push ecx
call ebx
test eax, eax
sete dl
mov byte [0x9ebaf5], dl
call dword [sym.imp.kernel32.dll_GetCurrentThread]
push 1
push eax
call dword [sym.imp.kernel32.dll_SetThreadAffinityMask]
test eax, eax
jne 0x76f830
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push 0x862e7c
call fcn.0045afa0
add esp, 8
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1190]
push eax
push edi
push ecx
call fcn.007623b0
add esp, 0xc
test al, al
je 0x76f85d
mov edx, dword [0x9eba9c]
push edx
call fcn.00763cc0
add esp, 4
push edi
mov byte [0x9ec4b0], 0
call dword [sym.imp.user32.dll_GetDC]
push 0
mov esi, eax
push 0x76ec00
push 0
push esi
call dword [sym.imp.gdi32.dll_EnumFontFamiliesA]
push esi
push edi
call dword [sym.imp.user32.dll_ReleaseDC]
mov al, byte [0x9ec4b0]
test al, al
jne 0x76f8a0
push 0x862e50
push 0x862e48
call fcn.0076e9d0
add esp, 8
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x74]
mov ebx, 0x12
rep stosd dword es:[edi], eax
cmp dword [esp + 0x78], ebx
je 0x76f900
mov esi, dword [sym.imp.user32.dll_PeekMessageA]
mov edi, dword [sym.imp.user32.dll_TranslateMessage]
mov ebp, dword [sym.imp.user32.dll_DispatchMessageA]
push 1
push 0
push 0
lea eax, [esp + 0x80]
push 0
push eax
call esi
test eax, eax
je 0x76f8f0
lea ecx, [esp + 0x74]
push ecx
call edi
lea edx, [esp + 0x74]
push edx
call ebp
jmp 0x76f8fa
call fcn.00763a50
call fcn.00763a90
cmp dword [esp + 0x78], ebx
jne 0x76f8ca
call fcn.00762f10
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x7c]
xor edi, edi
mov byte [esp + 0x1188], 2
cmp ecx, edi
je 0x76f936
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x76f92d
cmp al, 0xff
je 0x76f92d
dec al
mov byte [ecx], al
jmp 0x76f936
push ecx
call fcn.007a02e0
add esp, 4
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
cmp ecx, edi
mov byte [esp + 0x1188], 1
je 0x76f96d
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x76f964
cmp al, 0xff
je 0x76f964
dec al
mov byte [ecx], al
jmp 0x76f96d
push ecx
call fcn.007a02e0
add esp, 4
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
lea ecx, [esp + 0xb14]
mov dword [esp + 0x1188], 0xffffffff
call fcn.0075d040
mov eax, esi
jmp 0x76ed7d
push 0x862e64
call fcn.0045afa0
add esp, 4
push 0xffffffffffffffff
call fcn.007a3637
nop
nop
nop
nop
nop
mov al, byte [0x9eec15]
push ebx
mov bl, 1
test bl, al
jne 0x76f9cd
or al, bl
mov ecx, 0x9eec20
mov byte [0x9eec15], al
call fcn.004014e0
push 0x4014c0
call fcn.007a2d4c
mov al, byte [0x9eec34]
add esp, 4
test bl, al
jne 0x76f9f4
or al, bl
mov ecx, 0x9eec40
mov byte [0x9eec34], al
call fcn.004015c0
push 0x4014a0
call fcn.007a2d4c
mov al, byte [0x9eec54]
add esp, 4
test bl, al
jne 0x76fa1b
or al, bl
mov ecx, 0x9eec60
mov byte [0x9eec54], al
call fcn.004016a0
push 0x401480
call fcn.007a2d4c
mov al, byte [0x9eec74]
add esp, 4
test bl, al
jne 0x76fa42
or al, bl
mov ecx, 0x9eec80
mov byte [0x9eec74], al
call fcn.00401780
push 0x401460
call fcn.007a2d4c
mov al, byte [0x9eec94]
add esp, 4
test bl, al
jne 0x76fa69
or al, bl
mov ecx, 0x9eeca0
mov byte [0x9eec94], al
call fcn.00401860
push 0x401440
call fcn.007a2d4c
mov al, byte [0x9eecb4]
add esp, 4
test bl, al
jne 0x76fa90
or al, bl
mov ecx, 0x9eecc0
mov byte [0x9eecb4], al
call fcn.00401940
push 0x401420
call fcn.007a2d4c
add esp, 4
pop ebx
ret