Function at 0x1009ee60
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018121f
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x17a98
call fcn.10178bb0
mov eax, dword [0x101e6040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x17a7c], edx
mov edi, ecx
mov dword [ebp - 0x17aa0], edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x17a84], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x17a80], eax
mov eax, dword [ebp + 0x10]
push 0xffffffffffffffff
push dword [edi]
mov dword [ebp - 0x17a64], eax
mov dword [ebp - 0x17a68], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x17a8c], edi
mov dword [ebp - 0x17a9c], eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [edi + 0xc]
xor esi, esi
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, 0x92492493
sub ecx, edx
mov dword [ebp - 0x17a5c], edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x17a48], eax
mov eax, dword [ebp - 0x17a84]
mov edx, dword [ebp - 0x17a48]
mov eax, dword [eax]
mov ecx, eax
sub ecx, edx
mov dword [ebp - 0x17a44], eax
mov dword [ebp - 0x2c], ecx
add eax, esi
cmp eax, edx
cmovb ecx, eax
mov dword [ebp - 0x17a48], ecx
cmp esi, edx
je 0x100a003a
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp - 0x17a5c]
cmp dword [ecx + eax*8 + 0x34], 0
jne 0x1009ef69
cmp dword [ecx + eax*8 + 0x28], 0
jbe 0x1009ef69
cmp dword [ecx + eax*8 + 0xc], 0
jg 0x1009ef7d
jl 0x1009ef69
cmp dword [ecx + eax*8 + 8], 0
jae 0x1009ef7d
mov ecx, dword [ebp - 0x2c]
inc esi
inc ecx
mov dword [ebp - 0x2c], ecx
cmp esi, edx
ja 0x1009ef9b
mov eax, dword [ebp - 0x17a44]
jmp 0x1009ef27
mov dword [ecx + eax*8 + 0x34], 1
push dword [edi]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [ebp - 0x17a84]
mov eax, dword [ebp - 0x17a48]
mov dword [ecx], eax
mov eax, dword [edi + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x17a84]
mov eax, dword [eax]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx]
lea edx, [eax + ecx*8]
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x18]
sub eax, ecx
mov dword [ebp - 0x17a50], edx
test eax, 0xfffffffc
je 0x1009efd0
mov eax, dword [ecx]
jmp 0x1009efd3
or eax, 0xffffffff
mov ecx, dword [ebp - 0x17a9c]
xor esi, esi
mov dword [ebp - 0x17a44], esi
mov dword [ecx], eax
mov edx, dword [edx + 0x28]
test edx, edx
je 0x1009f012
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x17a50]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x24]
shl ecx, 5
mov eax, dword [eax]
add eax, 0x14
add eax, ecx
add esi, dword [eax]
lea eax, [eax + 0x20]
sub edx, 1
jne 0x1009f002
mov dword [ebp - 0x17a44], esi
mov eax, dword [ebp - 0x17a50]
xorps xmm0, xmm0
mov esi, dword [ebp - 0x17a80]
push ecx
mov dword [ebp - 4], 0
mov ecx, esi
push dword [eax + 4]
movsd qword [ebp - 0x17a88], xmm0
push dword [eax]
movsd qword [ebp - 0x17a4c], xmm0
call fcn.10047e90
push 0x17940
lea eax, [ebp - 0x179e8]
push 0
push eax
call fcn.10152e30
add esp, 0xc
lea ecx, [ebp - 0x179e8]
call fcn.10047b40
mov edx, dword [ebp - 0x17a64]
mov byte [ebp - 4], 1
mov dword [ebp - 0x17970], esi
cmp dword [edx + 0x14], 0
mov dword [edx + 0x10], 0
jbe 0x1009f08a
mov dword [edx + 0x14], 0
mov ecx, dword [ebp - 0x17a50]
mov eax, dword [ecx + 8]
lea ecx, [ebp - 0x179e8]
mov dword [edx + 0x18], eax
lea eax, [edx + 4]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x17a4c]
push eax
call fcn.100d8df0
test al, al
je 0x100a0063
movsd xmm0, qword [ebp - 0x17a4c]
comisd xmm0, xmmword [edi + 0x10]
jbe 0x1009f0cd
movsd qword [edi + 0x10], xmm0
mov esi, dword [ebp - 0x17a44]
push 0
lea ecx, [ebp - 0x179e8]
call fcn.100d8f30
test al, al
je 0x1009f2ba
mov dword [ebp - 0xb0], 3
mov eax, dword [ebp - 0x17974]
lea ecx, [ebp - 0x17974]
mov eax, dword [eax]
call eax
cmp eax, 0xffffffff
je 0x100a006d
test eax, eax
jne 0x1009f0f2
mov eax, dword [ebp - 0x17974]
lea ecx, [ebp - 0x17974]
mov eax, dword [eax]
call eax
test eax, eax
jne 0x100a0077
nop word [eax + eax]
cmp byte [edi + 0xd78], 0
jne 0x1009f1bb
mov ecx, dword [ebp - 0x17a64]
mov eax, dword [ebp - 0x17a44]
cmp dword [ecx + 0x10], eax
jae 0x1009f1b2
push 0x4000
lea ecx, [ebp - 0x179e8]
call fcn.100d8fc0
nop
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov esi, dword [edi + 0xd80]
mov ecx, dword [edi + 0xd84]
or esi, ecx
mov dword [ebp - 0x17a48], eax
je 0x1009f19f
mov ecx, dword [edi + 0xd80]
mov eax, dword [edi + 0xd84]
add ecx, 0x3e8
adc eax, 0
cmp eax, edx
jg 0x1009f130
jl 0x1009f19f
cmp ecx, dword [ebp - 0x17a48]
ja 0x1009f130
cmp byte [edi + 0xd78], 0
jne 0x1009f1bb
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1009f160
cmp byte [edi + 0xd78], 0
je 0x1009f1e6
lea ecx, [ebp - 0x124]
call fcn.100d7e60
lea ecx, [ebp - 0x17974]
call fcn.10047ce0
lea ecx, [ebp - 0x179e8]
call fcn.100d7e60
mov eax, 5
jmp 0x100a0047
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
push dword [edi]
call eax
mov eax, dword [edi + 0x58]
cmp byte [eax + 0x90], 0
je 0x1009f249
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x2c]
mov esi, dword [edi + 0x24]
mov edx, dword [edi + 0x20]
mov eax, dword [eax + 8]
mov dword [ebp - 0x17a48], eax
mov eax, dword [edi + 0x28]
cmp ecx, esi
jl 0x1009f223
jg 0x1009f21f
cmp eax, edx
jbe 0x1009f223
mov eax, edx
mov ecx, esi
test ecx, ecx
jl 0x1009f249
jg 0x1009f230
cmp eax, 0xf4240
jb 0x1009f249
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp dword [ebp - 0x17a48], 0
jle 0x1009f249
push 1
call fcn.1015d37f
add esp, 4
mov eax, dword [edi + 0xc]
cmp dword [eax + 8], 0
jg 0x1009f28f
mov edx, dword [ebp - 0x17a64]
sub esp, 8
mov eax, dword [ebp - 0x17a50]
movd xmm0, dword [edx + 0x10]
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
cvtdq2pd xmm0, xmm0
dec eax
add eax, ecx
addsd xmm0, qword [ebp - 0x17a88]
movsd qword [esp], xmm0
push eax
push ecx
push str.__d.._d______1.0f_n
call fcn.10003260
add esp, 0x14
push dword [edi]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebp - 0x17a64]
mov esi, dword [ebp - 0x17a44]
cmp dword [eax + 0x10], esi
jae 0x1009f2c9
push 0
lea ecx, [ebp - 0x179e8]
call fcn.100d90f0
jmp 0x1009f0d3
mov eax, dword [ebp - 0x17a64]
cmp dword [eax + 0x10], esi
jb 0x100a0081
push 0x40
xorps xmm0, xmm0
mov dword [ebp - 0xa0], 0x67452301
lea eax, [ebp - 0x8c]
movlpd qword [ebp - 0x17a4c], xmm0
push 0
push eax
movlpd qword [ebp - 0xa8], xmm0
mov dword [ebp - 0x9c], 0xefcdab89
mov dword [ebp - 0x98], 0x98badcfe
mov dword [ebp - 0x94], 0x10325476
mov dword [ebp - 0x90], 0xc3d2e1f0
call fcn.10152e30
mov edx, dword [ebp - 0x17a50]
add esp, 0xc
mov eax, dword [ebp - 0x17a48]
mov esi, dword [ebp - 0x17a4c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [edx + 0x24]
mov dword [ebp - 0x17a84], esi
mov eax, dword [edx + 0x28]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x17a5c], ecx
cmp ecx, eax
jae 0x1009f41a
mov eax, dword [edi + 0xc]
mov esi, ecx
shl esi, 5
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [esi + eax + 0x14]
cdq
mov ecx, edx
mov dword [ebp - 0x17a44], eax
mov edx, dword [ebp - 0x17a84]
add eax, edx
mov dword [ebp - 0x17a48], ecx
adc ecx, dword [ebp - 0x2c]
test ecx, ecx
jb 0x1009f396
ja 0x100a0099
mov ecx, dword [ebp - 0x17a64]
cmp eax, dword [ecx + 0x10]
ja 0x100a0099
mov eax, dword [ebp - 0x17a64]
lea ecx, [ebp - 0xa8]
push dword [ebp - 0x17a48]
push dword [ebp - 0x17a44]
mov eax, dword [eax + 8]
add eax, edx
push eax
call fcn.100d36f0
lea ecx, [ebp - 0xa8]
call fcn.100d33e0
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0xc]
movups xmmword [ebp - 0x28], xmm0
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ecx + esi + 0x14]
add ecx, esi
cdq
mov esi, 0x10
add dword [ebp - 0x17a84], eax
adc dword [ebp - 0x2c], edx
lea edx, [ebp - 0x28]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x100a00a3
add edx, 4
add ecx, 4
sub esi, 4
jae 0x1009f3f0
mov edx, dword [ebp - 0x17a50]
mov ecx, dword [ebp - 0x17a5c]
inc dword [edx + 0x30]
inc ecx
jmp 0x1009f33f
lea ecx, [ebp - 0x124]
call fcn.100d7e60
lea ecx, [ebp - 0x17974]
call fcn.10047ce0
lea ecx, [ebp - 0x179e8]
call fcn.100d7e60
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea esi, [edi + 4]
push 0xffffffffffffffff
push dword [esi]
mov dword [ebp - 0x17a84], esi
call eax
mov ecx, dword [ebp - 0x17a50]
xor edx, edx
mov dword [ebp - 4], 3
mov dword [ebp - 0x17a8c], edx
mov eax, dword [ecx + 0x1c]
sub eax, dword [ecx + 0x18]
sar eax, 2
test eax, eax
je 0x1009febe
nop word [eax + eax]
cmp byte [edi + 0xd78], 0
jne 0x1009feb8
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + edx*4]
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x17a78], ecx
test ecx, ecx
js 0x1009f4ac
cmp ecx, dword [eax + 8]
jge 0x1009f4ac
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
jmp 0x1009f4ae
xor eax, eax
mov esi, dword [eax + 0x98]
xor edx, edx
mov dword [ebp - 0x17a80], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x17a9c]
mov dword [ebp - 0x17a58], esi
movlpd qword [ebp - 0x17a4c], xmm0
mov dword [ebp - 0x17a60], edx
mov dword [eax], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x1009fe94
mov eax, dword [ebp - 0x17a48]
mov dword [ebp - 0x17a44], eax
mov eax, dword [ebp - 0x17a4c]
mov dword [ebp - 0x17a68], eax
nop word [eax + eax]
mov eax, dword [ebp - 0x17a50]
mov edx, dword [ecx + edx*4]
mov ecx, dword [eax + 0x24]
cmp edx, ecx
jb 0x1009fdb4
mov eax, dword [eax + 0x30]
add eax, ecx
cmp edx, eax
jae 0x1009fdb4
cmp dword [edi + 0x54], 0
jne 0x1009f9c3
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x1009f591
cmp dword [ebp - 0x17a78], eax
je 0x1009f591
mov eax, dword [edi + 0x58]
cmp byte [eax + 0x90], 0
je 0x1009f567
push dword [ebp + 0x14]
push 0x101cb660
call fcn.1000d260
add esp, 8
mov ecx, dword [edi + 0x70]
test ecx, ecx
je 0x1009f58a
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
mov ecx, dword [edi + 0x70]
test ecx, ecx
je 0x1009f58a
mov eax, dword [ecx]
push 1
call dword [eax + 0xc]
mov dword [edi + 0x70], 0
mov dword [edi + 0x18], 0xffffffff
cmp dword [edi + 0x54], 0
jne 0x1009f9c3
cmp dword [edi + 0x18], 0xffffffff
jne 0x1009f9c3
mov eax, dword [edi + 0x58]
cmp byte [eax + 0x90], 0
je 0x1009f5c1
push dword [ebp + 0x14]
push 0x101cb690
call fcn.1000d260
add esp, 8
cmp dword [esi + 0x10], 0
mov dword [ebp - 0x2c], 0
jne 0x1009f8d1
cmp byte [esi + 0x20], 0
jne 0x1009fe94
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movq qword [ebp - 0x38], xmm0
mov ecx, dword [ebp - 0x17a80]
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + 0x48]
mov dword [ebp - 0x17a5c], eax
mov eax, dword [0x101c5980]
mov ecx, dword [ecx]
mov dword [ebp - 0x17a6c], ecx
mov dword [ebp - 0x17a54], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
test edx, edx
je 0x1009f673
cmp word [edx], 0
je 0x1009f673
test ecx, ecx
je 0x1009f673
mov esi, edx
lea eax, [esi + 2]
mov dword [ebp - 0x17a48], eax
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x1009f640
sub esi, dword [ebp - 0x17a48]
sar esi, 1
je 0x1009f673
push esi
push edx
push ecx
call fcn.1015c248
mov ecx, dword [ebp - 0x17a6c]
add esp, 0xc
test eax, eax
jne 0x1009f673
lea ecx, [ecx + esi*2]
mov dword [ebp - 0x17a6c], ecx
mov eax, dword [ebp - 0x17a5c]
test eax, eax
je 0x1009f6da
cmp word [eax], 0
je 0x1009f6da
push eax
lea ecx, [ebp - 0x38]
call fcn.1000bc60
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1009f6ad
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x17a54], edx
movzx ecx, word [edx + eax*2 - 2]
mov eax, ecx
cmp ecx, 0x5c
je 0x1009f6bc
cmp eax, 0x2f
je 0x1009f6bc
push 0x5c
lea ecx, [ebp - 0x38]
call fcn.1000bbf0
mov esi, dword [ebp - 0x38]
jmp 0x1009f6c2
mov esi, dword [ebp - 0x17a54]
mov eax, dword [ebp - 0x17a6c]
test eax, eax
je 0x1009f6f2
push eax
lea ecx, [ebp - 0x38]
call fcn.1000bb40
mov esi, dword [ebp - 0x38]
jmp 0x1009f6f2
test ecx, ecx
je 0x1009f6ec
push ecx
lea ecx, [ebp - 0x38]
call fcn.1000bc60
mov esi, dword [ebp - 0x38]
jmp 0x1009f6f2
mov esi, dword [ebp - 0x17a54]
xor eax, eax
mov dword [ebp - 0x17a3c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x17a28], 0
movups xmmword [ebp - 0x17a38], xmm0
mov dword [ebp - 0x17a24], 7
mov word [ebp - 0x17a38], ax
movups xmmword [ebp - 0x17a20], xmm0
mov word [ebp - 0x17a10], 0x100
mov byte [ebp - 0x17a0e], al
movlpd qword [ebp - 0x17a08], xmm0
mov dword [ebp - 0x17a00], 0xff
mov byte [ebp - 0x179fc], al
mov dword [ebp - 0x179f8], eax
mov dword [ebp - 0x179f4], 0xffffffff
mov dword [ebp - 0x179f0], eax
mov eax, dword [ebp - 0x17a80]
mov ecx, esi
mov byte [ebp - 4], 5
mov dword [ebp - 0x17a40], eax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009f780
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x17a38]
call fcn.10008d20
mov ecx, dword [ebp - 0x17a7c]
mov dword [ebp - 0x17a1c], 0
mov dword [ebp - 0x17a18], ecx
mov byte [ebp - 0x17a0f], 0
mov eax, dword [ecx + 8]
mov dword [ebp - 0x17a20], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x17a00], eax
mov eax, dword [ebp - 0x17a78]
mov dword [edi + 0x18], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x17a40]
push eax
push dword [edi + 0x58]
mov eax, dword [ecx + 4]
call eax
add esp, 0xc
mov dword [edi + 0x70], eax
mov eax, dword [ebp - 0x17a58]
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [eax + 0x14]
call fcn.1000bdd0
cmp dword [edi + 0x70], 0
je 0x1009fdf4
mov ecx, dword [ebp - 0x17a7c]
lea eax, [ebp - 0x38]
push eax
push 0
push dword [ebp - 0x17a78]
push 2
call fcn.1009eaa0
cmp dword [ebp - 0x17a24], 7
lea eax, [ebp - 0x17a38]
mov esi, dword [ebp - 0x38]
mov ecx, esi
cmova eax, dword [ebp - 0x17a38]
nop dword [eax + eax]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x1009f866
test dx, dx
je 0x1009f862
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x1009f866
add ecx, 4
add eax, 4
test dx, dx
jne 0x1009f840
xor eax, eax
jmp 0x1009f86b
sbb eax, eax
or eax, 1
test eax, eax
je 0x1009f892
cmp dword [ebp - 0x17a24], 7
lea eax, [ebp - 0x17a38]
mov ecx, dword [ebp - 0x17a58]
cmova eax, dword [ebp - 0x17a38]
push eax
lea ecx, [ecx + 0x14]
call fcn.1000bc60
lea ecx, [ebp - 0x17a38]
call fcn.100031a0
mov byte [ebp - 4], 3
test esi, esi
je 0x1009f8b6
cmp esi, dword [0x101c5980]
je 0x1009f8b6
push esi
call fcn.10154f5a
add esp, 4
mov eax, dword [0x101c5980]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
jmp 0x1009f9c3
xor eax, eax
mov dword [ebp - 0x8c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
movups xmmword [ebp - 0x70], xmm0
mov word [ebp - 0x60], 0x100
mov byte [ebp - 0x5e], al
movlpd qword [ebp - 0x58], xmm0
mov dword [ebp - 0x50], 0xff
mov byte [ebp - 0x4c], al
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x17a80]
add esi, 0x14
mov byte [ebp - 4], 6
mov dword [ebp - 0x90], eax
mov edx, dword [esi]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x17a48], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009f945
sub ecx, dword [ebp - 0x17a48]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.10008d20
mov ecx, dword [ebp - 0x17a7c]
mov dword [ebp - 0x6c], 0
mov word [ebp - 0x60], 1
mov eax, dword [ecx + 8]
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x90]
push eax
push dword [edi + 0x58]
mov eax, dword [ecx + 4]
call eax
mov ecx, dword [ebp - 0x17a78]
add esp, 0xc
mov dword [edi + 0x70], eax
mov dword [edi + 0x18], ecx
test eax, eax
je 0x1009ff0c
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 3
call fcn.100031a0
mov ecx, dword [ebp - 0x17a50]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x17a58]
movlpd qword [ebp - 0x17a70], xmm0
mov esi, dword [ecx + 0x24]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x17a60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x17a48], eax
cmp esi, eax
jae 0x1009fa45
mov eax, dword [edi + 0xc]
mov ecx, esi
shl ecx, 5
add ecx, 0x14
mov eax, dword [eax]
add ecx, dword [eax]
mov eax, dword [ebp - 0x17a6c]
mov dword [ebp - 0x17a5c], eax
mov eax, dword [ebp - 0x17a70]
mov dword [ebp - 0x17a6c], eax
nop word [eax + eax]
mov eax, dword [ecx]
test eax, eax
js 0x100a00bb
cdq
add dword [ebp - 0x17a6c], eax
adc dword [ebp - 0x17a5c], edx
inc esi
add ecx, 0x20
cmp esi, dword [ebp - 0x17a48]
jb 0x1009fa20
jmp 0x1009fa5d
mov eax, dword [ebp - 0x17a6c]
mov dword [ebp - 0x17a5c], eax
mov eax, dword [ebp - 0x17a70]
mov dword [ebp - 0x17a6c], eax
mov esi, dword [ebp - 0x17a58]
mov edx, dword [ebp - 0x17a60]
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 4]
mov dword [ebp - 0x17a48], eax
mov eax, dword [edi + 0xc]
mov esi, dword [esi + 8]
mov ecx, dword [ecx + edx*4]
shl ecx, 5
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [ecx + eax + 0x14]
cdq
mov dword [ebp - 0x17a74], eax
mov eax, dword [ebp - 0x17a58]
mov dword [ebp - 0x17a54], edx
mov edx, dword [eax + 4]
sub esi, edx
mov eax, dword [ebp - 0x17a60]
sar esi, 2
lea ecx, [eax + 1]
cmp ecx, esi
jae 0x1009fb7a
mov esi, edx
jmp 0x1009fac6
mov eax, dword [ebp - 0x17a60]
mov ecx, dword [edx + eax*4 + 4]
mov eax, dword [edx + eax*4]
inc eax
cmp ecx, eax
jne 0x1009fb7a
mov edx, dword [ebp - 0x17a50]
mov eax, dword [edx + 0x28]
add eax, dword [edx + 0x24]
cmp ecx, eax
jae 0x1009fb7a
mov eax, dword [edi + 0xc]
shl ecx, 5
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [ecx + eax + 0x14]
test eax, eax
js 0x1009fb7a
cdq
add eax, dword [ebp - 0x17a74]
adc edx, dword [ebp - 0x17a54]
test edx, edx
ja 0x1009fb7a
jb 0x1009fb1a
cmp eax, 0x7fffffff
ja 0x1009fb7a
mov ecx, dword [ebp - 0x17a58]
mov eax, dword [ebp - 0x17a48]
inc eax
mov dword [ebp - 0x17a48], eax
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x17a60]
inc eax
mov dword [ebp - 0x17a60], eax
mov ecx, dword [esi + eax*4]
mov eax, dword [edi + 0xc]
shl ecx, 5
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [ecx + eax + 0x14]
cdq
add dword [ebp - 0x17a74], eax
mov eax, dword [ebp - 0x17a58]
adc dword [ebp - 0x17a54], edx
mov edx, esi
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x17a60]
sub ecx, esi
sar ecx, 2
inc eax
cmp eax, ecx
jb 0x1009fac0
mov edx, dword [ebp - 0x17a74]
mov eax, dword [ebp - 0x17a6c]
add edx, eax
mov esi, dword [ebp - 0x17a54]
mov ecx, dword [ebp - 0x17a5c]
adc esi, ecx
mov dword [ebp - 0x17a48], edx
cmp ecx, esi
ja 0x1009fbdb
jb 0x1009fbb0
cmp eax, edx
jae 0x1009fbdb
nop word [eax + eax]
mov edx, dword [ebp - 0x17a64]
mov edi, dword [edx + 8]
mov edx, dword [ebp - 0x17a48]
cmp byte [eax + edi], 0
mov edi, dword [ebp - 0x17aa0]
jne 0x1009fbf9
add eax, 1
adc ecx, 0
cmp ecx, esi
jb 0x1009fbb0
ja 0x1009fbdb
cmp eax, edx
jb 0x1009fbb0
mov eax, dword [ebp - 0x17a58]
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 4]
mov eax, dword [ebp - 0x17a60]
sar ecx, 2
inc eax
cmp eax, ecx
jne 0x1009fc6f
mov eax, dword [edi + 0x58]
cmp byte [eax + 0x90], 0
je 0x1009fc21
push dword [ebp - 0x17a74]
push dword [ebp - 0x17a68]
push dword [ebp + 0x14]
push 0x101cb6d0
call fcn.1000d260
add esp, 0x10
mov esi, dword [edi + 0x54]
test esi, esi
jne 0x1009fc2f
mov esi, dword [edi + 0x70]
test esi, esi
je 0x1009fc6f
push dword [ebp - 0x17a44]
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x17a68]
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x17a64]
push dword [ebp - 0x17a54]
mov edx, dword [esi]
push dword [ebp - 0x17a74]
mov eax, dword [ecx + 8]
mov ecx, esi
add eax, dword [ebp - 0x17a6c]
push eax
mov eax, dword [edx + 0x18]
call eax
test eax, eax
je 0x1009ff41
mov esi, dword [ebp - 0x17a74]
add dword [ebp - 0x17a68], esi
mov eax, dword [ebp - 0x17a44]
adc eax, dword [ebp - 0x17a54]
push 0xffffffffffffffff
push dword [edi]
mov dword [ebp - 0x17a44], eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
add dword [edi + 0x28], esi
mov eax, dword [ebp - 0x17a54]
push dword [edi]
adc dword [edi + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [edi + 0x54], 0
mov esi, dword [ebp - 0x17a58]
jne 0x1009fdcf
mov eax, dword [esi + 8]
sub eax, dword [esi + 4]
sar eax, 2
cmp dword [esi + 0x10], eax
jne 0x1009fdcf
mov eax, dword [edi + 0x58]
cmp byte [eax + 0x90], 0
je 0x1009fce9
push dword [ebp + 0x14]
push str.Thread:_d_
call fcn.1000d260
add esp, 8
mov edx, dword [ebp - 0x17a80]
mov ecx, dword [edi + 0x70]
push 0
push dword [edx + 0xc]
mov eax, dword [ecx]
push dword [edx + 8]
call dword [eax + 0x2c]
mov ecx, dword [edi + 0x70]
push 0
mov eax, dword [ecx]
call dword [eax + 0x24]
mov ecx, dword [edi + 0x70]
test ecx, ecx
je 0x1009fd1e
mov eax, dword [ecx]
push 1
call dword [eax + 0xc]
mov dword [edi + 0x70], 0
mov eax, dword [0x101c5980]
lea ecx, [ebp - 0x17a98]
push 0x1018c594
mov dword [ebp - 0x17a98], eax
mov dword [ebp - 0x17a94], 0
mov dword [ebp - 0x17a90], 0
call fcn.1000bc60
mov ecx, dword [ebp - 0x17a7c]
lea eax, [ebp - 0x17a98]
push eax
push 0
push dword [ebp - 0x17a78]
mov byte [ebp - 4], 8
push 3
call fcn.1009eaa0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x17a98]
test eax, eax
je 0x1009fd8c
cmp eax, dword [0x101c5980]
je 0x1009fd8c
push eax
call fcn.10154f5a
add esp, 4
mov eax, dword [0x101c5980]
mov dword [ebp - 0x17a98], eax
mov dword [ebp - 0x17a94], 0
mov dword [ebp - 0x17a90], 0
mov dword [edi + 0x18], 0xffffffff
jmp 0x1009fdcf
mov ecx, dword [edi + 0xc]
shl edx, 5
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [edx + eax + 0x14]
cdq
add dword [ebp - 0x17a68], eax
adc dword [ebp - 0x17a44], edx
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x17a60]
mov ecx, dword [esi + 4]
inc edx
sub eax, ecx
mov dword [ebp - 0x17a60], edx
sar eax, 2
cmp edx, eax
jb 0x1009f510
jmp 0x1009fe94
mov eax, dword [ebp - 0x2c]
cmp eax, 0xa0000059
jne 0x1009fe2d
mov eax, dword [ebp - 0x17a58]
lea ecx, [ebp - 0x17a38]
mov dword [edi + 0x18], 0xffffffff
mov byte [eax + 0x20], 1
call fcn.100031a0
mov byte [ebp - 4], 3
test esi, esi
je 0x1009fe7e
cmp esi, dword [0x101c5980]
je 0x1009fe7e
push esi
jmp 0x1009fe76
cmp eax, 0xa0000017
je 0x1009fecd
lea ecx, [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x17a7c]
push eax
push dword [ebp - 0x17a78]
push 1
call fcn.1009eaa0
lea ecx, [ebp - 0x17a38]
mov dword [edi + 0x18], 0xffffffff
call fcn.100031a0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x1009fe7e
cmp eax, dword [0x101c5980]
je 0x1009fe7e
push eax
call fcn.10154f5a
add esp, 4
mov eax, dword [0x101c5980]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x17a50]
mov edx, dword [ebp - 0x17a8c]
inc edx
mov dword [ebp - 0x17a8c], edx
mov eax, dword [ecx + 0x1c]
sub eax, dword [ecx + 0x18]
sar eax, 2
cmp edx, eax
jb 0x1009f480
mov esi, dword [ebp - 0x17a84]
push dword [esi]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
xor eax, eax
jmp 0x100a0047
lea ecx, [ebp - 0x17a38]
mov byte [edi + 0xd78], 1
call fcn.100031a0
test esi, esi
je 0x1009fef4
cmp esi, dword [0x101c5980]
je 0x1009fef4
push esi
call fcn.10154f5a
add esp, 4
mov eax, dword [ebp - 0x17a84]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, 5
jmp 0x100a0047
push esi
push dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x17a7c]
push 1
call fcn.1009eaa0
lea ecx, [ebp - 0x88]
call fcn.100031a0
mov eax, dword [ebp - 0x17a84]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, 3
jmp 0x100a0047
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x101c5980]
mov dword [ebp - 0x17a98], ecx
lea ecx, [ebp - 0x17a98]
push eax
mov dword [ebp - 0x17a94], 0
mov dword [ebp - 0x17a90], 0
call fcn.1000bc60
lea eax, [ebp - 0x17a98]
mov byte [ebp - 4], 7
push eax
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x44]
call eax
mov ecx, dword [ebp - 0x17a7c]
push eax
push dword [ebp - 0x17a78]
push 1
call fcn.1009eaa0
mov eax, dword [ebp - 0x17a98]
test eax, eax
je 0x1009ff29
cmp eax, dword [0x101c5980]
je 0x1009ff29
push eax
call fcn.10154f5a
add esp, 4
jmp 0x1009ff29
push dword [edi]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10151433
mov esp, ebp
pop ebp
ret
mov ecx, str.archive_block_not_found
call fcn.100d7670
mov ecx, str.unexpected_EOF
call fcn.100d7670
mov ecx, str.missing_reserved_byte
call fcn.100d7670
mov ecx, edi
call fcn.1009e5d0
mov ecx, edi
call fcn.1009e5e0
mov ecx, str.unexpected_end_of_compressed_data
call fcn.100d7670
mov ecx, str.Incomplete_decompression
call fcn.100d7670
mov ecx, edi
call fcn.1009e5d0
mov ecx, edi
call fcn.1009e5e0
mov ecx, str.bad_checksum
call fcn.100d7670
mov ecx, str.streaming_fragment_in_file
call fcn.100d7670
int3