Function at 0x413e30
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a66e0
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x4db06c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0xe90]
mov ebx, dword [sym.imp.KERNEL30.dll_TerminateThread]
mov dword [esi], vtable.FastCopy.0
test eax, eax
je 0x413e75
push 0
push eax
call ebx
mov eax, dword [esi + 0xe8c]
test eax, eax
je 0x413e84
push 0
push eax
call ebx
mov eax, dword [esi + 0xe88]
test eax, eax
je 0x413e93
push 0
push eax
call ebx
mov eax, dword [esi + 0xe84]
test eax, eax
je 0x413ea2
push 0
push eax
call ebx
mov edi, dword [esi + 0xf10]
sub edi, 1
js 0x413eda
lea eax, [esi + 0xe94]
lea eax, [eax + edi*4]
mov dword [ebp - 0x10], eax
nop dword [eax]
push 0
push dword [eax]
call ebx
mov eax, dword [ebp - 0x10]
dec dword [esi + 0xf10]
sub eax, 4
sub edi, 1
mov dword [ebp - 0x10], eax
jns 0x413ec0
mov edi, dword [esi + 0xf14]
sub edi, 1
js 0x413f0b
lea eax, [esi + 0xee4]
lea eax, [eax + edi*4]
mov dword [ebp - 0x10], eax
push 0
push dword [eax]
call ebx
mov eax, dword [ebp - 0x10]
dec dword [esi + 0xf14]
sub eax, 4
sub edi, 1
mov dword [ebp - 0x10], eax
jns 0x413ef1
push dword [esi + 0x848]
call fcn.00487954
push dword [esi + 0x844]
call fcn.00487954
push dword [esi + 0x840]
call fcn.00487954
mov edi, dword [sym.imp.KERNEL30.dll_TlsFree]
add esp, 0xc
push dword [esi + 0x10]
call edi
push dword [esi + 0x14]
call edi
mov dword [ebp - 4], 0
cmp dword [esi + 0x12f0], 0
mov dword [esi + 0x12ec], 0x4c14dc
je 0x413ffd
cmp dword [esi + 0x12fc], 0
je 0x413fc5
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [esi + 0x12f4], eax
jle 0x413fc5
xor ecx, ecx
mov dword [ebp - 0x14], ecx
nop dword [eax + eax]
cmp dword [esi + 0x12f8], 0
jle 0x413fc5
mov ebx, dword [esi + 0x12f0]
add ebx, ecx
mov ecx, dword [ebx + 8]
cmp ecx, ebx
je 0x413fb0
mov eax, dword [ecx]
mov edi, dword [ecx + 8]
push 1
call dword [eax]
dec dword [esi + 0x12f8]
mov ecx, edi
cmp edi, ebx
jne 0x413f98
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
inc eax
add ecx, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
cmp eax, dword [esi + 0x12f4]
jl 0x413f80
mov ecx, dword [esi + 0x12f0]
test ecx, ecx
je 0x413fe9
cmp dword [ecx - 4], 0
lea eax, [ecx - 4]
je 0x413fe0
mov eax, dword [ecx]
push 3
call dword [eax]
jmp 0x413fe9
push eax
call fcn.00487954
add esp, 4
mov dword [esi + 0x12f0], 0
mov dword [esi + 0x12f8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x1290]
mov dword [esi + 0x12a8], 0
mov dword [esi + 0x12a4], 0
call fcn.0045ed00
lea ecx, [esi + 0x12b8]
call fcn.0045ea40
call fcn.0045e9f0
lea ecx, [esi + 0x1290]
call fcn.0045ec60
lea ecx, [esi + 0x1244]
mov dword [esi + 0x125c], 0
mov dword [esi + 0x1258], 0
call fcn.0045ed00
lea ecx, [esi + 0x126c]
call fcn.0045ea40
call fcn.0045e9f0
lea ecx, [esi + 0x1244]
call fcn.0045ec60
lea ecx, [esi + 0x11f8]
mov dword [esi + 0x1210], 0
mov dword [esi + 0x120c], 0
call fcn.0045ed00
lea ecx, [esi + 0x1220]
call fcn.0045ea40
call fcn.0045e9f0
lea ecx, [esi + 0x11f8]
call fcn.0045ec60
lea ecx, [esi + 0x11ac]
mov dword [esi + 0x11c4], 0
mov dword [esi + 0x11c0], 0
call fcn.0045ed00
lea ecx, [esi + 0x11d4]
call fcn.0045ea40
call fcn.0045e9f0
lea ecx, [esi + 0x11ac]
call fcn.0045ec60
lea ecx, [esi + 0x1160]
mov dword [esi + 0x1178], 0
mov dword [esi + 0x1174], 0
call fcn.0045ed00
lea ecx, [esi + 0x1188]
call fcn.0045ea40
call fcn.0045e9f0
lea ecx, [esi + 0x1160]
call fcn.0045ec60
lea ecx, [esi + 0x1114]
mov dword [esi + 0x112c], 0
mov dword [esi + 0x1128], 0
call fcn.0045ed00
lea ecx, [esi + 0x113c]
call fcn.0045ea40
call fcn.0045e9f0
lea ecx, [esi + 0x1114]
call fcn.0045ec60
lea ecx, [esi + 0x10c0]
call fcn.0045ec60
lea ecx, [esi + 0x10a4]
call fcn.004650a0
lea ecx, [esi + 0x1050]
call fcn.0045ec60
lea ecx, [esi + 0x1034]
call fcn.004650a0
mov edi, dword [sym.imp.KERNEL30.dll_DeleteCriticalSection]
lea eax, [esi + 0xfdc]
push eax
call edi
lea eax, [esi + 0xfc4]
push eax
call edi
lea eax, [esi + 0xfac]
push eax
call edi
lea ecx, [esi + 0xf88]
call fcn.0045e9f0
lea ecx, [esi + 0xf64]
call fcn.0045e9f0
lea ecx, [esi + 0xf40]
call fcn.0045e9f0
cmp word [esi + 0xf26], 0
lea edi, [esi + 0xf18]
je 0x414201
cmp dword [edi + 0x10], 0
je 0x414201
push 0
push dword [edi]
call dword [sym.imp.KERNEL30.dll_WaitForSingleObject]
test eax, eax
jne 0x414201
mov ecx, edi
call fcn.0045af90
push dword [edi]
call dword [sym.imp.KERNEL30.dll_ReleaseMutex]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x414216
push eax
call dword [sym.imp.KERNEL30.dll_UnmapViewOfFile]
mov dword [edi + 0x10], 0
mov eax, dword [edi + 4]
mov ebx, dword [sym.imp.KERNEL30.dll_CloseHandle]
test eax, eax
je 0x41422d
push eax
call ebx
mov dword [edi + 4], 0
mov eax, dword [edi]
test eax, eax
je 0x41423c
push eax
call ebx
mov dword [edi], 0
mov eax, dword [esi + 0xe78]
mov dword [esi + 0xe50], 0x4c1504
test eax, eax
je 0x414282
push 0x41ba00
lea edi, [eax - 4]
mov dword [ebp - 4], 1
push dword [edi]
push 0x40
push eax
call fcn.00487825
mov eax, dword [edi]
shl eax, 6
add eax, 4
push eax
push edi
call fcn.00487566
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0xe38]
call fcn.0045ec60
push dword [esi + 0xe30]
mov dword [esi + 0xe08], 0x4c14d4
call fcn.00487954
add esp, 4
lea ecx, [esi + 0xde8]
call fcn.0045ec60
mov eax, dword [esi + 0xdac]
mov dword [esi + 0xd84], 0x4c14cc
test eax, eax
je 0x4142f9
push 0x412e70
lea edi, [eax - 4]
mov dword [ebp - 4], 2
push dword [edi]
push 0x30
push eax
call fcn.00487825
mov eax, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 4
push eax
push edi
call fcn.00487566
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0xd7c]
mov dword [esi + 0xd54], 0x4c14cc
test eax, eax
je 0x414342
push 0x412e70
lea edi, [eax - 4]
mov dword [ebp - 4], 3
push dword [edi]
push 0x30
push eax
call fcn.00487825
mov eax, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 4
push eax
push edi
call fcn.00487566
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0xd4c]
mov dword [esi + 0xd24], 0x4c14cc
test eax, eax
je 0x414384
push 0x412e70
lea edi, [eax - 4]
mov dword [ebp - 4], 4
push dword [edi]
push 0x30
push eax
call fcn.00487825
mov eax, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 4
push eax
push edi
call fcn.00487566
add esp, 8
lea ecx, [esi + 0xce0]
call fcn.0045ec60
lea ecx, [esi + 0xccc]
call fcn.0045ec60
lea ecx, [esi + 0xcb8]
call fcn.0045ec60
lea ecx, [esi + 0xca4]
call fcn.0045ec60
lea ecx, [esi + 0xc88]
call fcn.0045ec60
lea ecx, [esi + 0xc6c]
call fcn.0045ec60
lea ecx, [esi + 0xc50]
call fcn.0045ec60
lea ecx, [esi + 0xc3c]
call fcn.0045ec60
lea ecx, [esi + 0xc28]
call fcn.0045ec60
lea ecx, [esi + 0xc14]
call fcn.0045ec60
lea ecx, [esi + 0xc00]
call fcn.0045ec60
lea ecx, [esi + 0xbec]
call fcn.0045ec60
lea ecx, [esi + 0xbd0]
call fcn.0045ec60
lea ecx, [esi + 0xbb4]
call fcn.0045ec60
lea ecx, [esi + 0xb98]
call fcn.0045ec60
mov eax, dword [esi + 0xb88]
test eax, eax
je 0x414484
mov ecx, dword [esi + 0xb90]
sub ecx, eax
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x41445c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4145e1
mov eax, edx
push ecx
push eax
call fcn.00487923
mov dword [esi + 0xb88], 0
add esp, 8
mov dword [esi + 0xb8c], 0
mov dword [esi + 0xb90], 0
mov edi, dword [esi + 0xb7c]
test edi, edi
je 0x414502
mov ebx, dword [esi + 0xb80]
cmp edi, ebx
je 0x4144b1
mov eax, dword [edi]
test eax, eax
je 0x4144a4
push eax
call fcn.0041bc40
add edi, 4
cmp edi, ebx
jne 0x414498
mov edi, dword [esi + 0xb7c]
mov ecx, dword [esi + 0xb84]
sub ecx, edi
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x4144da
mov edx, dword [edi - 4]
add ecx, 0x23
sub edi, edx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x4145e1
mov edi, edx
push ecx
push edi
call fcn.00487923
mov dword [esi + 0xb7c], 0
add esp, 8
mov dword [esi + 0xb80], 0
mov dword [esi + 0xb84], 0
mov ecx, dword [esi + 0xb70]
test ecx, ecx
je 0x414572
mov edx, dword [esi + 0xb74]
push ecx
call fcn.0041c7b0
mov ecx, dword [esi + 0xb78]
add esp, 4
mov eax, dword [esi + 0xb70]
sub ecx, eax
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x41454a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4145e1
mov eax, edx
push ecx
push eax
call fcn.00487923
mov dword [esi + 0xb70], 0
add esp, 8
mov dword [esi + 0xb74], 0
mov dword [esi + 0xb78], 0
mov eax, dword [esi + 0x8e4]
test eax, eax
je 0x41458f
push eax
call fcn.00487954
add esp, 4
mov dword [esi + 0x8e4], 0
lea ecx, [esi + 0x820]
mov dword [esi + 0x8e8], 0xffffffff
call fcn.0045b530
lea ecx, [esi + 0x800]
call fcn.0045b530
lea ecx, [esi + 0x7e0]
call fcn.0045b530
lea ecx, [esi + 0x7c0]
call fcn.0045b530
push 0
lea ecx, [esi + 0x28]
call fcn.0045bc00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004913be
int3