Function at 0x5ef028
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff388
mov eax, 0x69d2ab
xor edx, edx
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x88], 0x6e5600
mov dword [ebp - 0x84], esp
mov dword [ebp - 0x8c], eax
mov word [ebp - 0x80], 0
mov dword [ebp - 0x74], edx
mov ecx, dword fs:[0]
mov dword [ebp - 0x90], ecx
lea eax, [ebp - 0x90]
mov dword fs:[0], eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
push eax
push 0x6dd59e
push 0x6dd596
lea edx, [ebp - 0x340]
push edx
call fcn.006a0ad0
add esp, 0x14
mov word [ebp - 0x80], 8
push 0xa
lea ecx, [ebp - 0xb54]
push ecx
mov eax, dword [ebp + 0x14]
push eax
call fcn.006a55f4
add esp, 0xc
lea edx, [ebp - 0x98]
lea ecx, [ebp - 0x10]
push eax
push edx
push 0x6dd5a5
push ecx
call fcn.0069a6ec
add esp, 0xc
push eax
inc dword [ebp - 0x74]
mov eax, dword [ebp + 0x10]
push eax
lea edx, [ebp - 0x20]
push edx
call fcn.00408da0
add esp, 0xc
lea ecx, [ebp - 0x20]
push ecx
inc dword [ebp - 0x74]
lea eax, [ebp - 0x30]
push eax
call fcn.00409058
add esp, 0xc
lea edx, [ebp - 0x30]
push edx
inc dword [ebp - 0x74]
push edi
call fcn.0069a2e0
add esp, 8
dec dword [ebp - 0x74]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x5ef1bd
mov eax, dword [ebp - 0x28]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
je 0x5ef16f
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff4
mov dword [ebp - 0x9c], ecx
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x9c]
cmp eax, edx
je 0x5ef166
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x9c]
cmp ecx, eax
je 0x5ef15f
mov edx, dword [ebp - 0x9c]
push edx
call sub.KERNEL32.DLL_InterlockedDecrement
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx]
inc eax
jmp 0x5ef16b
mov eax, 1
jmp 0x5ef16b
mov eax, 1
test eax, eax
jne 0x5ef1bd
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff4
mov dword [ebp - 0xa0], edx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff4
mov dword [ebp - 0xa4], ecx
mov eax, dword [ebp - 0xa4]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0xa8], edx
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0xac]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xb5c], ecx
dec dword [ebp - 0x74]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x5ef275
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5ef227
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
mov dword [ebp - 0xb0], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0xb0]
cmp edx, ecx
je 0x5ef21e
mov eax, 0x6ff36c
mov edx, dword [ebp - 0xb0]
cmp eax, edx
je 0x5ef217
mov ecx, dword [ebp - 0xb0]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax]
inc edx
jmp 0x5ef223
mov edx, 1
jmp 0x5ef223
mov edx, 1
test edx, edx
jne 0x5ef275
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff4
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0xb8]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0xbc], edx
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0xc0]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xb6c], ecx
dec dword [ebp - 0x74]
mov eax, dword [ebp - 8]
test eax, eax
je 0x5ef32d
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5ef2df
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0xc4], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0xc4]
cmp edx, ecx
je 0x5ef2d6
mov eax, 0x6ff36c
mov edx, dword [ebp - 0xc4]
cmp eax, edx
je 0x5ef2cf
mov ecx, dword [ebp - 0xc4]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax]
inc edx
jmp 0x5ef2db
mov edx, 1
jmp 0x5ef2db
mov edx, 1
test edx, edx
jne 0x5ef32d
mov eax, dword [ebp - 8]
add eax, 0xfffffff4
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 8]
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 - 0x10]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 8], ecx
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xd4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xb7c], ecx
mov ebx, 1
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xd8], eax
mov edx, dword [edi + 0x14]
mov dword [ebp - 0xdc], edx
lea esi, [edi + 0x10]
mov eax, dword [ebp - 0xdc]
push eax
mov edx, dword [esi + 8]
push edx
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.004057f0
add esp, 0xc
mov dword [ebp - 0xe0], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
sub edx, ecx
test edx, edx
jns 0x5ef385
add edx, 0xf
sar edx, 4
shl edx, 4
sub dword [esi + 8], edx
mov eax, dword [ebp - 0xe4]
push eax
mov edx, dword [ebp - 0xe0]
push edx
push esi
call fcn.0040445c
add esp, 0xc
push ebx
push 0x6dd5ac
push 0x6dd5a7
lea ecx, [ebp - 0xba0]
push ecx
call fcn.006a0ad0
mov eax, dword [ebp + 8]
add esp, 0x10
lea ecx, [ebp - 0xb40]
mov edx, dword [eax + 0x30]
push edx
push 0x800
push ecx
lea eax, [ebp - 0xba0]
push 0x6dd5b3
push eax
lea edx, [ebp - 0x340]
push edx
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov cl, byte [ebp - 0xb40]
test cl, cl
je 0x5ef644
mov word [ebp - 0x80], 0x38
lea eax, [ebp - 0xf0]
push eax
lea edx, [ebp - 0xb40]
push edx
lea ecx, [ebp - 0x40]
push ecx
call fcn.0069a6ec
inc dword [ebp - 0x74]
lea esi, [edi + 0x10]
mov dword [ebp - 0xe8], eax
add esp, 0xc
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x18]
cmp eax, edx
je 0x5ef592
mov ecx, dword [esi + 8]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x5ef58c
mov word [ebp - 0x80], 0x44
xor edx, edx
mov dword [ebp - 0xf8], edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0xf8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xe8]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
jle 0x5ef4dd
mov edx, dword [ebp - 0xe8]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0xfc]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x100], ecx
mov eax, dword [ebp - 0x100]
mov edx, dword [eax + 8]
mov dword [ebp - 0xba8], edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 8]
add eax, 0xfffffff4
mov dword [ebp - 0x104], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x104]
cmp edx, ecx
je 0x5ef586
mov eax, dword [ebp - 0x104]
push eax
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5ef586
mov edx, dword [ebp - 0xe8]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 4]
mov dword [ebp - 0x108], eax
mov edx, dword [ebp - 0x108]
push edx
mov ecx, dword [ebp - 0x108]
push ecx
mov eax, dword [ebp - 0x44]
push eax
call fcn.0069a874
add esp, 0xc
mov dword [ebp - 0x110], eax
mov edx, dword [ebp - 0x110]
add edx, 0xc
mov dword [ebp - 0x10c], edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10c]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x114], edx
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xbb8], eax
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x11c], eax
mov edx, dword [ebp - 0x44]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x118]
push eax
mov edx, dword [ebp - 0x11c]
push edx
mov ecx, dword [ebp - 0x120]
push ecx
call fcn.0069cc60
add esp, 0xc
mov word [ebp - 0x80], 0x38
add dword [esi + 8], 0x10
jmp 0x5ef5a6
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [esi + 8]
push edx
push esi
call fcn.004069b4
add esp, 0xc
dec dword [ebp - 0x74]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x5ef63e
mov eax, dword [ebp - 0x38]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
je 0x5ef5f0
mov esi, dword [ebp - 0x38]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x5ef5e7
cmp esi, 0x6ff36c
je 0x5ef5e0
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x5ef5ec
mov eax, 1
jmp 0x5ef5ec
mov eax, 1
test eax, eax
jne 0x5ef63e
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff4
mov dword [ebp - 0x124], edx
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff4
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp - 0x128]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x12c], edx
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x130]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xbc8], ecx
inc ebx
jmp 0x5ef3a5
mov ebx, 1
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x134], eax
mov edx, dword [edi + 0x34]
mov dword [ebp - 0x138], edx
lea esi, [edi + 0x30]
mov eax, dword [ebp - 0x138]
push eax
mov edx, dword [esi + 8]
push edx
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.004057f0
add esp, 0xc
mov dword [ebp - 0x13c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x140], eax
mov edx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
sub edx, ecx
test edx, edx
jns 0x5ef69c
add edx, 0xf
sar edx, 4
shl edx, 4
sub dword [esi + 8], edx
mov eax, dword [ebp - 0x140]
push eax
mov edx, dword [ebp - 0x13c]
push edx
push esi
call fcn.0040445c
add esp, 0xc
push ebx
push 0x6dd5b9
push 0x6dd5b4
lea ecx, [ebp - 0xbec]
push ecx
call fcn.006a0ad0
mov eax, dword [ebp + 8]
add esp, 0x10
lea ecx, [ebp - 0xb40]
mov edx, dword [eax + 0x30]
push edx
push 0x800
push ecx
lea eax, [ebp - 0xbec]
push 0x6dd5c2
push eax
lea edx, [ebp - 0x340]
push edx
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov cl, byte [ebp - 0xb40]
test cl, cl
je 0x5efa18
movsx eax, byte [ebp - 0xb40]
push eax
call fcn.006a41c0
pop ecx
xor eax, eax
mov word [ebp - 0x80], 0x68
mov dword [ebp - 0x4c], eax
lea edx, [ebp - 0x54]
mov eax, 0x6ff378
mov dword [ebp - 0x4c], eax
mov eax, 0x6ff36c
mov ecx, dword [edx + 8]
cmp eax, 0x6ff36c
mov dword [ebp - 0xbf4], ecx
je 0x5ef752
push 0x6ff36c
call sub.KERNEL32.DLL_InterlockedIncrement
inc dword [ebp - 0x74]
lea edx, [ebp - 0xb40]
mov word [ebp - 0x80], 0x80
push edx
call fcn.0069ce0c
pop ecx
cmp eax, 2
jbe 0x5ef96e
movsx ecx, byte [ebp - 0xb40]
cmp ecx, 0x41
je 0x5ef78d
movsx eax, byte [ebp - 0xb40]
cmp eax, 0x44
jne 0x5ef96e
movsx edx, byte [ebp - 0xb3f]
cmp edx, 0x7c
jne 0x5ef96e
push 0x6dd5c3
lea ecx, [ebp - 0x54]
push ecx
call fcn.0069a464
add esp, 8
movsx eax, byte [ebp - 0xb40]
cmp eax, 0x44
jne 0x5ef7cb
push 0x6dd5c6
lea edx, [ebp - 0x54]
push edx
call fcn.0069a464
add esp, 8
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx - 4]
mov dword [ebp - 0x144], eax
lea edx, [ebp - 0xb3e]
push edx
call fcn.0069ce0c
pop ecx
push eax
push 0
push eax
lea ecx, [ebp - 0xb3e]
push ecx
push 0
mov eax, dword [ebp - 0x144]
push eax
lea edx, [ebp - 0x54]
push edx
call fcn.0069ad68
add esp, 0x1c
lea esi, [edi + 0x30]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x18]
cmp eax, edx
je 0x5ef95d
mov ecx, dword [esi + 8]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x5ef957
mov word [ebp - 0x80], 0x98
xor edx, edx
mov dword [ebp - 0x14c], edx
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x14c]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
jle 0x5ef8b4
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x150]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x154], eax
mov edx, dword [ebp - 0x154]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xc04], ecx
mov eax, dword [ebp - 0x58]
mov edx, dword [eax + 8]
add edx, 0xfffffff4
mov dword [ebp - 0x158], edx
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x158]
cmp ecx, eax
je 0x5ef951
mov edx, dword [ebp - 0x158]
push edx
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5ef951
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx - 4]
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp - 0x15c]
push edx
mov ecx, dword [ebp - 0x15c]
push ecx
mov eax, dword [ebp - 0x58]
push eax
call fcn.0069a874
add esp, 0xc
mov dword [ebp - 0x164], eax
mov edx, dword [ebp - 0x164]
add edx, 0xc
mov dword [ebp - 0x160], edx
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x160]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x168], edx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc14], eax
mov edx, dword [ebp - 0x15c]
mov dword [ebp - 0x16c], edx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x170], ecx
mov eax, dword [ebp - 0x58]
mov edx, dword [eax + 8]
mov dword [ebp - 0x174], edx
mov ecx, dword [ebp - 0x16c]
push ecx
mov eax, dword [ebp - 0x170]
push eax
mov edx, dword [ebp - 0x174]
push edx
call fcn.0069cc60
add esp, 0xc
mov word [ebp - 0x80], 0x8c
add dword [esi + 8], 0x10
jmp 0x5ef96e
lea ecx, [ebp - 0x54]
push ecx
mov eax, dword [esi + 8]
push eax
push esi
call fcn.004069b4
add esp, 0xc
inc ebx
dec dword [ebp - 0x74]
mov edx, dword [ebp - 0x4c]
test edx, edx
je 0x5efa07
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x5ef9b9
mov esi, dword [ebp - 0x4c]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x5ef9b0
cmp esi, 0x6ff36c
je 0x5ef9a9
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x5ef9b5
mov eax, 1
jmp 0x5ef9b5
mov eax, 1
test eax, eax
jne 0x5efa07
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff4
mov dword [ebp - 0x178], edx
mov ecx, dword [ebp - 0x4c]
add ecx, 0xfffffff4
mov dword [ebp - 0x17c], ecx
mov eax, dword [ebp - 0x17c]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x180], edx
lea eax, [ebp - 0x54]
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x184]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xc24], ecx
mov word [ebp - 0x80], 0x80
mov word [ebp - 0x80], 0
jmp 0x5ef6bc
mov ebx, 1
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x188], eax
mov edx, dword [edi + 0x54]
mov dword [ebp - 0x18c], edx
lea esi, [edi + 0x50]
mov eax, dword [ebp - 0x18c]
push eax
mov edx, dword [esi + 8]
push edx
mov ecx, dword [ebp - 0x188]
push ecx
call fcn.004057f0
add esp, 0xc
mov dword [ebp - 0x190], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x194], eax
mov edx, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x18c]
sub edx, ecx
test edx, edx
jns 0x5efa70
add edx, 0xf
sar edx, 4
shl edx, 4
sub dword [esi + 8], edx
mov eax, dword [ebp - 0x194]
push eax
mov edx, dword [ebp - 0x190]
push edx
push esi
call fcn.0040445c
add esp, 0xc
push ebx
push 0x6dd5ce
push 0x6dd5c9
lea ecx, [ebp - 0xc48]
push ecx
call fcn.006a0ad0
mov eax, dword [ebp + 8]
add esp, 0x10
lea ecx, [ebp - 0xb40]
mov edx, dword [eax + 0x30]
push edx
push 0x800
push ecx
lea eax, [ebp - 0xc48]
push 0x6dd5d3
push eax
lea edx, [ebp - 0x340]
push edx
call sub.KERNEL32.DLL_GetPrivateProfileStringA
mov cl, byte [ebp - 0xb40]
test cl, cl
je 0x5efd6a
jmp 0x5efafa
lea eax, [ebp - 0xb40]
push eax
call fcn.0069ce0c
pop ecx
mov byte [ebp + eax - 0xb41], 0
mov dl, byte [ebp - 0xb40]
test dl, dl
je 0x5efb1e
lea ecx, [ebp - 0xb40]
push ecx
call fcn.0069ce0c
pop ecx
movsx eax, byte [ebp + eax - 0xb41]
cmp eax, 0x20
je 0x5efae5
mov word [ebp - 0x80], 0xbc
lea edx, [ebp - 0x1a0]
push edx
lea ecx, [ebp - 0xb40]
push ecx
lea eax, [ebp - 0x68]
push eax
call fcn.0069a6ec
inc dword [ebp - 0x74]
lea esi, [edi + 0x50]
mov dword [ebp - 0x198], eax
add esp, 0xc
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x18]
cmp eax, edx
je 0x5efcb8
mov ecx, dword [esi + 8]
mov dword [ebp - 0x1a4], ecx
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x5efcb2
mov word [ebp - 0x80], 0xc8
xor edx, edx
mov dword [ebp - 0x1a8], edx
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x1a8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x198]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
jle 0x5efc03
mov edx, dword [ebp - 0x198]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x1ac], ecx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x1ac]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x1b0], ecx
mov eax, dword [ebp - 0x1b0]
mov edx, dword [eax + 8]
mov dword [ebp - 0xc50], edx
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ecx + 8]
add eax, 0xfffffff4
mov dword [ebp - 0x1b4], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x1b4]
cmp edx, ecx
je 0x5efcac
mov eax, dword [ebp - 0x1b4]
push eax
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5efcac
mov edx, dword [ebp - 0x198]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 4]
mov dword [ebp - 0x1b8], eax
mov edx, dword [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0x1b8]
push ecx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.0069a874
add esp, 0xc
mov dword [ebp - 0x1c0], eax
mov edx, dword [ebp - 0x1c0]
add edx, 0xc
mov dword [ebp - 0x1bc], edx
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x1bc]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x1c4], edx
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc60], eax
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1c8], edx
mov ecx, dword [ebp - 0x198]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x1cc], eax
mov edx, dword [ebp - 0x6c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x1d0], ecx
mov eax, dword [ebp - 0x1c8]
push eax
mov edx, dword [ebp - 0x1cc]
push edx
mov ecx, dword [ebp - 0x1d0]
push ecx
call fcn.0069cc60
add esp, 0xc
mov word [ebp - 0x80], 0xbc
add dword [esi + 8], 0x10
jmp 0x5efccc
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [esi + 8]
push edx
push esi
call fcn.004069b4
add esp, 0xc
dec dword [ebp - 0x74]
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x5efd64
mov eax, dword [ebp - 0x60]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
je 0x5efd16
mov esi, dword [ebp - 0x60]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x5efd0d
cmp esi, 0x6ff36c
je 0x5efd06
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x5efd12
mov eax, 1
jmp 0x5efd12
mov eax, 1
test eax, eax
jne 0x5efd64
mov edx, dword [ebp - 0x60]
add edx, 0xfffffff4
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffff4
mov dword [ebp - 0x1d8], ecx
mov eax, dword [ebp - 0x1d8]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x1dc], edx
lea eax, [ebp - 0x68]
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x1e0], eax
mov edx, dword [ebp - 0x1e0]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xc70], ecx
inc ebx
jmp 0x5efa90
mov eax, dword [ebp - 0x90]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret