Function at 0x66eb38
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff9e0
mov eax, 0x69d2ab
xor edx, edx
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x7c], 0x6f522c
mov dword [ebp - 0x78], esp
mov dword [ebp - 0x80], eax
mov word [ebp - 0x74], 0
mov dword [ebp - 0x68], edx
mov ecx, dword fs:[0]
mov dword [ebp - 0x84], ecx
lea eax, [ebp - 0x84]
mov dword fs:[0], eax
mov dl, byte [edi + 0x48]
test dl, dl
je 0x66eb9b
mov ecx, dword [ebp - 0x84]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0x670203
mov word [ebp - 0x74], 8
xor eax, eax
mov ebx, 4
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x88]
mov dword [ebp - 8], edx
mov dword [ebp - 0x8c], 0x6ff378
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x90]
mov eax, 0x6ff36c
cmp eax, 0x6ff36c
mov ecx, dword [edx + 8]
mov dword [ebp - 0x2a4], ecx
je 0x66ebf8
push 0x6ff36c
call sub.KERNEL32.DLL_InterlockedIncrement
inc dword [ebp - 0x68]
xor edx, edx
mov word [ebp - 0x74], 0x20
mov word [ebp - 0x74], 0x2c
mov dword [ebp - 0x94], edx
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x98], 0x6ff378
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x9c], edx
mov ecx, dword [ebp - 0x9c]
mov edx, 0x6ff36c
cmp edx, 0x6ff36c
mov eax, dword [ecx + 8]
mov dword [ebp - 0x2b4], eax
je 0x66ec5a
push 0x6ff36c
call sub.KERNEL32.DLL_InterlockedIncrement
inc dword [ebp - 0x68]
xor ecx, ecx
mov word [ebp - 0x74], 0x20
mov word [ebp - 0x74], 0x44
mov dword [ebp - 0xa0], ecx
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xa4], 0x6ff378
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0xa8]
mov ecx, 0x6ff36c
cmp ecx, 0x6ff36c
mov edx, dword [eax + 8]
mov dword [ebp - 0x2c4], edx
je 0x66ecbc
push 0x6ff36c
call sub.KERNEL32.DLL_InterlockedIncrement
inc dword [ebp - 0x68]
xor eax, eax
mov word [ebp - 0x74], 0x20
mov word [ebp - 0x74], 0x5c
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x40]
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0xb0], 0x6ff378
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp - 0xb4]
mov eax, 0x6ff36c
cmp eax, 0x6ff36c
mov ecx, dword [edx + 8]
mov dword [ebp - 0x2d4], ecx
je 0x66ed1d
push 0x6ff36c
call sub.KERNEL32.DLL_InterlockedIncrement
inc dword [ebp - 0x68]
mov word [ebp - 0x74], 0x20
mov edx, dword [ebp + 0xc]
lea ecx, [edx + ebx]
mov dword [ebp - 0x29c], ecx
jmp 0x66ed5b
mov eax, dword [ebp - 0x29c]
mov al, byte [eax]
push eax
push 1
push 0
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 4]
push ecx
lea eax, [ebp - 0x10]
push eax
call fcn.0069ba0c
add esp, 0x14
inc ebx
inc dword [ebp - 0x29c]
mov edx, dword [ebp - 0x29c]
mov cl, byte [edx]
test cl, cl
je 0x66ed6b
cmp esi, ebx
jg 0x66ed34
cmp esi, ebx
jne 0x66f00a
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x66ee0b
mov edx, dword [ebp - 0x38]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66edbd
mov ebx, dword [ebp - 0x38]
add ebx, 0xfffffff4
cmp ebx, 0x6ff36c
je 0x66edb4
cmp ebx, 0x6ff36c
je 0x66edad
push ebx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebx]
inc eax
jmp 0x66edb9
mov eax, 1
jmp 0x66edb9
mov eax, 1
test eax, eax
jne 0x66ee0b
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff4
mov dword [ebp - 0xb8], edx
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff4
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0xc0], edx
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0xc4], eax
mov edx, dword [ebp - 0xc4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x2e4], ecx
mov word [ebp - 0x74], 0x20
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x66eea9
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66ee5b
mov esi, dword [ebp - 0x28]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x66ee52
cmp esi, 0x6ff36c
je 0x66ee4b
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x66ee57
mov eax, 1
jmp 0x66ee57
mov eax, 1
test eax, eax
jne 0x66eea9
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff4
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff4
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebp - 0xcc]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0xd0], edx
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xd4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x2f4], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x66ef41
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66eef3
mov edi, dword [ebp - 0x18]
add edi, 0xfffffff4
cmp edi, 0x6ff36c
je 0x66eeea
cmp edi, 0x6ff36c
je 0x66eee3
push edi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [edi]
inc eax
jmp 0x66eeef
mov eax, 1
jmp 0x66eeef
mov eax, 1
test eax, eax
jne 0x66ef41
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff4
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff4
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0xe0], edx
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x304], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 8]
test eax, eax
je 0x66eff9
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66efab
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0xe8], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0xe8]
cmp edx, ecx
je 0x66efa2
mov eax, 0x6ff36c
mov edx, dword [ebp - 0xe8]
cmp eax, edx
je 0x66ef9b
mov ecx, dword [ebp - 0xe8]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax]
inc edx
jmp 0x66efa7
mov edx, 1
jmp 0x66efa7
mov edx, 1
test edx, edx
jne 0x66eff9
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff4
mov dword [ebp - 0xf0], ecx
mov eax, dword [ebp - 0xf0]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0xf4], edx
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 8], ecx
mov dword [ebp - 0xf8], eax
mov edx, dword [ebp - 0xf8]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x314], ecx
mov eax, dword [ebp - 0x84]
mov dword fs:[0], eax
jmp 0x670203
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x30]
push ecx
call fcn.0069a2e0
add esp, 8
push 0x6f4cc9
lea eax, [ebp - 0x10]
push eax
call fcn.0069a464
add esp, 8
inc ebx
mov edx, dword [ebp + 0xc]
lea ecx, [edx + ebx]
mov dword [ebp - 0x29c], ecx
jmp 0x66f061
mov eax, dword [ebp - 0x29c]
mov al, byte [eax]
push eax
push 1
push 0
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 4]
push ecx
lea eax, [ebp - 0x10]
push eax
call fcn.0069ba0c
add esp, 0x14
inc ebx
inc dword [ebp - 0x29c]
mov edx, dword [ebp - 0x29c]
mov cl, byte [edx]
test cl, cl
je 0x66f071
cmp esi, ebx
jg 0x66f03a
cmp esi, ebx
jne 0x66f310
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x66f111
mov edx, dword [ebp - 0x38]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f0c3
mov ebx, dword [ebp - 0x38]
add ebx, 0xfffffff4
cmp ebx, 0x6ff36c
je 0x66f0ba
cmp ebx, 0x6ff36c
je 0x66f0b3
push ebx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebx]
inc eax
jmp 0x66f0bf
mov eax, 1
jmp 0x66f0bf
mov eax, 1
test eax, eax
jne 0x66f111
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff4
mov dword [ebp - 0xfc], edx
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff4
mov dword [ebp - 0x100], ecx
mov eax, dword [ebp - 0x100]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x104], edx
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x108], eax
mov edx, dword [ebp - 0x108]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x324], ecx
mov word [ebp - 0x74], 0x20
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x66f1af
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f161
mov esi, dword [ebp - 0x28]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x66f158
cmp esi, 0x6ff36c
je 0x66f151
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x66f15d
mov eax, 1
jmp 0x66f15d
mov eax, 1
test eax, eax
jne 0x66f1af
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff4
mov dword [ebp - 0x10c], edx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff4
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0x110]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x114], edx
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x334], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x66f247
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f1f9
mov edi, dword [ebp - 0x18]
add edi, 0xfffffff4
cmp edi, 0x6ff36c
je 0x66f1f0
cmp edi, 0x6ff36c
je 0x66f1e9
push edi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [edi]
inc eax
jmp 0x66f1f5
mov eax, 1
jmp 0x66f1f5
mov eax, 1
test eax, eax
jne 0x66f247
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff4
mov dword [ebp - 0x11c], edx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff4
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x120]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x124], edx
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x128], eax
mov edx, dword [ebp - 0x128]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x344], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 8]
test eax, eax
je 0x66f2ff
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f2b1
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x12c], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x12c]
cmp edx, ecx
je 0x66f2a8
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x12c]
cmp eax, edx
je 0x66f2a1
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax]
inc edx
jmp 0x66f2ad
mov edx, 1
jmp 0x66f2ad
mov edx, 1
test edx, edx
jne 0x66f2ff
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff4
mov dword [ebp - 0x134], ecx
mov eax, dword [ebp - 0x134]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x138], edx
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x13c], eax
mov edx, dword [ebp - 0x13c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x354], ecx
mov eax, dword [ebp - 0x84]
mov dword fs:[0], eax
jmp 0x670203
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x20]
push ecx
call fcn.0069a2e0
add esp, 8
push 0x6f4cca
lea eax, [ebp - 0x10]
push eax
call fcn.0069a464
add esp, 8
inc ebx
mov edx, dword [ebp + 0xc]
lea ecx, [edx + ebx]
mov dword [ebp - 0x29c], ecx
jmp 0x66f367
mov eax, dword [ebp - 0x29c]
mov al, byte [eax]
push eax
push 1
push 0
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 4]
push ecx
lea eax, [ebp - 0x10]
push eax
call fcn.0069ba0c
add esp, 0x14
inc ebx
inc dword [ebp - 0x29c]
mov edx, dword [ebp - 0x29c]
mov cl, byte [edx]
test cl, cl
je 0x66f377
cmp esi, ebx
jg 0x66f340
cmp esi, ebx
jne 0x66f616
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x66f417
mov edx, dword [ebp - 0x38]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f3c9
mov ebx, dword [ebp - 0x38]
add ebx, 0xfffffff4
cmp ebx, 0x6ff36c
je 0x66f3c0
cmp ebx, 0x6ff36c
je 0x66f3b9
push ebx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebx]
inc eax
jmp 0x66f3c5
mov eax, 1
jmp 0x66f3c5
mov eax, 1
test eax, eax
jne 0x66f417
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff4
mov dword [ebp - 0x140], edx
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff4
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0x144]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x148], edx
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x14c], eax
mov edx, dword [ebp - 0x14c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x364], ecx
mov word [ebp - 0x74], 0x20
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x66f4b5
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f467
mov esi, dword [ebp - 0x28]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x66f45e
cmp esi, 0x6ff36c
je 0x66f457
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x66f463
mov eax, 1
jmp 0x66f463
mov eax, 1
test eax, eax
jne 0x66f4b5
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff4
mov dword [ebp - 0x150], edx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff4
mov dword [ebp - 0x154], ecx
mov eax, dword [ebp - 0x154]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x158], edx
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp - 0x15c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x374], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x66f54d
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f4ff
mov edi, dword [ebp - 0x18]
add edi, 0xfffffff4
cmp edi, 0x6ff36c
je 0x66f4f6
cmp edi, 0x6ff36c
je 0x66f4ef
push edi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [edi]
inc eax
jmp 0x66f4fb
mov eax, 1
jmp 0x66f4fb
mov eax, 1
test eax, eax
jne 0x66f54d
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff4
mov dword [ebp - 0x160], edx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff4
mov dword [ebp - 0x164], ecx
mov eax, dword [ebp - 0x164]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x168], edx
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x16c], eax
mov edx, dword [ebp - 0x16c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x384], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 8]
test eax, eax
je 0x66f605
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f5b7
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x170], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x170]
cmp edx, ecx
je 0x66f5ae
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x170]
cmp eax, edx
je 0x66f5a7
mov ecx, dword [ebp - 0x170]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x170]
mov edx, dword [eax]
inc edx
jmp 0x66f5b3
mov edx, 1
jmp 0x66f5b3
mov edx, 1
test edx, edx
jne 0x66f605
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff4
mov dword [ebp - 0x178], ecx
mov eax, dword [ebp - 0x178]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x17c], edx
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x394], ecx
mov eax, dword [ebp - 0x84]
mov dword fs:[0], eax
jmp 0x670203
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x40]
push ecx
call fcn.0069a2e0
add esp, 8
mov al, byte [edi + 0x4a]
test al, al
je 0x66f8fd
lea ebx, [edi + 0x30]
mov eax, dword [ebx + 8]
mov edx, dword [eax - 4]
push edx
mov ecx, dword [ebx + 8]
push ecx
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax - 4]
push edx
push 0
push ecx
call fcn.0069b5b8
add esp, 0x14
test eax, eax
jne 0x66f65c
mov al, 1
jmp 0x66f65e
xor eax, eax
test al, al
je 0x66f8fd
dec dword [ebp - 0x68]
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x66f6fe
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x66f6b0
mov ebx, dword [ebp - 0x38]
add ebx, 0xfffffff4
cmp ebx, 0x6ff36c
je 0x66f6a7
cmp ebx, 0x6ff36c
je 0x66f6a0
push ebx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebx]
inc eax
jmp 0x66f6ac
mov eax, 1
jmp 0x66f6ac
mov eax, 1
test eax, eax
jne 0x66f6fe
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff4
mov dword [ebp - 0x184], edx
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff4
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 0x188]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x18c], edx
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x190], eax
mov edx, dword [ebp - 0x190]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x3a4], ecx
mov word [ebp - 0x74], 0x20
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x66f79c
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f74e
mov esi, dword [ebp - 0x28]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x66f745
cmp esi, 0x6ff36c
je 0x66f73e
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x66f74a
mov eax, 1
jmp 0x66f74a
mov eax, 1
test eax, eax
jne 0x66f79c
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff4
mov dword [ebp - 0x194], edx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff4
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x198]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x19c], edx
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1a0], eax
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x3b4], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x66f834
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f7e6
mov edi, dword [ebp - 0x18]
add edi, 0xfffffff4
cmp edi, 0x6ff36c
je 0x66f7dd
cmp edi, 0x6ff36c
je 0x66f7d6
push edi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [edi]
inc eax
jmp 0x66f7e2
mov eax, 1
jmp 0x66f7e2
mov eax, 1
test eax, eax
jne 0x66f834
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff4
mov dword [ebp - 0x1a4], edx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff4
mov dword [ebp - 0x1a8], ecx
mov eax, dword [ebp - 0x1a8]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x1ac], edx
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1b0], eax
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x3c4], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 8]
test eax, eax
je 0x66f8ec
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66f89e
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x1b4], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x1b4]
cmp edx, ecx
je 0x66f895
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x1b4]
cmp eax, edx
je 0x66f88e
mov ecx, dword [ebp - 0x1b4]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x1b4]
mov edx, dword [eax]
inc edx
jmp 0x66f89a
mov edx, 1
jmp 0x66f89a
mov edx, 1
test edx, edx
jne 0x66f8ec
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff4
mov dword [ebp - 0x1bc], ecx
mov eax, dword [ebp - 0x1bc]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x1c0], edx
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebp - 0x1c4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x3d4], ecx
mov eax, dword [ebp - 0x84]
mov dword fs:[0], eax
jmp 0x670203
lea ebx, [edi + 0x20]
mov eax, dword [ebx + 8]
mov edx, dword [eax - 4]
push edx
mov ecx, dword [ebx + 8]
push ecx
lea ecx, [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax - 4]
push edx
push 0
push ecx
call fcn.0069b5b8
add esp, 0x14
test eax, eax
je 0x66f928
mov al, 1
jmp 0x66f92a
xor eax, eax
test al, al
je 0x66fc09
dec dword [ebp - 0x68]
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x66f9ca
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x66f97c
mov ebx, dword [ebp - 0x38]
add ebx, 0xfffffff4
cmp ebx, 0x6ff36c
je 0x66f973
cmp ebx, 0x6ff36c
je 0x66f96c
push ebx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebx]
inc eax
jmp 0x66f978
mov eax, 1
jmp 0x66f978
mov eax, 1
test eax, eax
jne 0x66f9ca
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff4
mov dword [ebp - 0x1c8], edx
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff4
mov dword [ebp - 0x1cc], ecx
mov eax, dword [ebp - 0x1cc]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x1d0], edx
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x3e4], ecx
mov word [ebp - 0x74], 0x20
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x66fa88
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66fa3a
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff4
mov dword [ebp - 0x1d8], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x1d8]
cmp edx, ecx
je 0x66fa31
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x1d8]
cmp eax, edx
je 0x66fa2a
mov ecx, dword [ebp - 0x1d8]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax]
inc edx
jmp 0x66fa36
mov edx, 1
jmp 0x66fa36
mov edx, 1
test edx, edx
jne 0x66fa88
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff4
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff4
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0x1e0]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x1e4], edx
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1e8], eax
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x3f4], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x66fb40
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66faf2
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
mov dword [ebp - 0x1ec], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x1ec]
cmp edx, ecx
je 0x66fae9
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x1ec]
cmp eax, edx
je 0x66fae2
mov ecx, dword [ebp - 0x1ec]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x1ec]
mov edx, dword [eax]
inc edx
jmp 0x66faee
mov edx, 1
jmp 0x66faee
mov edx, 1
test edx, edx
jne 0x66fb40
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff4
mov dword [ebp - 0x1f4], ecx
mov eax, dword [ebp - 0x1f4]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x1f8], edx
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1fc], eax
mov edx, dword [ebp - 0x1fc]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x404], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 8]
test eax, eax
je 0x66fbf8
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66fbaa
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x200], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x200]
cmp edx, ecx
je 0x66fba1
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x200]
cmp eax, edx
je 0x66fb9a
mov ecx, dword [ebp - 0x200]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x200]
mov edx, dword [eax]
inc edx
jmp 0x66fba6
mov edx, 1
jmp 0x66fba6
mov edx, 1
test edx, edx
jne 0x66fbf8
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff4
mov dword [ebp - 0x208], ecx
mov eax, dword [ebp - 0x208]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x20c], edx
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x210], eax
mov edx, dword [ebp - 0x210]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x414], ecx
mov eax, dword [ebp - 0x84]
mov dword fs:[0], eax
jmp 0x670203
xor ebx, ebx
push 4
push 0x6f5600
lea eax, [ebp - 0x5b0]
add eax, ebx
push eax
call fcn.0069cc60
mov edx, dword [ebp - 0x28]
add esp, 0xc
add ebx, 4
mov ecx, dword [edx - 4]
inc ecx
lea edx, [ebp - 0x5b0]
push ecx
add edx, ebx
mov eax, dword [ebp - 0x28]
push eax
push edx
call fcn.0069cc60
mov ecx, dword [ebp - 0x28]
mov edx, dword [edi + 0x68]
add esp, 0xc
mov eax, dword [ecx - 4]
mov ecx, dword [edx - 4]
add eax, ebx
inc ecx
inc eax
mov ebx, eax
push ecx
mov eax, dword [edi + 0x68]
lea edx, [ebp - 0x5b0]
add edx, ebx
push eax
push edx
call fcn.0069cc60
mov ecx, dword [edi + 0x68]
mov edx, dword [edi + 0x78]
add esp, 0xc
mov eax, dword [ecx - 4]
mov ecx, dword [edx - 4]
add eax, ebx
inc ecx
inc eax
mov ebx, eax
push ecx
mov eax, dword [edi + 0x78]
lea edx, [ebp - 0x5b0]
add edx, ebx
push eax
push edx
call fcn.0069cc60
mov ecx, dword [edi + 0x78]
mov edx, dword [edi + 0x88]
add esp, 0xc
mov eax, dword [ecx - 4]
mov ecx, dword [edx - 4]
add eax, ebx
inc ecx
inc eax
mov ebx, eax
push ecx
mov eax, dword [edi + 0x88]
lea edx, [ebp - 0x5b0]
add edx, ebx
push eax
push edx
call fcn.0069cc60
mov ecx, dword [edi + 0x88]
add esp, 0xc
lea edx, [ebp - 0x40]
mov eax, dword [ecx - 4]
mov word [ebp - 0x74], 0x164
push str.mailslot_
push edx
add eax, ebx
lea ecx, [ebp - 0x60]
inc eax
push 0x6f4ccb
push ecx
mov ebx, eax
call fcn.0042b368
add esp, 0xc
lea eax, [ebp - 0x60]
push eax
inc dword [ebp - 0x68]
lea edx, [ebp - 0x50]
push edx
call fcn.00409058
add esp, 0xc
inc dword [ebp - 0x68]
dec dword [ebp - 0x68]
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x66fdbd
mov eax, dword [ebp - 0x58]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
je 0x66fd6f
mov ecx, dword [ebp - 0x58]
add ecx, 0xfffffff4
mov dword [ebp - 0x214], ecx
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x214]
cmp eax, edx
je 0x66fd66
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x214]
cmp ecx, eax
je 0x66fd5f
mov edx, dword [ebp - 0x214]
push edx
call sub.KERNEL32.DLL_InterlockedDecrement
mov ecx, dword [ebp - 0x214]
mov eax, dword [ecx]
inc eax
jmp 0x66fd6b
mov eax, 1
jmp 0x66fd6b
mov eax, 1
test eax, eax
jne 0x66fdbd
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff4
mov dword [ebp - 0x218], edx
mov ecx, dword [ebp - 0x58]
add ecx, 0xfffffff4
mov dword [ebp - 0x21c], ecx
mov eax, dword [ebp - 0x21c]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x220], edx
lea eax, [ebp - 0x60]
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x224], eax
mov edx, dword [ebp - 0x224]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x5c8], ecx
mov word [ebp - 0x74], 0x20
mov eax, dword [ebp - 0x48]
mov edx, dword [eax - 4]
mov dword [ebp - 0x228], edx
push str.RegCheckServ_U
call fcn.0069ce0c
pop ecx
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
push ecx
push 0
mov eax, dword [ebp - 0x22c]
push eax
push str.RegCheckServ_U
push 0
mov edx, dword [ebp - 0x228]
push edx
lea ecx, [ebp - 0x50]
push ecx
call fcn.0069ad68
add esp, 0x1c
push 0
push 0x80
push 3
push 0
push 1
push 0x40000000
mov eax, dword [ebp - 0x48]
push eax
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0x230], eax
mov edx, dword [ebp - 0x230]
cmp edx, 0xffffffff
je 0x66fe5f
push 0
lea ecx, [ebp - 0x234]
push ecx
push ebx
lea eax, [ebp - 0x5b0]
push eax
mov edx, dword [ebp - 0x230]
push edx
call sub.KERNEL32.DLL_WriteFile
mov ecx, dword [ebp - 0x230]
push ecx
call sub.KERNEL32.DLL_CloseHandle
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x66ff17
mov edx, dword [ebp - 0x48]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66fec9
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff4
mov dword [ebp - 0x238], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x238]
cmp edx, ecx
je 0x66fec0
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x238]
cmp eax, edx
je 0x66feb9
mov ecx, dword [ebp - 0x238]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x238]
mov edx, dword [eax]
inc edx
jmp 0x66fec5
mov edx, 1
jmp 0x66fec5
mov edx, 1
test edx, edx
jne 0x66ff17
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff4
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff4
mov dword [ebp - 0x240], ecx
mov eax, dword [ebp - 0x240]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x244], edx
lea eax, [ebp - 0x50]
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x248], eax
mov edx, dword [ebp - 0x248]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x5d8], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x66ffcf
mov edx, dword [ebp - 0x38]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x66ff81
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff4
mov dword [ebp - 0x24c], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x24c]
cmp edx, ecx
je 0x66ff78
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x24c]
cmp eax, edx
je 0x66ff71
mov ecx, dword [ebp - 0x24c]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x24c]
mov edx, dword [eax]
inc edx
jmp 0x66ff7d
mov edx, 1
jmp 0x66ff7d
mov edx, 1
test edx, edx
jne 0x66ffcf
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff4
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff4
mov dword [ebp - 0x254], ecx
mov eax, dword [ebp - 0x254]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x258], edx
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x25c], eax
mov edx, dword [ebp - 0x25c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x5e8], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x670087
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x670039
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff4
mov dword [ebp - 0x260], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x260]
cmp edx, ecx
je 0x670030
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x260]
cmp eax, edx
je 0x670029
mov ecx, dword [ebp - 0x260]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x260]
mov edx, dword [eax]
inc edx
jmp 0x670035
mov edx, 1
jmp 0x670035
mov edx, 1
test edx, edx
jne 0x670087
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff4
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff4
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x268]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x26c], edx
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x270], eax
mov edx, dword [ebp - 0x270]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x5f8], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x67013f
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x6700f1
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
mov dword [ebp - 0x274], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x274]
cmp edx, ecx
je 0x6700e8
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x274]
cmp eax, edx
je 0x6700e1
mov ecx, dword [ebp - 0x274]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x274]
mov edx, dword [eax]
inc edx
jmp 0x6700ed
mov edx, 1
jmp 0x6700ed
mov edx, 1
test edx, edx
jne 0x67013f
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff4
mov dword [ebp - 0x27c], ecx
mov eax, dword [ebp - 0x27c]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x280], edx
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x284], eax
mov edx, dword [ebp - 0x284]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x608], ecx
dec dword [ebp - 0x68]
mov eax, dword [ebp - 8]
test eax, eax
je 0x6701f7
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x6701a9
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x288], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x288]
cmp edx, ecx
je 0x6701a0
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x288]
cmp eax, edx
je 0x670199
mov ecx, dword [ebp - 0x288]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x288]
mov edx, dword [eax]
inc edx
jmp 0x6701a5
mov edx, 1
jmp 0x6701a5
mov edx, 1
test edx, edx
jne 0x6701f7
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff4
mov dword [ebp - 0x290], ecx
mov eax, dword [ebp - 0x290]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x294], edx
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x298], eax
mov edx, dword [ebp - 0x298]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x618], ecx
mov eax, dword [ebp - 0x84]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret