Function at 0x5d1bec
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff77c
mov eax, 0x69d2ab
xor edx, edx
push ebx
push esi
push edi
mov dword [ebp - 0x1c4], 0x6e2eb8
mov dword [ebp - 0x1c0], esp
mov dword [ebp - 0x1c8], eax
mov word [ebp - 0x1bc], 0
mov dword [ebp - 0x1b0], edx
mov ecx, dword fs:[0]
mov dword [ebp - 0x1cc], ecx
lea eax, [ebp - 0x1cc]
mov dword fs:[0], eax
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x3c]
jmp 0x5d1c52
mov eax, dword [esi + 0x5c]
mov edx, dword [ebp + 0x14]
cmp eax, edx
je 0x5d1c5c
add esi, 0x78
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x40]
cmp esi, eax
jne 0x5d1c45
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x40]
cmp esi, ecx
jne 0x5d1c7a
xor eax, eax
mov edx, dword [ebp - 0x1cc]
mov dword fs:[0], edx
jmp 0x5d4198
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
mov edx, dword [eax - 4]
test edx, edx
sete cl
and ecx, 1
mov byte [ebp - 0x1cd], cl
mov al, byte [ebp - 0x1cd]
test al, al
jne 0x5d1cca
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov al, byte [esi]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.005d8d5c
add esp, 0x10
test al, al
jne 0x5d1cca
xor eax, eax
mov edx, dword [ebp - 0x1cc]
mov dword fs:[0], edx
jmp 0x5d4198
mov cl, byte [ebp - 0x1cd]
test cl, cl
jne 0x5d1d7e
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1d8], edx
mov ecx, dword [ebp - 0x1d4]
mov eax, dword [ecx + 8]
mov edx, dword [eax - 4]
push edx
mov ecx, dword [ebp - 0x1d4]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x1d8]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 4]
push eax
push 0
mov edx, dword [ebp - 0x1d8]
push edx
call fcn.0069b5b8
add esp, 0x14
test eax, eax
je 0x5d1d27
mov cl, 1
jmp 0x5d1d29
xor ecx, ecx
test cl, cl
je 0x5d1d7e
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
push edx
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 8]
push edx
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5d1df2
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov dl, byte [esi]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005d8d5c
add esp, 0x10
test al, al
je 0x5d1df2
xor eax, eax
mov edx, dword [ebp - 0x1cc]
mov dword fs:[0], edx
jmp 0x5d4198
mov cl, byte [ebp - 0x1cd]
test cl, cl
je 0x5d1df2
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov cl, byte [esi]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.005d8d5c
add esp, 0x10
test al, al
je 0x5d1db7
xor eax, eax
mov edx, dword [ebp - 0x1cc]
mov dword fs:[0], edx
jmp 0x5d4198
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6170]
test eax, eax
jl 0x5d1def
mov edx, dword [ebp + 8]
push edx
call fcn.0059b0a8
pop ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6170]
cmp eax, edx
jl 0x5d1def
xor eax, eax
mov ecx, dword [ebp - 0x1cc]
mov dword fs:[0], ecx
jmp 0x5d4198
inc dword [esi + 0x64]
mov word [ebp - 0x1bc], 0x14
mov ebx, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0x1dc], eax
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x118], edx
mov ecx, dword [ebx + 8]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
jle 0x5d1e80
mov edx, dword [ebx + 8]
lea eax, [ebp - 0x120]
mov dword [ebp - 0x1e0], edx
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x1e4], eax
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [edx + 8]
mov edx, 0x6ff36c
mov dword [ebp - 0x53c], ecx
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff4
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0x1e8]
cmp edx, ecx
je 0x5d1f23
mov eax, dword [ebp - 0x1e8]
push eax
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d1f23
mov edx, dword [ebx + 8]
mov ecx, dword [edx - 4]
mov dword [ebp - 0x1ec], ecx
mov eax, dword [ebp - 0x1ec]
push eax
mov edx, dword [ebp - 0x1ec]
push edx
lea ecx, [ebp - 0x120]
push ecx
call fcn.0069a874
mov dword [ebp - 0x1f4], eax
add esp, 0xc
mov eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x120]
add eax, 0xc
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x1f8], ecx
mov eax, dword [ebp - 0x1f8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x54c], edx
mov ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x1fc], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x204], edx
mov ecx, dword [ebp - 0x1fc]
push ecx
mov eax, dword [ebp - 0x200]
push eax
mov edx, dword [ebp - 0x204]
push edx
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x1b0]
lea ecx, [ebx + 0x10]
mov dword [ebp - 0x208], ecx
xor eax, eax
mov dword [ebp - 0x20c], eax
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x108], edx
mov ecx, dword [ebp - 0x208]
mov eax, dword [ecx + 8]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
jle 0x5d1fc0
mov ecx, dword [ebp - 0x208]
mov eax, dword [ecx + 8]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x210], eax
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x214], ecx
mov eax, dword [ebp - 0x214]
mov edx, dword [eax + 8]
mov eax, 0x6ff36c
mov dword [ebp - 0x55c], edx
mov ecx, dword [ebp - 0x108]
add ecx, 0xfffffff4
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x218]
cmp eax, edx
je 0x5d206f
mov ecx, dword [ebp - 0x218]
push ecx
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d206f
mov eax, dword [ebp - 0x208]
mov edx, dword [eax + 8]
mov ecx, dword [edx - 4]
mov dword [ebp - 0x21c], ecx
mov eax, dword [ebp - 0x21c]
push eax
mov edx, dword [ebp - 0x21c]
push edx
lea ecx, [ebp - 0x110]
push ecx
call fcn.0069a874
mov dword [ebp - 0x224], eax
add esp, 0xc
mov eax, dword [ebp - 0x224]
lea ecx, [ebp - 0x110]
add eax, 0xc
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x228], ecx
mov eax, dword [ebp - 0x228]
mov edx, dword [eax + 8]
mov dword [ebp - 0x56c], edx
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x22c], ecx
mov eax, dword [ebp - 0x208]
mov edx, dword [eax + 8]
mov dword [ebp - 0x230], edx
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x234], ecx
mov eax, dword [ebp - 0x22c]
push eax
mov edx, dword [ebp - 0x230]
push edx
mov ecx, dword [ebp - 0x234]
push ecx
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x1b0]
lea eax, [ebx + 0x20]
mov dword [ebp - 0x238], eax
xor edx, edx
mov dword [ebp - 0x23c], edx
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0xf8], ecx
mov eax, dword [ebp - 0x238]
mov edx, dword [eax + 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
jle 0x5d210c
mov eax, dword [ebp - 0x238]
mov edx, dword [eax + 8]
lea eax, [ebp - 0x100]
mov dword [ebp - 0x240], edx
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x244], eax
mov edx, dword [ebp - 0x244]
mov ecx, dword [edx + 8]
mov edx, 0x6ff36c
mov dword [ebp - 0x57c], ecx
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff4
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x248]
cmp edx, ecx
je 0x5d21bb
mov eax, dword [ebp - 0x248]
push eax
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d21bb
mov edx, dword [ebp - 0x238]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 4]
mov dword [ebp - 0x24c], eax
mov edx, dword [ebp - 0x24c]
push edx
mov ecx, dword [ebp - 0x24c]
push ecx
lea eax, [ebp - 0x100]
push eax
call fcn.0069a874
mov dword [ebp - 0x254], eax
add esp, 0xc
mov edx, dword [ebp - 0x254]
lea eax, [ebp - 0x100]
add edx, 0xc
mov dword [ebp - 0x250], edx
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x258], eax
mov edx, dword [ebp - 0x258]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x58c], ecx
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x25c], eax
mov edx, dword [ebp - 0x238]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x260], ecx
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x264], eax
mov edx, dword [ebp - 0x25c]
push edx
mov ecx, dword [ebp - 0x260]
push ecx
mov eax, dword [ebp - 0x264]
push eax
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x1b0]
lea edx, [ebx + 0x30]
mov dword [ebp - 0x268], edx
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0xe8], eax
mov edx, dword [ebp - 0x268]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
jle 0x5d2258
mov edx, dword [ebp - 0x268]
mov ecx, dword [edx + 8]
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x270], ecx
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x274], edx
mov ecx, dword [ebp - 0x274]
mov eax, dword [ecx + 8]
mov ecx, 0x6ff36c
mov dword [ebp - 0x59c], eax
mov edx, dword [ebp - 0xe8]
add edx, 0xfffffff4
mov dword [ebp - 0x278], edx
mov eax, dword [ebp - 0x278]
cmp ecx, eax
je 0x5d2307
mov edx, dword [ebp - 0x278]
push edx
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d2307
mov ecx, dword [ebp - 0x268]
mov eax, dword [ecx + 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x27c], edx
mov ecx, dword [ebp - 0x27c]
push ecx
mov eax, dword [ebp - 0x27c]
push eax
lea edx, [ebp - 0xf0]
push edx
call fcn.0069a874
mov dword [ebp - 0x284], eax
add esp, 0xc
mov ecx, dword [ebp - 0x284]
lea edx, [ebp - 0xf0]
add ecx, 0xc
mov dword [ebp - 0x280], ecx
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x288], edx
mov ecx, dword [ebp - 0x288]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x5ac], eax
mov edx, dword [ebp - 0x27c]
mov dword [ebp - 0x28c], edx
mov ecx, dword [ebp - 0x268]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x290], eax
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x294], edx
mov ecx, dword [ebp - 0x28c]
push ecx
mov eax, dword [ebp - 0x290]
push eax
mov edx, dword [ebp - 0x294]
push edx
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x1b0]
lea ecx, [ebx + 0x40]
mov dword [ebp - 0x298], ecx
xor eax, eax
mov dword [ebp - 0x29c], eax
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0x298]
mov eax, dword [ecx + 8]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
jle 0x5d23a4
mov ecx, dword [ebp - 0x298]
mov eax, dword [ecx + 8]
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x2a0], eax
mov edx, dword [ebp - 0x2a0]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x2a4], ecx
mov eax, dword [ebp - 0x2a4]
mov edx, dword [eax + 8]
mov eax, 0x6ff36c
mov dword [ebp - 0x5bc], edx
mov ecx, dword [ebp - 0xd8]
add ecx, 0xfffffff4
mov dword [ebp - 0x2a8], ecx
mov edx, dword [ebp - 0x2a8]
cmp eax, edx
je 0x5d2453
mov ecx, dword [ebp - 0x2a8]
push ecx
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d2453
mov eax, dword [ebp - 0x298]
mov edx, dword [eax + 8]
mov ecx, dword [edx - 4]
mov dword [ebp - 0x2ac], ecx
mov eax, dword [ebp - 0x2ac]
push eax
mov edx, dword [ebp - 0x2ac]
push edx
lea ecx, [ebp - 0xe0]
push ecx
call fcn.0069a874
mov dword [ebp - 0x2b4], eax
add esp, 0xc
mov eax, dword [ebp - 0x2b4]
lea ecx, [ebp - 0xe0]
add eax, 0xc
mov dword [ebp - 0x2b0], eax
mov edx, dword [ebp - 0x2b0]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x2b8], ecx
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x5cc], edx
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2bc], ecx
mov eax, dword [ebp - 0x298]
mov edx, dword [eax + 8]
mov dword [ebp - 0x2c0], edx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x2c4], ecx
mov eax, dword [ebp - 0x2bc]
push eax
mov edx, dword [ebp - 0x2c0]
push edx
mov ecx, dword [ebp - 0x2c4]
push ecx
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x1b0]
mov al, byte [ebx + 0x50]
mov byte [ebp - 0xd0], al
mov dl, byte [ebx + 0x51]
mov byte [ebp - 0xcf], dl
mov cl, byte [ebx + 0x52]
mov byte [ebp - 0xce], cl
mov al, byte [ebx + 0x53]
mov byte [ebp - 0xcd], al
mov dl, byte [ebx + 0x54]
mov byte [ebp - 0xcc], dl
mov cl, byte [ebx + 0x55]
mov byte [ebp - 0xcb], cl
mov al, byte [ebx + 0x56]
mov byte [ebp - 0xca], al
mov edx, dword [ebx + 0x58]
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebx + 0x5c]
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebx + 0x60]
mov dword [ebp - 0xc0], eax
mov edx, dword [ebx + 0x64]
mov dword [ebp - 0xbc], edx
mov ecx, dword [ebx + 0x68]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebx + 0x6c]
mov dword [ebp - 0xb4], eax
mov edx, dword [ebx + 0x70]
mov dword [ebp - 0xb0], edx
mov ecx, dword [ebx + 0x74]
mov dword [ebp - 0xac], ecx
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0xa8], eax
mov edx, dword [ebx + 0x80]
mov dword [ebp - 0xa0], edx
mov edx, dword [ebx + 0x84]
mov dword [ebp - 0x9c], edx
mov ecx, dword [ebx + 0x88]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebx + 0x8c]
mov dword [ebp - 0x94], ecx
mov eax, dword [ebx + 0x90]
mov dword [ebp - 0x90], eax
mov dl, byte [ebx + 0x94]
mov byte [ebp - 0x8c], dl
lea edx, [ebx + 0x98]
mov cl, byte [ebx + 0x95]
mov byte [ebp - 0x8b], cl
xor ecx, ecx
mov al, byte [ebx + 0x96]
mov byte [ebp - 0x8a], al
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x84], ecx
xor eax, eax
mov dword [ebp - 0x80], eax
xor edx, edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x2cc], 0x40
mov dword [ebp - 0x2d0], 1
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2cc]
cmp ecx, eax
jbe 0x5d2593
lea edx, [ebp - 0x2d0]
jmp 0x5d2599
lea edx, [ebp - 0x2cc]
mov eax, dword [edx]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ecx + 8]
mov ecx, dword [edx + 4]
sub eax, ecx
test eax, eax
jns 0x5d25bc
add eax, 0xf
sar eax, 4
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
shl eax, 4
push eax
call fcn.0067ac68
pop ecx
mov dword [ebp - 0x2d8], eax
mov edx, dword [ebp - 0x2d8]
test edx, edx
jne 0x5d2631
lea ecx, [ebp - 0x1cc]
mov eax, 0x6b0470
push ecx
push 0
push 0
push 0
push 1
push 0x40487c
push 0
mov dword [ebp - 0x144], eax
inc dword [ebp - 0x1b0]
mov edx, 0x6b045c
mov dword [ebp - 0x144], edx
lea ecx, [ebp - 0x144]
inc dword [ebp - 0x1b0]
push ecx
push 0x404824
call fcn.006aa5c5
add esp, 0x24
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x84], eax
mov edx, dword [ebp - 0x84]
push edx
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [edx + 4]
push ecx
call fcn.004048e0
mov dword [ebp - 0x80], eax
lea ecx, [ebx + 0xb8]
mov eax, dword [ebp - 0x80]
add esp, 0xc
mov dword [ebp - 0x70], eax
xor eax, eax
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x5dc], edx
xor edx, edx
inc dword [ebp - 0x1b0]
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x2e0], 0x40
mov dword [ebp - 0x2e4], 1
mov eax, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2e0]
cmp eax, edx
jbe 0x5d26bf
lea ecx, [ebp - 0x2e4]
jmp 0x5d26c5
lea ecx, [ebp - 0x2e0]
mov eax, dword [ecx]
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x2dc]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x2dc]
mov ecx, dword [edx + 4]
sub eax, ecx
test eax, eax
jns 0x5d26e5
add eax, 0xf
sar eax, 4
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e8]
shl eax, 4
push eax
call fcn.0067ac68
pop ecx
mov dword [ebp - 0x2ec], eax
mov edx, dword [ebp - 0x2ec]
test edx, edx
jne 0x5d275a
lea ecx, [ebp - 0x1cc]
mov eax, 0x6b0470
push ecx
push 0
push 0
push 0
push 1
push 0x40487c
push 0
mov dword [ebp - 0x148], eax
inc dword [ebp - 0x1b0]
mov edx, 0x6b045c
mov dword [ebp - 0x148], edx
lea ecx, [ebp - 0x148]
inc dword [ebp - 0x1b0]
push ecx
push 0x404824
call fcn.006aa5c5
add esp, 0x24
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x64]
push edx
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x2dc]
mov ecx, dword [edx + 4]
push ecx
call fcn.004048e0
mov dword [ebp - 0x60], eax
lea ecx, [ebx + 0xd8]
mov eax, dword [ebp - 0x60]
add esp, 0xc
mov dword [ebp - 0x50], eax
xor eax, eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x5ec], edx
xor edx, edx
inc dword [ebp - 0x1b0]
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2f4], 0x40
mov dword [ebp - 0x2f8], 1
mov eax, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x2f4]
cmp eax, edx
jbe 0x5d27e2
lea ecx, [ebp - 0x2f8]
jmp 0x5d27e8
lea ecx, [ebp - 0x2f4]
mov eax, dword [ecx]
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x2f0]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [edx + 4]
sub eax, ecx
test eax, eax
jns 0x5d2808
add eax, 0xf
sar eax, 4
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
shl eax, 4
push eax
call fcn.0067ac68
pop ecx
mov dword [ebp - 0x300], eax
mov edx, dword [ebp - 0x300]
test edx, edx
jne 0x5d287d
lea ecx, [ebp - 0x1cc]
mov eax, 0x6b0470
push ecx
push 0
push 0
push 0
push 1
push 0x40487c
push 0
mov dword [ebp - 0x14c], eax
inc dword [ebp - 0x1b0]
mov edx, 0x6b045c
mov dword [ebp - 0x14c], edx
lea ecx, [ebp - 0x14c]
inc dword [ebp - 0x1b0]
push ecx
push 0x404824
call fcn.006aa5c5
add esp, 0x24
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
push edx
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [edx + 4]
push ecx
call fcn.004048e0
mov dword [ebp - 0x40], eax
lea ecx, [ebx + 0xf8]
mov eax, dword [ebp - 0x40]
add esp, 0xc
mov dword [ebp - 0x30], eax
xor eax, eax
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x5fc], edx
xor edx, edx
inc dword [ebp - 0x1b0]
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x308], 0x40
mov dword [ebp - 0x30c], 1
mov eax, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x308]
cmp eax, edx
jbe 0x5d2905
lea ecx, [ebp - 0x30c]
jmp 0x5d290b
lea ecx, [ebp - 0x308]
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x304]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x304]
mov ecx, dword [edx + 4]
sub eax, ecx
test eax, eax
jns 0x5d292b
add eax, 0xf
sar eax, 4
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x310]
shl eax, 4
push eax
call fcn.0067ac68
pop ecx
mov dword [ebp - 0x314], eax
mov edx, dword [ebp - 0x314]
test edx, edx
jne 0x5d29a0
lea ecx, [ebp - 0x1cc]
mov eax, 0x6b0470
push ecx
push 0
push 0
push 0
push 1
push 0x40487c
push 0
mov dword [ebp - 0x150], eax
inc dword [ebp - 0x1b0]
mov edx, 0x6b045c
mov dword [ebp - 0x150], edx
lea ecx, [ebp - 0x150]
inc dword [ebp - 0x1b0]
push ecx
push 0x404824
call fcn.006aa5c5
add esp, 0x24
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x304]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x304]
mov ecx, dword [edx + 4]
push ecx
call fcn.004048e0
mov dword [ebp - 0x20], eax
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
xor eax, eax
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x60c], edx
inc dword [ebp - 0x1b0]
mov ecx, dword [ebx + 0x118]
mov dword [ebp - 8], ecx
inc dword [ebp - 0x1b0]
mov word [ebp - 0x1bc], 8
mov word [ebp - 0x1bc], 0x8c
mov dword [ebp - 0x318], eax
lea eax, [ebp - 0x140]
mov edx, dword [ebp - 0x318]
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x31c], 0x6ff378
mov ecx, dword [ebp - 0x31c]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x320], eax
mov edx, dword [ebp - 0x320]
mov eax, 0x6ff36c
cmp eax, 0x6ff36c
mov ecx, dword [edx + 8]
mov dword [ebp - 0x61c], ecx
je 0x5d2a5d
push 0x6ff36c
call sub.KERNEL32.DLL_InterlockedIncrement
inc dword [ebp - 0x1b0]
xor edx, edx
mov dword [ebp - 0x324], edx
lea edx, [ebp - 0x130]
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x328], 0x6ff378
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x32c], edx
mov ecx, dword [ebp - 0x32c]
mov edx, 0x6ff36c
cmp edx, 0x6ff36c
mov eax, dword [ecx + 8]
mov dword [ebp - 0x62c], eax
je 0x5d2abf
push 0x6ff36c
call sub.KERNEL32.DLL_InterlockedIncrement
inc dword [ebp - 0x1b0]
inc dword [ebp - 0x1b0]
lea ecx, [ebp - 0xf0]
mov word [ebp - 0x1bc], 8
push ecx
lea eax, [ebp - 0x140]
push eax
call fcn.0069a2e0
add esp, 8
lea edx, [ebp - 0x140]
push edx
call fcn.00443b04
pop ecx
lea ecx, [ebp - 0x140]
push ecx
lea eax, [ebp - 0xf0]
push eax
call fcn.0069a2e0
add esp, 8
xor ebx, ebx
jmp 0x5d3227
mov word [ebp - 0x1bc], 0xbc
mov eax, ebx
mov edi, eax
shl edi, 4
mov eax, dword [ebp - 0x84]
add edi, eax
xor eax, eax
mov dword [ebp - 0x158], eax
mov edx, dword [edi + 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
jle 0x5d2ba2
mov eax, dword [edi + 8]
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x330], eax
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x334], ecx
mov eax, dword [ebp - 0x334]
mov edx, dword [eax + 8]
mov eax, 0x6ff36c
mov dword [ebp - 0x63c], edx
mov ecx, dword [ebp - 0x158]
add ecx, 0xfffffff4
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x338]
cmp eax, edx
je 0x5d2c45
mov ecx, dword [ebp - 0x338]
push ecx
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d2c45
mov eax, dword [edi + 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x33c], edx
mov ecx, dword [ebp - 0x33c]
push ecx
mov eax, dword [ebp - 0x33c]
push eax
lea edx, [ebp - 0x160]
push edx
call fcn.0069a874
mov dword [ebp - 0x344], eax
add esp, 0xc
mov ecx, dword [ebp - 0x344]
lea edx, [ebp - 0x160]
add ecx, 0xc
mov dword [ebp - 0x340], ecx
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x348], edx
mov ecx, dword [ebp - 0x348]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x64c], eax
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x34c], edx
mov ecx, dword [edi + 8]
mov dword [ebp - 0x350], ecx
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x354], eax
mov edx, dword [ebp - 0x34c]
push edx
mov ecx, dword [ebp - 0x350]
push ecx
mov eax, dword [ebp - 0x354]
push eax
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x1b0]
mov word [ebp - 0x1bc], 0xb0
mov byte [ebp - 0x359], 0x7c
mov edx, dword [ebp - 0x158]
mov ecx, dword [edx - 4]
test ecx, ecx
jae 0x5d2c6f
mov eax, dword [0x6f85b4]
jmp 0x5d2cbf
mov edx, dword [ebp - 0x158]
mov ecx, dword [edx - 4]
mov dword [ebp - 0x360], ecx
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x364], eax
mov edx, dword [ebp - 0x360]
push edx
movsx ecx, byte [ebp - 0x359]
push ecx
mov eax, dword [ebp - 0x364]
push eax
call fcn.0069cf00
add esp, 0xc
mov edi, eax
test edi, edi
je 0x5d2cba
mov eax, edi
mov edx, dword [ebp - 0x158]
sub eax, edx
jmp 0x5d2cbf
mov eax, dword [0x6f85b4]
mov dword [ebp - 0x358], eax
mov edx, dword [ebp - 0x358]
mov ecx, dword [0x6f85b4]
cmp edx, ecx
je 0x5d3164
mov word [ebp - 0x1bc], 0xd4
mov eax, dword [ebp - 0x358]
lea edx, [ebp - 0x160]
push eax
push 0
push edx
lea ecx, [ebp - 0x170]
push ecx
call fcn.0069bdb0
add esp, 0x10
lea eax, [ebp - 0x170]
push eax
inc dword [ebp - 0x1b0]
lea edx, [ebp - 0x140]
push edx
call fcn.0069a2e0
add esp, 8
dec dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x168]
test ecx, ecx
je 0x5d2dcd
mov eax, dword [ebp - 0x168]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
je 0x5d2d73
mov edi, dword [ebp - 0x168]
add edi, 0xfffffff4
cmp edi, 0x6ff36c
je 0x5d2d6a
cmp edi, 0x6ff36c
je 0x5d2d63
push edi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [edi]
inc eax
jmp 0x5d2d6f
mov eax, 1
jmp 0x5d2d6f
mov eax, 1
test eax, eax
jne 0x5d2dcd
mov edx, dword [ebp - 0x168]
add edx, 0xfffffff4
mov dword [ebp - 0x368], edx
mov ecx, dword [ebp - 0x168]
add ecx, 0xfffffff4
mov dword [ebp - 0x36c], ecx
mov eax, dword [ebp - 0x36c]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x370], edx
lea eax, [ebp - 0x170]
mov ecx, dword [ebp - 0x370]
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x374], eax
mov edx, dword [ebp - 0x374]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x65c], ecx
mov word [ebp - 0x1bc], 0xb0
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x378], eax
mov edx, dword [ebp - 0x158]
mov ecx, dword [edx - 4]
test ecx, ecx
jae 0x5d30cb
lea eax, [ebp - 0x1cc]
lea edx, [ebp - 0x384]
push eax
push 0
push 0
push 0
push 1
push 0x406890
push 0
mov word [ebp - 0x1bc], 0xf8
push edx
mov edx, dword [str.string_index_out_of_range_in_function:__s__n_position:__d_is_greater_than_length:__d]
mov ecx, dword [ebp - 0x158]
mov eax, dword [ecx - 4]
lea ecx, [ebp - 0x754]
push eax
push 0
push 0x6dbe1d
push edx
push ecx
call fcn.0069c9cc
add esp, 0x14
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x37c]
push eax
lea edx, [ebp - 0x198]
push edx
call fcn.0069a6ec
inc dword [ebp - 0x1b0]
mov ecx, 0x6b0470
mov dword [ebp - 0x188], ecx
mov eax, 0x6b0484
inc dword [ebp - 0x1b0]
mov dword [ebp - 0x188], eax
xor edx, edx
add esp, 0xc
mov dword [ebp - 0x388], edx
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x178], ecx
mov word [ebp - 0x1bc], 0x104
mov eax, dword [ebp - 0x190]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
jle 0x5d2f0f
mov ecx, dword [ebp - 0x190]
lea edx, [ebp - 0x180]
mov dword [ebp - 0x38c], ecx
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x390], edx
mov ecx, dword [ebp - 0x390]
mov eax, dword [ecx + 8]
mov ecx, 0x6ff36c
mov dword [ebp - 0x75c], eax
mov edx, dword [ebp - 0x178]
add edx, 0xfffffff4
mov dword [ebp - 0x394], edx
mov eax, dword [ebp - 0x394]
cmp ecx, eax
je 0x5d2fb8
mov edx, dword [ebp - 0x394]
push edx
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d2fb8
mov ecx, dword [ebp - 0x190]
mov eax, dword [ecx - 4]
mov dword [ebp - 0x398], eax
mov edx, dword [ebp - 0x398]
push edx
mov ecx, dword [ebp - 0x398]
push ecx
lea eax, [ebp - 0x180]
push eax
call fcn.0069a874
mov dword [ebp - 0x3a0], eax
add esp, 0xc
mov edx, dword [ebp - 0x3a0]
lea eax, [ebp - 0x180]
add edx, 0xc
mov dword [ebp - 0x39c], edx
mov ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x3a4], eax
mov edx, dword [ebp - 0x3a4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x76c], ecx
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x3a8], eax
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x3ac], edx
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x3b0], ecx
mov eax, dword [ebp - 0x3a8]
push eax
mov edx, dword [ebp - 0x3ac]
push edx
mov ecx, dword [ebp - 0x3b0]
push ecx
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x1b0]
mov eax, 0x6b0434
mov word [ebp - 0x1bc], 0xf8
inc dword [ebp - 0x1b0]
mov dword [ebp - 0x188], eax
inc dword [ebp - 0x1b0]
dec dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x190]
test edx, edx
je 0x5d30ae
mov ecx, dword [ebp - 0x190]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x5d3054
mov edx, dword [ebp - 0x190]
add edx, 0xfffffff4
mov dword [ebp - 0x3b4], edx
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x3b4]
cmp ecx, eax
je 0x5d304b
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x3b4]
cmp edx, ecx
je 0x5d3044
mov eax, dword [ebp - 0x3b4]
push eax
call sub.KERNEL32.DLL_InterlockedDecrement
mov edx, dword [ebp - 0x3b4]
mov ecx, dword [edx]
inc ecx
jmp 0x5d3050
mov ecx, 1
jmp 0x5d3050
mov ecx, 1
test ecx, ecx
jne 0x5d30ae
mov eax, dword [ebp - 0x190]
add eax, 0xfffffff4
mov dword [ebp - 0x3b8], eax
mov edx, dword [ebp - 0x190]
add edx, 0xfffffff4
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3bc]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x3c0], edx
lea eax, [ebp - 0x198]
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x3c4], eax
mov edx, dword [ebp - 0x3c4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x77c], ecx
mov word [ebp - 0x1bc], 0xec
lea eax, [ebp - 0x188]
push eax
push 0x406834
call fcn.006aa5c5
add esp, 0x24
mov edx, dword [ebp - 0x158]
mov eax, dword [edx - 4]
mov byte [ebp - 0x3c5], 0
mov edx, dword [ebp - 0x378]
cmp eax, edx
jbe 0x5d30ed
mov ecx, dword [ebp - 0x378]
jmp 0x5d30ef
mov ecx, eax
mov dword [ebp - 0x3cc], ecx
push 0
push 0
lea eax, [ebp - 0x3c5]
push 0
push eax
mov edx, dword [ebp - 0x3cc]
lea eax, [ebp - 0x160]
push edx
push 0
push eax
call fcn.0069ad68
add esp, 0x1c
lea edx, [ebp - 0x140]
push edx
call fcn.00443b04
pop ecx
lea ecx, [ebp - 0x160]
push ecx
lea eax, [ebp - 0x140]
push eax
call fcn.0069b708
add esp, 8
lea edx, [ebp - 0x140]
push edx
mov dword [ebp - 0x3d0], ebx
mov ecx, dword [ebp - 0x3d0]
shl ecx, 4
mov eax, dword [ebp - 0x84]
add ecx, eax
push ecx
call fcn.0069a2e0
add esp, 8
dec dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x158]
test edx, edx
je 0x5d3214
mov ecx, dword [ebp - 0x158]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x5d31ba
mov edi, dword [ebp - 0x158]
add edi, 0xfffffff4
cmp edi, 0x6ff36c
je 0x5d31b1
cmp edi, 0x6ff36c
je 0x5d31aa
push edi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [edi]
inc eax
jmp 0x5d31b6
mov eax, 1
jmp 0x5d31b6
mov eax, 1
test eax, eax
jne 0x5d3214
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff4
mov dword [ebp - 0x3d4], edx
mov ecx, dword [ebp - 0x158]
add ecx, 0xfffffff4
mov dword [ebp - 0x3d8], ecx
mov eax, dword [ebp - 0x3d8]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x3dc], edx
lea eax, [ebp - 0x160]
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x3e0], eax
mov edx, dword [ebp - 0x3e0]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x78c], ecx
mov word [ebp - 0x1bc], 0xb0
mov word [ebp - 0x1bc], 8
inc ebx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x84]
sub eax, edx
test eax, eax
jns 0x5d3239
add eax, 0xf
sar eax, 4
cmp ebx, eax
jb 0x5d2b14
mov cl, byte [esi]
dec cl
je 0x5d3254
dec cl
je 0x5d327b
dec cl
je 0x5d32a2
jmp 0x5d32cf
mov eax, dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x120]
mov dl, byte [ebp - 0x1cd]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.005ed164
add esp, 0x14
jmp 0x5d3973
mov ecx, dword [ebp + 0x14]
push ecx
lea ecx, [ebp - 0x120]
mov al, byte [ebp - 0x1cd]
push eax
mov edx, dword [ebp + 0x10]
push edx
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.005f6de8
add esp, 0x14
jmp 0x5d3973
mov edx, dword [ebp + 0x14]
push edx
lea edx, [ebp - 0x120]
mov cl, byte [ebp - 0x1cd]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6180]
push eax
call fcn.0066c2f8
add esp, 0x14
jmp 0x5d3973
xor eax, eax
push eax
dec dword [ebp - 0x1b0]
dec dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x128]
test edx, edx
je 0x5d33a8
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x5d334e
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff4
mov dword [ebp - 0x3e4], edx
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x3e4]
cmp ecx, eax
je 0x5d3345
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x3e4]
cmp edx, ecx
je 0x5d333e
mov eax, dword [ebp - 0x3e4]
push eax
call sub.KERNEL32.DLL_InterlockedDecrement
mov edx, dword [ebp - 0x3e4]
mov ecx, dword [edx]
inc ecx
jmp 0x5d334a
mov ecx, 1
jmp 0x5d334a
mov ecx, 1
test ecx, ecx
jne 0x5d33a8
mov eax, dword [ebp - 0x128]
add eax, 0xfffffff4
mov dword [ebp - 0x3e8], eax
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff4
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x3ec]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x3f0], edx
lea eax, [ebp - 0x130]
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x3f4], eax
mov edx, dword [ebp - 0x3f4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x79c], ecx
mov word [ebp - 0x1bc], 8
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x138]
test eax, eax
je 0x5d3481
mov edx, dword [ebp - 0x138]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d3427
mov eax, dword [ebp - 0x138]
add eax, 0xfffffff4
mov dword [ebp - 0x3f8], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x3f8]
cmp edx, ecx
je 0x5d341e
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x3f8]
cmp eax, edx
je 0x5d3417
mov ecx, dword [ebp - 0x3f8]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x3f8]
mov edx, dword [eax]
inc edx
jmp 0x5d3423
mov edx, 1
jmp 0x5d3423
mov edx, 1
test edx, edx
jne 0x5d3481
mov eax, dword [ebp - 0x138]
add eax, 0xfffffff4
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x138]
add ecx, 0xfffffff4
mov dword [ebp - 0x400], ecx
mov eax, dword [ebp - 0x400]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x404], edx
lea eax, [ebp - 0x140]
mov ecx, dword [ebp - 0x404]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x408], eax
mov edx, dword [ebp - 0x408]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x7ac], ecx
dec dword [ebp - 0x1b0]
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x20]
push eax
mov edx, dword [ebp - 0x24]
push edx
lea ecx, [ebp - 0x28]
push ecx
call fcn.0040445c
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40c], eax
mov edx, dword [ebp - 0x40c]
push edx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x40]
push ecx
mov eax, dword [ebp - 0x44]
push eax
lea edx, [ebp - 0x48]
push edx
call fcn.0040445c
add esp, 0xc
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x410], ecx
mov eax, dword [ebp - 0x410]
push eax
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0x64]
push ecx
lea eax, [ebp - 0x68]
push eax
call fcn.0040445c
add esp, 0xc
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x414], edx
mov ecx, dword [ebp - 0x414]
push ecx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x80]
push eax
mov edx, dword [ebp - 0x84]
push edx
lea ecx, [ebp - 0x88]
push ecx
call fcn.0040445c
add esp, 0xc
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x418], eax
mov edx, dword [ebp - 0x418]
push edx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0xd8]
test ecx, ecx
je 0x5d3620
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
je 0x5d35c6
mov ecx, dword [ebp - 0xd8]
add ecx, 0xfffffff4
mov dword [ebp - 0x41c], ecx
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x41c]
cmp eax, edx
je 0x5d35bd
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x41c]
cmp ecx, eax
je 0x5d35b6
mov edx, dword [ebp - 0x41c]
push edx
call sub.KERNEL32.DLL_InterlockedDecrement
mov ecx, dword [ebp - 0x41c]
mov eax, dword [ecx]
inc eax
jmp 0x5d35c2
mov eax, 1
jmp 0x5d35c2
mov eax, 1
test eax, eax
jne 0x5d3620
mov edx, dword [ebp - 0xd8]
add edx, 0xfffffff4
mov dword [ebp - 0x420], edx
mov ecx, dword [ebp - 0xd8]
add ecx, 0xfffffff4
mov dword [ebp - 0x424], ecx
mov eax, dword [ebp - 0x424]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x428], edx
lea eax, [ebp - 0xe0]
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x42c], eax
mov edx, dword [ebp - 0x42c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x7bc], ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x5d36f0
mov edx, dword [ebp - 0xe8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d3696
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff4
mov dword [ebp - 0x430], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x430]
cmp edx, ecx
je 0x5d368d
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x430]
cmp eax, edx
je 0x5d3686
mov ecx, dword [ebp - 0x430]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x430]
mov edx, dword [eax]
inc edx
jmp 0x5d3692
mov edx, 1
jmp 0x5d3692
mov edx, 1
test edx, edx
jne 0x5d36f0
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff4
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0xe8]
add ecx, 0xfffffff4
mov dword [ebp - 0x438], ecx
mov eax, dword [ebp - 0x438]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x43c], edx
lea eax, [ebp - 0xf0]
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x440], eax
mov edx, dword [ebp - 0x440]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x7cc], ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x5d37c0
mov edx, dword [ebp - 0xf8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d3766
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff4
mov dword [ebp - 0x444], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x444]
cmp edx, ecx
je 0x5d375d
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x444]
cmp eax, edx
je 0x5d3756
mov ecx, dword [ebp - 0x444]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x444]
mov edx, dword [eax]
inc edx
jmp 0x5d3762
mov edx, 1
jmp 0x5d3762
mov edx, 1
test edx, edx
jne 0x5d37c0
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff4
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0xf8]
add ecx, 0xfffffff4
mov dword [ebp - 0x44c], ecx
mov eax, dword [ebp - 0x44c]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x450], edx
lea eax, [ebp - 0x100]
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x454], eax
mov edx, dword [ebp - 0x454]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x7dc], ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x108]
test eax, eax
je 0x5d3890
mov edx, dword [ebp - 0x108]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d3836
mov eax, dword [ebp - 0x108]
add eax, 0xfffffff4
mov dword [ebp - 0x458], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x458]
cmp edx, ecx
je 0x5d382d
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x458]
cmp eax, edx
je 0x5d3826
mov ecx, dword [ebp - 0x458]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x458]
mov edx, dword [eax]
inc edx
jmp 0x5d3832
mov edx, 1
jmp 0x5d3832
mov edx, 1
test edx, edx
jne 0x5d3890
mov eax, dword [ebp - 0x108]
add eax, 0xfffffff4
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x108]
add ecx, 0xfffffff4
mov dword [ebp - 0x460], ecx
mov eax, dword [ebp - 0x460]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x464], edx
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x468], eax
mov edx, dword [ebp - 0x468]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x7ec], ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x5d3960
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d3906
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff4
mov dword [ebp - 0x46c], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x46c]
cmp edx, ecx
je 0x5d38fd
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x46c]
cmp eax, edx
je 0x5d38f6
mov ecx, dword [ebp - 0x46c]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x46c]
mov edx, dword [eax]
inc edx
jmp 0x5d3902
mov edx, 1
jmp 0x5d3902
mov edx, 1
test edx, edx
jne 0x5d3960
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff4
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x118]
add ecx, 0xfffffff4
mov dword [ebp - 0x474], ecx
mov eax, dword [ebp - 0x474]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x478], edx
lea eax, [ebp - 0x120]
mov ecx, dword [ebp - 0x478]
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x47c], eax
mov edx, dword [ebp - 0x47c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x7fc], ecx
pop eax
mov edx, dword [ebp - 0x1cc]
mov dword fs:[0], edx
jmp 0x5d4198
mov ecx, dword [ebp + 0x14]
push ecx
lea eax, [ebp - 0x120]
push eax
push 0x6dbe40
mov edx, dword [ebp + 8]
push edx
call fcn.005d70d8
add esp, 0x10
call fcn.0040a35c
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x484]
push ecx
mov word [ebp - 0x1bc], 0x1b8
push eax
lea eax, [ebp - 0x1a8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 8]
push ecx
push eax
call fcn.0069a6ec
add esp, 0xc
inc dword [ebp - 0x1b0]
lea edx, [ebp - 0x1a8]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005dcd44
add esp, 0xc
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1a0]
test eax, eax
je 0x5d3aa7
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d3a4d
mov eax, dword [ebp - 0x1a0]
add eax, 0xfffffff4
mov dword [ebp - 0x488], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x488]
cmp edx, ecx
je 0x5d3a44
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x488]
cmp eax, edx
je 0x5d3a3d
mov ecx, dword [ebp - 0x488]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x488]
mov edx, dword [eax]
inc edx
jmp 0x5d3a49
mov edx, 1
jmp 0x5d3a49
mov edx, 1
test edx, edx
jne 0x5d3aa7
mov eax, dword [ebp - 0x1a0]
add eax, 0xfffffff4
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp - 0x1a0]
add ecx, 0xfffffff4
mov dword [ebp - 0x490], ecx
mov eax, dword [ebp - 0x490]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x494], edx
lea eax, [ebp - 0x1a8]
mov ecx, dword [ebp - 0x494]
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x498], eax
mov edx, dword [ebp - 0x498]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x80c], ecx
mov word [ebp - 0x1bc], 8
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
push edx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
push eax
call fcn.0069cfd8
add esp, 8
test eax, eax
je 0x5d3aeb
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 4]
test eax, eax
je 0x5d3aeb
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.005dcd44
add esp, 0xc
mov edx, dword [0x6badc0]
test edx, edx
je 0x5d3b02
mov ecx, dword [0x6badc0]
push ecx
call fcn.0049ad04
pop ecx
mov al, 1
push eax
dec dword [ebp - 0x1b0]
dec dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x128]
test edx, edx
je 0x5d3bdb
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x5d3b81
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff4
mov dword [ebp - 0x49c], edx
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x49c]
cmp ecx, eax
je 0x5d3b78
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x49c]
cmp edx, ecx
je 0x5d3b71
mov eax, dword [ebp - 0x49c]
push eax
call sub.KERNEL32.DLL_InterlockedDecrement
mov edx, dword [ebp - 0x49c]
mov ecx, dword [edx]
inc ecx
jmp 0x5d3b7d
mov ecx, 1
jmp 0x5d3b7d
mov ecx, 1
test ecx, ecx
jne 0x5d3bdb
mov eax, dword [ebp - 0x128]
add eax, 0xfffffff4
mov dword [ebp - 0x4a0], eax
mov edx, dword [ebp - 0x128]
add edx, 0xfffffff4
mov dword [ebp - 0x4a4], edx
mov eax, dword [ebp - 0x4a4]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x4a8], edx
lea eax, [ebp - 0x130]
mov ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x4ac], eax
mov edx, dword [ebp - 0x4ac]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x81c], ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x138]
test eax, eax
je 0x5d3cab
mov edx, dword [ebp - 0x138]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d3c51
mov eax, dword [ebp - 0x138]
add eax, 0xfffffff4
mov dword [ebp - 0x4b0], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x4b0]
cmp edx, ecx
je 0x5d3c48
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x4b0]
cmp eax, edx
je 0x5d3c41
mov ecx, dword [ebp - 0x4b0]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x4b0]
mov edx, dword [eax]
inc edx
jmp 0x5d3c4d
mov edx, 1
jmp 0x5d3c4d
mov edx, 1
test edx, edx
jne 0x5d3cab
mov eax, dword [ebp - 0x138]
add eax, 0xfffffff4
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x138]
add ecx, 0xfffffff4
mov dword [ebp - 0x4b8], ecx
mov eax, dword [ebp - 0x4b8]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x4bc], edx
lea eax, [ebp - 0x140]
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x4c0], eax
mov edx, dword [ebp - 0x4c0]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x82c], ecx
dec dword [ebp - 0x1b0]
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x20]
push eax
mov edx, dword [ebp - 0x24]
push edx
lea ecx, [ebp - 0x28]
push ecx
call fcn.0040445c
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c4], eax
mov edx, dword [ebp - 0x4c4]
push edx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x40]
push ecx
mov eax, dword [ebp - 0x44]
push eax
lea edx, [ebp - 0x48]
push edx
call fcn.0040445c
add esp, 0xc
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x4c8], ecx
mov eax, dword [ebp - 0x4c8]
push eax
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0x64]
push ecx
lea eax, [ebp - 0x68]
push eax
call fcn.0040445c
add esp, 0xc
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x4cc], edx
mov ecx, dword [ebp - 0x4cc]
push ecx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x80]
push eax
mov edx, dword [ebp - 0x84]
push edx
lea ecx, [ebp - 0x88]
push ecx
call fcn.0040445c
add esp, 0xc
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x4d0], eax
mov edx, dword [ebp - 0x4d0]
push edx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0xd8]
test ecx, ecx
je 0x5d3e4a
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
je 0x5d3df0
mov ecx, dword [ebp - 0xd8]
add ecx, 0xfffffff4
mov dword [ebp - 0x4d4], ecx
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x4d4]
cmp eax, edx
je 0x5d3de7
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x4d4]
cmp ecx, eax
je 0x5d3de0
mov edx, dword [ebp - 0x4d4]
push edx
call sub.KERNEL32.DLL_InterlockedDecrement
mov ecx, dword [ebp - 0x4d4]
mov eax, dword [ecx]
inc eax
jmp 0x5d3dec
mov eax, 1
jmp 0x5d3dec
mov eax, 1
test eax, eax
jne 0x5d3e4a
mov edx, dword [ebp - 0xd8]
add edx, 0xfffffff4
mov dword [ebp - 0x4d8], edx
mov ecx, dword [ebp - 0xd8]
add ecx, 0xfffffff4
mov dword [ebp - 0x4dc], ecx
mov eax, dword [ebp - 0x4dc]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x4e0], edx
lea eax, [ebp - 0xe0]
mov ecx, dword [ebp - 0x4e0]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x4e4], eax
mov edx, dword [ebp - 0x4e4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x83c], ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x5d3f1a
mov edx, dword [ebp - 0xe8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d3ec0
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff4
mov dword [ebp - 0x4e8], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x4e8]
cmp edx, ecx
je 0x5d3eb7
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x4e8]
cmp eax, edx
je 0x5d3eb0
mov ecx, dword [ebp - 0x4e8]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x4e8]
mov edx, dword [eax]
inc edx
jmp 0x5d3ebc
mov edx, 1
jmp 0x5d3ebc
mov edx, 1
test edx, edx
jne 0x5d3f1a
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff4
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0xe8]
add ecx, 0xfffffff4
mov dword [ebp - 0x4f0], ecx
mov eax, dword [ebp - 0x4f0]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x4f4], edx
lea eax, [ebp - 0xf0]
mov ecx, dword [ebp - 0x4f4]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x4f8], eax
mov edx, dword [ebp - 0x4f8]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x84c], ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x5d3fea
mov edx, dword [ebp - 0xf8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d3f90
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff4
mov dword [ebp - 0x4fc], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x4fc]
cmp edx, ecx
je 0x5d3f87
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x4fc]
cmp eax, edx
je 0x5d3f80
mov ecx, dword [ebp - 0x4fc]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x4fc]
mov edx, dword [eax]
inc edx
jmp 0x5d3f8c
mov edx, 1
jmp 0x5d3f8c
mov edx, 1
test edx, edx
jne 0x5d3fea
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff4
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0xf8]
add ecx, 0xfffffff4
mov dword [ebp - 0x504], ecx
mov eax, dword [ebp - 0x504]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x508], edx
lea eax, [ebp - 0x100]
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x50c], eax
mov edx, dword [ebp - 0x50c]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x85c], ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x108]
test eax, eax
je 0x5d40ba
mov edx, dword [ebp - 0x108]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d4060
mov eax, dword [ebp - 0x108]
add eax, 0xfffffff4
mov dword [ebp - 0x510], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x510]
cmp edx, ecx
je 0x5d4057
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x510]
cmp eax, edx
je 0x5d4050
mov ecx, dword [ebp - 0x510]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x510]
mov edx, dword [eax]
inc edx
jmp 0x5d405c
mov edx, 1
jmp 0x5d405c
mov edx, 1
test edx, edx
jne 0x5d40ba
mov eax, dword [ebp - 0x108]
add eax, 0xfffffff4
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x108]
add ecx, 0xfffffff4
mov dword [ebp - 0x518], ecx
mov eax, dword [ebp - 0x518]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x51c], edx
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x51c]
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x520], eax
mov edx, dword [ebp - 0x520]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x86c], ecx
dec dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x5d418a
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d4130
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff4
mov dword [ebp - 0x524], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x524]
cmp edx, ecx
je 0x5d4127
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x524]
cmp eax, edx
je 0x5d4120
mov ecx, dword [ebp - 0x524]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x524]
mov edx, dword [eax]
inc edx
jmp 0x5d412c
mov edx, 1
jmp 0x5d412c
mov edx, 1
test edx, edx
jne 0x5d418a
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff4
mov dword [ebp - 0x528], eax
mov ecx, dword [ebp - 0x118]
add ecx, 0xfffffff4
mov dword [ebp - 0x52c], ecx
mov eax, dword [ebp - 0x52c]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x530], edx
lea eax, [ebp - 0x120]
mov ecx, dword [ebp - 0x530]
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x534], eax
mov edx, dword [ebp - 0x534]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x87c], ecx
pop eax
mov edx, dword [ebp - 0x1cc]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret