Function at 0x5d764c
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffac4
mov eax, 0x69d2ab
xor edx, edx
push ebx
push esi
push edi
mov dword [ebp - 0x118], 0x6e3690
mov dword [ebp - 0x114], esp
mov dword [ebp - 0x11c], eax
mov word [ebp - 0x110], 0
mov dword [ebp - 0x104], edx
mov ecx, dword fs:[0]
mov dword [ebp - 0x120], ecx
lea eax, [ebp - 0x120]
mov dword fs:[0], eax
mov edx, dword [ebp + 8]
mov ebx, dword [edx + 0x3c]
jmp 0x5d76b2
mov eax, dword [ebx + 0x5c]
mov edx, dword [ebp + 0x14]
cmp eax, edx
je 0x5d76bc
add ebx, 0x78
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x40]
cmp ebx, eax
jne 0x5d76a5
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x40]
cmp ebx, ecx
jne 0x5d76da
xor eax, eax
mov edx, dword [ebp - 0x120]
mov dword fs:[0], edx
jmp 0x5d8c33
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 - 0x121], cl
mov al, byte [ebp - 0x121]
test al, al
jne 0x5d772a
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov al, byte [ebx]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.005d8db8
add esp, 0x10
test al, al
jne 0x5d772a
xor eax, eax
mov edx, dword [ebp - 0x120]
mov dword fs:[0], edx
jmp 0x5d8c33
mov cl, byte [ebp - 0x121]
test cl, cl
jne 0x5d77d6
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x128], eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x12c], edx
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + 8]
mov edx, dword [eax - 4]
push edx
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x12c]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 4]
push eax
push 0
mov edx, dword [ebp - 0x12c]
push edx
call fcn.0069b5b8
add esp, 0x14
test eax, eax
je 0x5d7787
mov cl, 1
jmp 0x5d7789
xor ecx, ecx
test cl, cl
je 0x5d77d6
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 0x5d7812
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov dl, byte [ebx]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005d8db8
add esp, 0x10
test al, al
je 0x5d7812
xor eax, eax
mov edx, dword [ebp - 0x120]
mov dword fs:[0], edx
jmp 0x5d8c33
mov cl, byte [ebp - 0x121]
test cl, cl
je 0x5d7812
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov cl, byte [ebx]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.005d8db8
add esp, 0x10
test al, al
je 0x5d780f
xor eax, eax
mov edx, dword [ebp - 0x120]
mov dword fs:[0], edx
jmp 0x5d8c33
inc dword [ebx + 0x68]
mov word [ebp - 0x110], 0x14
mov esi, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x70], edx
mov ecx, dword [esi + 8]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
jle 0x5d7894
mov edx, dword [esi + 8]
lea eax, [ebp - 0x78]
mov dword [ebp - 0x134], edx
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x138]
mov ecx, dword [edx + 8]
mov edx, 0x6ff36c
mov dword [ebp - 0x304], ecx
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff4
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x13c]
cmp edx, ecx
je 0x5d792b
mov eax, dword [ebp - 0x13c]
push eax
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d792b
mov edx, dword [esi + 8]
mov ecx, dword [edx - 4]
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp - 0x140]
push eax
mov edx, dword [ebp - 0x140]
push edx
lea ecx, [ebp - 0x78]
push ecx
call fcn.0069a874
mov dword [ebp - 0x148], eax
add esp, 0xc
mov eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x78]
add eax, 0xc
mov dword [ebp - 0x144], eax
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x14c]
mov edx, dword [eax + 8]
mov dword [ebp - 0x314], edx
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x150], ecx
mov eax, dword [esi + 8]
mov dword [ebp - 0x154], eax
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x158], edx
mov ecx, dword [ebp - 0x150]
push ecx
mov eax, dword [ebp - 0x154]
push eax
mov edx, dword [ebp - 0x158]
push edx
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x104]
xor eax, eax
mov dword [ebp - 0x64], eax
xor edx, edx
mov dword [ebp - 0x60], edx
xor ecx, ecx
mov dword [ebp - 0x50], ecx
lea edi, [esi + 0x10]
mov dword [ebp - 0x15c], 0x40
mov dword [ebp - 0x160], 1
mov eax, dword [ebp - 0x160]
mov edx, dword [ebp - 0x15c]
cmp eax, edx
jbe 0x5d796f
lea ecx, [ebp - 0x160]
jmp 0x5d7975
lea ecx, [ebp - 0x15c]
mov eax, dword [ecx]
mov dword [ebp - 0x68], eax
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
sub edx, eax
test edx, edx
jns 0x5d7989
add edx, 0xf
sar edx, 4
mov dword [ebp - 0x164], edx
mov edx, dword [ebp - 0x164]
shl edx, 4
push edx
call fcn.0067ac68
pop ecx
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
test ecx, ecx
jne 0x5d79fe
lea eax, [ebp - 0x120]
mov edx, 0x6b0470
push eax
push 0
push 0
push 0
push 1
push 0x40487c
push 0
mov dword [ebp - 0x9c], edx
inc dword [ebp - 0x104]
mov ecx, 0x6b045c
mov dword [ebp - 0x9c], ecx
lea eax, [ebp - 0x9c]
inc dword [ebp - 0x104]
push eax
push 0x404824
call fcn.006aa5c5
add esp, 0x24
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0x64]
push ecx
mov eax, dword [edi + 8]
push eax
mov edx, dword [edi + 4]
push edx
call fcn.004048e0
mov dword [ebp - 0x60], eax
xor edx, edx
mov ecx, dword [ebp - 0x60]
add esp, 0xc
mov dword [ebp - 0x50], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x50]
lea edi, [esi + 0x30]
mov dword [ebp - 0x324], eax
xor eax, eax
inc dword [ebp - 0x104]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x16c], 0x40
mov dword [ebp - 0x170], 1
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
cmp eax, edx
jbe 0x5d7a71
lea ecx, [ebp - 0x170]
jmp 0x5d7a77
lea ecx, [ebp - 0x16c]
mov eax, dword [ecx]
mov dword [ebp - 0x48], eax
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
sub edx, eax
test edx, edx
jns 0x5d7a8b
add edx, 0xf
sar edx, 4
mov dword [ebp - 0x174], edx
mov edx, dword [ebp - 0x174]
shl edx, 4
push edx
call fcn.0067ac68
pop ecx
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
test ecx, ecx
jne 0x5d7b00
lea eax, [ebp - 0x120]
mov edx, 0x6b0470
push eax
push 0
push 0
push 0
push 1
push 0x40487c
push 0
mov dword [ebp - 0xa0], edx
inc dword [ebp - 0x104]
mov ecx, 0x6b045c
mov dword [ebp - 0xa0], ecx
lea eax, [ebp - 0xa0]
inc dword [ebp - 0x104]
push eax
push 0x404824
call fcn.006aa5c5
add esp, 0x24
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x44]
push ecx
mov eax, dword [edi + 8]
push eax
mov edx, dword [edi + 4]
push edx
call fcn.004048e0
mov dword [ebp - 0x40], eax
xor edx, edx
mov ecx, dword [ebp - 0x40]
add esp, 0xc
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
lea edi, [esi + 0x50]
mov dword [ebp - 0x334], eax
xor eax, eax
inc dword [ebp - 0x104]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x17c], 0x40
mov dword [ebp - 0x180], 1
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
cmp eax, edx
jbe 0x5d7b73
lea ecx, [ebp - 0x180]
jmp 0x5d7b79
lea ecx, [ebp - 0x17c]
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
sub edx, eax
test edx, edx
jns 0x5d7b8d
add edx, 0xf
sar edx, 4
mov dword [ebp - 0x184], edx
mov edx, dword [ebp - 0x184]
shl edx, 4
push edx
call fcn.0067ac68
pop ecx
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0x188]
test ecx, ecx
jne 0x5d7c02
lea eax, [ebp - 0x120]
mov edx, 0x6b0470
push eax
push 0
push 0
push 0
push 1
push 0x40487c
push 0
mov dword [ebp - 0xa4], edx
inc dword [ebp - 0x104]
mov ecx, 0x6b045c
mov dword [ebp - 0xa4], ecx
lea eax, [ebp - 0xa4]
inc dword [ebp - 0x104]
push eax
push 0x404824
call fcn.006aa5c5
add esp, 0x24
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x24]
push ecx
mov eax, dword [edi + 8]
push eax
mov edx, dword [edi + 4]
push edx
call fcn.004048e0
mov dword [ebp - 0x20], eax
add esp, 0xc
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x344], eax
inc dword [ebp - 0x104]
mov edx, dword [esi + 0x70]
mov dword [ebp - 8], edx
inc dword [ebp - 0x104]
mov word [ebp - 0x110], 8
mov word [ebp - 0x110], 0x50
mov dword [ebp - 0x18c], ecx
lea ecx, [ebp - 0x98]
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x190], 0x6ff378
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x194], ecx
mov eax, dword [ebp - 0x194]
mov ecx, 0x6ff36c
cmp ecx, 0x6ff36c
mov edx, dword [eax + 8]
mov dword [ebp - 0x354], edx
je 0x5d7cb1
push 0x6ff36c
call sub.KERNEL32.DLL_InterlockedIncrement
inc dword [ebp - 0x104]
xor eax, eax
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x88]
mov edx, dword [ebp - 0x198]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x19c], 0x6ff378
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x1a0], eax
mov edx, dword [ebp - 0x1a0]
mov eax, 0x6ff36c
cmp eax, 0x6ff36c
mov ecx, dword [edx + 8]
mov dword [ebp - 0x364], ecx
je 0x5d7d0c
push 0x6ff36c
call sub.KERNEL32.DLL_InterlockedIncrement
inc dword [ebp - 0x104]
inc dword [ebp - 0x104]
mov word [ebp - 0x110], 8
xor esi, esi
jmp 0x5d842a
mov word [ebp - 0x110], 0x80
mov eax, esi
mov edi, eax
shl edi, 4
mov eax, dword [ebp - 0x64]
add edi, eax
xor eax, eax
mov dword [ebp - 0xac], eax
mov edx, dword [edi + 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
jle 0x5d7db3
mov eax, dword [edi + 8]
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x1a4], eax
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x1a8], ecx
mov eax, dword [ebp - 0x1a8]
mov edx, dword [eax + 8]
mov eax, 0x6ff36c
mov dword [ebp - 0x374], edx
mov ecx, dword [ebp - 0xac]
add ecx, 0xfffffff4
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x1ac]
cmp eax, edx
je 0x5d7e56
mov ecx, dword [ebp - 0x1ac]
push ecx
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d7e56
mov eax, dword [edi + 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x1b0], edx
mov ecx, dword [ebp - 0x1b0]
push ecx
mov eax, dword [ebp - 0x1b0]
push eax
lea edx, [ebp - 0xb4]
push edx
call fcn.0069a874
mov dword [ebp - 0x1b8], eax
add esp, 0xc
mov ecx, dword [ebp - 0x1b8]
lea edx, [ebp - 0xb4]
add ecx, 0xc
mov dword [ebp - 0x1b4], ecx
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x1bc], edx
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x384], eax
mov edx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1c0], edx
mov ecx, dword [edi + 8]
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x1c8], eax
mov edx, dword [ebp - 0x1c0]
push edx
mov ecx, dword [ebp - 0x1c4]
push ecx
mov eax, dword [ebp - 0x1c8]
push eax
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x104]
mov word [ebp - 0x110], 0x74
mov byte [ebp - 0x1c9], 0x7c
mov edx, dword [ebp - 0xac]
mov ecx, dword [edx - 4]
test ecx, ecx
jae 0x5d7e80
mov eax, dword [0x6f85b4]
jmp 0x5d7ed0
mov edx, dword [ebp - 0xac]
mov ecx, dword [edx - 4]
mov dword [ebp - 0x1d0], ecx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x1d0]
push edx
movsx ecx, byte [ebp - 0x1c9]
push ecx
mov eax, dword [ebp - 0x1d4]
push eax
call fcn.0069cf00
add esp, 0xc
mov edi, eax
test edi, edi
je 0x5d7ecb
mov eax, edi
mov edx, dword [ebp - 0xac]
sub eax, edx
jmp 0x5d7ed0
mov eax, dword [0x6f85b4]
mov edi, eax
mov edx, dword [0x6f85b4]
cmp edi, edx
je 0x5d8367
mov word [ebp - 0x110], 0x98
push edi
push 0
lea ecx, [ebp - 0xb4]
push ecx
lea eax, [ebp - 0xc4]
push eax
call fcn.0069bdb0
add esp, 0x10
lea edx, [ebp - 0xc4]
push edx
inc dword [ebp - 0x104]
lea ecx, [ebp - 0x98]
push ecx
call fcn.0069a2e0
add esp, 8
dec dword [ebp - 0x104]
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x5d7fee
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d7f94
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff4
mov dword [ebp - 0x1d8], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x1d8]
cmp edx, ecx
je 0x5d7f8b
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x1d8]
cmp eax, edx
je 0x5d7f84
mov ecx, dword [ebp - 0x1d8]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax]
inc edx
jmp 0x5d7f90
mov edx, 1
jmp 0x5d7f90
mov edx, 1
test edx, edx
jne 0x5d7fee
mov eax, dword [ebp - 0xbc]
add eax, 0xfffffff4
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0xbc]
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 - 0xc4]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x1e8], eax
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x394], ecx
mov word [ebp - 0x110], 0x74
mov eax, dword [ebp - 0xac]
mov edx, dword [eax - 4]
test edx, edx
jae 0x5d82df
lea ecx, [ebp - 0x120]
lea eax, [ebp - 0x1f4]
push ecx
push 0
push 0
push 0
push 1
push 0x406890
push 0
mov word [ebp - 0x110], 0xbc
push eax
mov eax, dword [str.string_index_out_of_range_in_function:__s__n_position:__d_is_greater_than_length:__d]
mov edx, dword [ebp - 0xac]
mov ecx, dword [edx - 4]
lea edx, [ebp - 0x48c]
push ecx
push 0
push 0x6dbeb0
push eax
push edx
call fcn.0069c9cc
add esp, 0x14
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
push ecx
lea eax, [ebp - 0xec]
push eax
call fcn.0069a6ec
inc dword [ebp - 0x104]
mov edx, 0x6b0470
mov dword [ebp - 0xdc], edx
mov ecx, 0x6b0484
inc dword [ebp - 0x104]
mov dword [ebp - 0xdc], ecx
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x1f8], eax
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0xcc], edx
mov word [ebp - 0x110], 0xc8
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
jle 0x5d8123
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x1fc], edx
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x200]
mov ecx, dword [edx + 8]
mov edx, 0x6ff36c
mov dword [ebp - 0x494], ecx
mov eax, dword [ebp - 0xcc]
add eax, 0xfffffff4
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x204]
cmp edx, ecx
je 0x5d81cc
mov eax, dword [ebp - 0x204]
push eax
call sub.KERNEL32.DLL_InterlockedIncrement
jmp 0x5d81cc
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx - 4]
mov dword [ebp - 0x208], ecx
mov eax, dword [ebp - 0x208]
push eax
mov edx, dword [ebp - 0x208]
push edx
lea ecx, [ebp - 0xd4]
push ecx
call fcn.0069a874
mov dword [ebp - 0x210], eax
add esp, 0xc
mov eax, dword [ebp - 0x210]
lea ecx, [ebp - 0xd4]
add eax, 0xc
mov dword [ebp - 0x20c], eax
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0x214], ecx
mov eax, dword [ebp - 0x214]
mov edx, dword [eax + 8]
mov dword [ebp - 0x4a4], edx
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ecx
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0x220], edx
mov ecx, dword [ebp - 0x218]
push ecx
mov eax, dword [ebp - 0x21c]
push eax
mov edx, dword [ebp - 0x220]
push edx
call fcn.0069cc60
add esp, 0xc
inc dword [ebp - 0x104]
mov ecx, 0x6b0434
mov word [ebp - 0x110], 0xbc
inc dword [ebp - 0x104]
mov dword [ebp - 0xdc], ecx
inc dword [ebp - 0x104]
dec dword [ebp - 0x104]
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x5d82c2
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d8268
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff4
mov dword [ebp - 0x224], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x224]
cmp edx, ecx
je 0x5d825f
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x224]
cmp eax, edx
je 0x5d8258
mov ecx, dword [ebp - 0x224]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x224]
mov edx, dword [eax]
inc edx
jmp 0x5d8264
mov edx, 1
jmp 0x5d8264
mov edx, 1
test edx, edx
jne 0x5d82c2
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff4
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0xe4]
add ecx, 0xfffffff4
mov dword [ebp - 0x22c], ecx
mov eax, dword [ebp - 0x22c]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x230], edx
lea eax, [ebp - 0xec]
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x234], eax
mov edx, dword [ebp - 0x234]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x4b4], ecx
mov word [ebp - 0x110], 0xb0
lea eax, [ebp - 0xdc]
push eax
push 0x406834
call fcn.006aa5c5
add esp, 0x24
mov edx, dword [ebp - 0xac]
mov eax, dword [edx - 4]
mov byte [ebp - 0x235], 0
cmp eax, edi
ja 0x5d82f5
mov edi, eax
mov dword [ebp - 0x23c], edi
push 0
push 0
lea eax, [ebp - 0x235]
push 0
push eax
mov edx, dword [ebp - 0x23c]
lea ecx, [ebp - 0xb4]
push edx
push 0
push ecx
call fcn.0069ad68
add esp, 0x1c
lea eax, [ebp - 0x98]
push eax
call fcn.00443b04
pop ecx
lea edx, [ebp - 0xb4]
push edx
lea ecx, [ebp - 0x98]
push ecx
call fcn.0069b708
add esp, 8
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0x240], esi
mov edx, dword [ebp - 0x240]
shl edx, 4
mov ecx, dword [ebp - 0x64]
add edx, ecx
push edx
call fcn.0069a2e0
add esp, 8
dec dword [ebp - 0x104]
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x5d8417
mov edx, dword [ebp - 0xac]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d83bd
mov edi, dword [ebp - 0xac]
add edi, 0xfffffff4
cmp edi, 0x6ff36c
je 0x5d83b4
cmp edi, 0x6ff36c
je 0x5d83ad
push edi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [edi]
inc eax
jmp 0x5d83b9
mov eax, 1
jmp 0x5d83b9
mov eax, 1
test eax, eax
jne 0x5d8417
mov edx, dword [ebp - 0xac]
add edx, 0xfffffff4
mov dword [ebp - 0x244], edx
mov ecx, dword [ebp - 0xac]
add ecx, 0xfffffff4
mov dword [ebp - 0x248], ecx
mov eax, dword [ebp - 0x248]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x24c], edx
lea eax, [ebp - 0xb4]
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x250], eax
mov edx, dword [ebp - 0x250]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x4c4], ecx
mov word [ebp - 0x110], 0x74
mov word [ebp - 0x110], 8
inc esi
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x64]
sub eax, edx
test eax, eax
jns 0x5d8439
add eax, 0xf
sar eax, 4
cmp esi, eax
jb 0x5d7d28
mov cl, byte [ebx]
dec cl
je 0x5d8454
dec cl
je 0x5d8478
dec cl
je 0x5d849c
jmp 0x5d84c6
mov eax, dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x78]
mov dl, byte [ebp - 0x121]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.005efd80
add esp, 0x14
jmp 0x5d87ca
mov ecx, dword [ebp + 0x14]
push ecx
lea ecx, [ebp - 0x78]
mov al, byte [ebp - 0x121]
push eax
mov edx, dword [ebp + 0x10]
push edx
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.005f9044
add esp, 0x14
jmp 0x5d87ca
mov edx, dword [ebp + 0x14]
push edx
lea edx, [ebp - 0x78]
mov cl, byte [ebp - 0x121]
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.0066c578
add esp, 0x14
jmp 0x5d87ca
xor eax, eax
push eax
dec dword [ebp - 0x104]
dec dword [ebp - 0x104]
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x5d858d
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x5d853c
mov edx, dword [ebp - 0x80]
add edx, 0xfffffff4
mov dword [ebp - 0x254], edx
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x254]
cmp ecx, eax
je 0x5d8533
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x254]
cmp edx, ecx
je 0x5d852c
mov eax, dword [ebp - 0x254]
push eax
call sub.KERNEL32.DLL_InterlockedDecrement
mov edx, dword [ebp - 0x254]
mov ecx, dword [edx]
inc ecx
jmp 0x5d8538
mov ecx, 1
jmp 0x5d8538
mov ecx, 1
test ecx, ecx
jne 0x5d858d
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff4
mov dword [ebp - 0x258], eax
mov edx, dword [ebp - 0x80]
add edx, 0xfffffff4
mov dword [ebp - 0x25c], edx
mov eax, dword [ebp - 0x25c]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x260], edx
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x264], eax
mov edx, dword [ebp - 0x264]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x4d4], ecx
mov word [ebp - 0x110], 8
dec dword [ebp - 0x104]
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x5d8666
mov edx, dword [ebp - 0x90]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d860c
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff4
mov dword [ebp - 0x268], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x268]
cmp edx, ecx
je 0x5d8603
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x268]
cmp eax, edx
je 0x5d85fc
mov ecx, dword [ebp - 0x268]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x268]
mov edx, dword [eax]
inc edx
jmp 0x5d8608
mov edx, 1
jmp 0x5d8608
mov edx, 1
test edx, edx
jne 0x5d8666
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff4
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x90]
add ecx, 0xfffffff4
mov dword [ebp - 0x270], ecx
mov eax, dword [ebp - 0x270]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x274], edx
lea eax, [ebp - 0x98]
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x278], eax
mov edx, dword [ebp - 0x278]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x4e4], ecx
dec dword [ebp - 0x104]
dec dword [ebp - 0x104]
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 - 0x27c], eax
mov edx, dword [ebp - 0x27c]
push edx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x104]
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 - 0x280], ecx
mov eax, dword [ebp - 0x280]
push eax
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x104]
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 - 0x284], edx
mov ecx, dword [ebp - 0x284]
push ecx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x104]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x5d87b7
mov edx, dword [ebp - 0x70]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d8769
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff4
mov dword [ebp - 0x288], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x288]
cmp edx, ecx
je 0x5d8760
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x288]
cmp eax, edx
je 0x5d8759
mov ecx, dword [ebp - 0x288]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x288]
mov edx, dword [eax]
inc edx
jmp 0x5d8765
mov edx, 1
jmp 0x5d8765
mov edx, 1
test edx, edx
jne 0x5d87b7
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff4
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0x70]
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 - 0x78]
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x298], eax
mov edx, dword [ebp - 0x298]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x4f4], ecx
pop eax
mov edx, dword [ebp - 0x120]
mov dword fs:[0], edx
jmp 0x5d8c33
call fcn.0040a35c
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x2a0]
push ecx
mov word [ebp - 0x110], 0x140
push eax
lea eax, [ebp - 0xfc]
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 8]
push ecx
push eax
call fcn.0069a6ec
add esp, 0xc
inc dword [ebp - 0x104]
lea edx, [ebp - 0xfc]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005dcd44
add esp, 0xc
dec dword [ebp - 0x104]
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x5d88e2
mov edx, dword [ebp - 0xf4]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d8888
mov eax, dword [ebp - 0xf4]
add eax, 0xfffffff4
mov dword [ebp - 0x2a4], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x2a4]
cmp edx, ecx
je 0x5d887f
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x2a4]
cmp eax, edx
je 0x5d8878
mov ecx, dword [ebp - 0x2a4]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x2a4]
mov edx, dword [eax]
inc edx
jmp 0x5d8884
mov edx, 1
jmp 0x5d8884
mov edx, 1
test edx, edx
jne 0x5d88e2
mov eax, dword [ebp - 0xf4]
add eax, 0xfffffff4
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0xf4]
add ecx, 0xfffffff4
mov dword [ebp - 0x2ac], ecx
mov eax, dword [ebp - 0x2ac]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x2b0], edx
lea eax, [ebp - 0xfc]
mov ecx, dword [ebp - 0x2b0]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x2b4], eax
mov edx, dword [ebp - 0x2b4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x504], ecx
mov word [ebp - 0x110], 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 0x5d8926
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 4]
test eax, eax
je 0x5d8926
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 0x5d893d
mov ecx, dword [0x6badc0]
push ecx
call fcn.0049ad04
pop ecx
mov al, 1
push eax
dec dword [ebp - 0x104]
dec dword [ebp - 0x104]
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x5d8a04
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x5d89b3
mov edx, dword [ebp - 0x80]
add edx, 0xfffffff4
mov dword [ebp - 0x2b8], edx
mov ecx, 0x6ff36c
mov eax, dword [ebp - 0x2b8]
cmp ecx, eax
je 0x5d89aa
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x2b8]
cmp edx, ecx
je 0x5d89a3
mov eax, dword [ebp - 0x2b8]
push eax
call sub.KERNEL32.DLL_InterlockedDecrement
mov edx, dword [ebp - 0x2b8]
mov ecx, dword [edx]
inc ecx
jmp 0x5d89af
mov ecx, 1
jmp 0x5d89af
mov ecx, 1
test ecx, ecx
jne 0x5d8a04
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff4
mov dword [ebp - 0x2bc], eax
mov edx, dword [ebp - 0x80]
add edx, 0xfffffff4
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2c0]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x2c4], edx
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x2c8], eax
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x514], ecx
dec dword [ebp - 0x104]
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x5d8ad4
mov edx, dword [ebp - 0x90]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d8a7a
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff4
mov dword [ebp - 0x2cc], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x2cc]
cmp edx, ecx
je 0x5d8a71
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x2cc]
cmp eax, edx
je 0x5d8a6a
mov ecx, dword [ebp - 0x2cc]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x2cc]
mov edx, dword [eax]
inc edx
jmp 0x5d8a76
mov edx, 1
jmp 0x5d8a76
mov edx, 1
test edx, edx
jne 0x5d8ad4
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff4
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x90]
add ecx, 0xfffffff4
mov dword [ebp - 0x2d4], ecx
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x2d8], edx
lea eax, [ebp - 0x98]
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x2dc], eax
mov edx, dword [ebp - 0x2dc]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x524], ecx
dec dword [ebp - 0x104]
dec dword [ebp - 0x104]
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 - 0x2e0], eax
mov edx, dword [ebp - 0x2e0]
push edx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x104]
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 - 0x2e4], ecx
mov eax, dword [ebp - 0x2e4]
push eax
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x104]
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 - 0x2e8], edx
mov ecx, dword [ebp - 0x2e8]
push ecx
call fcn.0067ac7c
pop ecx
dec dword [ebp - 0x104]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x5d8c25
mov edx, dword [ebp - 0x70]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x5d8bd7
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff4
mov dword [ebp - 0x2ec], eax
mov edx, 0x6ff36c
mov ecx, dword [ebp - 0x2ec]
cmp edx, ecx
je 0x5d8bce
mov eax, 0x6ff36c
mov edx, dword [ebp - 0x2ec]
cmp eax, edx
je 0x5d8bc7
mov ecx, dword [ebp - 0x2ec]
push ecx
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [ebp - 0x2ec]
mov edx, dword [eax]
inc edx
jmp 0x5d8bd3
mov edx, 1
jmp 0x5d8bd3
mov edx, 1
test edx, edx
jne 0x5d8c25
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff4
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffff4
mov dword [ebp - 0x2f4], ecx
mov eax, dword [ebp - 0x2f4]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x2f8], edx
lea eax, [ebp - 0x78]
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x2fc], eax
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x534], ecx
pop eax
mov edx, dword [ebp - 0x120]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret