Function at 0x100093e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1017f74f
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x101f7210]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
push esi
push edi
mov eax, dword [0x101f7210]
xor eax, esp
push eax
lea eax, [esp + 0x168]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0xf8], 0xf
mov dword [esp + 0x14], ebx
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
mov dword [esp + 0x170], ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test ebx, ebx
jne 0x10009533
lea eax, [esp + 0x3c]
mov dword [esp + 0x50], 7
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], ax
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], eax
mov byte [esp + 0x54], al
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], eax
mov word [esp + 0x6c], ax
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], eax
mov byte [esp + 0x84], al
mov byte [esp + 0x170], 4
mov edx, 0x10203ae8
cmp dword [0x10203afc], 8
cmovae edx, dword [0x10203ae8]
cmp word [edx], ax
jne 0x100094d0
xor ecx, ecx
jmp 0x100094e4
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100094d5
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x44]
call fcn.1001e640
cmp dword [esp + 0x50], 8
lea eax, [esp + 0x3c]
cmovae eax, dword [esp + 0x3c]
push eax
push 0xa
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x1000952a
call edi
cmp eax, 0xb7
jne 0x1000952a
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebx, ebx
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0x3c]
call fcn.100024d0
xor eax, eax
mov dword [esp + 0x110], 7
mov dword [esp + 0x10c], 0
mov word [esp + 0xfc], ax
mov dword [esp + 0x128], 0xf
mov dword [esp + 0x124], eax
mov byte [esp + 0x114], al
mov dword [esp + 0x140], 7
mov dword [esp + 0x13c], eax
mov word [esp + 0x12c], ax
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], eax
mov byte [esp + 0x144], al
push eax
push 0x101cf8e0
lea ecx, [esp + 0x104]
mov byte [esp + 0x178], 8
call fcn.1001e640
mov byte [esp + 0x170], 9
test ebx, ebx
jne 0x10009621
cmp dword [0x10203afc], 8
mov esi, 0x10203ae8
cmovae esi, dword [0x10203ae8]
call edi
push eax
push esi
push str._tname_s_err_lu.
lea eax, [esp + 0x48]
push eax
push 0x10203748
call fcn.10010fa0
add esp, 0x14
mov edx, eax
mov byte [esp + 0x170], 0xa
cmp dword [edx + 0x14], 8
jb 0x10009605
mov edx, dword [edx]
cmp word [edx], 0
jne 0x1000960f
xor ecx, ecx
jmp 0x1000967f
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10009614
jmp 0x1000967b
cmp dword [0x10203afc], 8
mov eax, 0x10203ae8
cmovae eax, dword [0x10203ae8]
push eax
push str._tname_s.
lea eax, [esp + 0x44]
push eax
push 0x10203748
call fcn.10010fa0
add esp, 0x10
mov edx, eax
mov byte [esp + 0x170], 0xb
cmp dword [edx + 0x14], 8
jb 0x1000965e
mov edx, dword [edx]
cmp word [edx], 0
jne 0x10009668
xor ecx, ecx
jmp 0x1000967f
mov ecx, edx
lea esi, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10009670
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x104]
call fcn.1001e640
lea ecx, [esp + 0x3c]
call fcn.100024d0
mov dword [esp + 0xe0], 0xf
mov dword [esp + 0xdc], 0
mov byte [esp + 0xcc], 0
mov byte [esp + 0x170], 0xc
lea ecx, [esp + 0xfc]
cmp dword [esp + 0x110], 8
cmovae ecx, dword [esp + 0xfc]
mov esi, ecx
mov dword [esp + 0x18], ecx
lea edx, [esi + 2]
lea esp, [esp]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x100096e0
sub esi, edx
sar esi, 1
je 0x10009775
push 0
push 0
push 0
push 0
push esi
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
test ebx, ebx
jle 0x10009738
lea ecx, [ebx + 1]
push ecx
call fcn.1002fb37
add esp, 4
mov edi, eax
push 0
push 0
push ebx
push edi
push esi
push dword [esp + 0x2c]
mov byte [ebx + edi], 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x10009747
push 1
call fcn.1002fb37
mov edi, eax
add esp, 4
mov byte [edi], 0
cmp byte [edi], 0
jne 0x10009750
xor ecx, ecx
jmp 0x1000975e
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009755
sub ecx, edx
push ecx
push edi
lea ecx, [esp + 0xd4]
call fcn.1001ec60
push edi
call fcn.1002fb32
add esp, 4
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x120]
call fcn.1001f250
cmp dword [esp + 0x128], 0x10
lea esi, [esp + 0x114]
cmovae esi, dword [esp + 0x114]
mov byte [esp + 0x170], 9
cmp dword [esp + 0xe0], 0x10
jb 0x100097c5
push dword [esp + 0xcc]
call fcn.1002fb32
add esp, 4
mov dword [esp + 0xe0], 0xf
mov dword [esp + 0xdc], 0
mov byte [esp + 0xcc], 0
mov dword [esp + 0xc8], 0xf
mov dword [esp + 0xc4], 0
mov byte [esp + 0xb4], 0
cmp byte [esi], 0
jne 0x1000980a
xor ecx, ecx
jmp 0x10009819
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009810
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xbc]
call fcn.1001ec60
mov byte [esp + 0x170], 0xd
lea ecx, [esp + 0xb4]
cmp dword [esp + 0xc8], 0x10
lea edx, [esp + 0xe4]
mov edi, dword [esp + 0xc4]
mov esi, edi
cmovae ecx, dword [esp + 0xb4]
cmp dword [esp + 0xf8], 0x10
mov ebx, dword [esp + 0xf4]
cmovae edx, dword [esp + 0xe4]
cmp ebx, edi
cmovb esi, ebx
test esi, esi
je 0x100098d0
sub esi, 4
jb 0x10009891
jmp 0x10009880
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x10009896
add edx, 4
add ecx, 4
sub esi, 4
jae 0x10009880
cmp esi, 0xfffffffc
je 0x100098ca
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x100098c3
cmp esi, 0xfffffffd
je 0x100098ca
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x100098c3
cmp esi, 0xfffffffe
je 0x100098ca
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x100098c3
cmp esi, 0xffffffff
je 0x100098ca
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x100098ca
sbb eax, eax
or eax, 1
jmp 0x100098cc
xor eax, eax
test eax, eax
jne 0x100098e2
cmp ebx, edi
jae 0x100098d9
or eax, 0xffffffff
jmp 0x100098e0
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x10009951
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0xf0]
call fcn.1001f250
cmp dword [esp + 0xc8], 0x10
lea eax, [esp + 0xb4]
mov dword [esp + 0x2c], 0x101cd928
cmovae eax, dword [esp + 0xb4]
push eax
push 0x101cd920
sub esp, 0xc
mov dword [esp + 0x44], 0
movq xmm0, qword [esp + 0x40]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 1
call fcn.10005540
add esp, 0x14
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x10009bc1
xorps xmm0, xmm0
mov dword [esp + 0xa4], 0
movq qword [esp + 0x9c], xmm0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
sub esp, 0x60
xor eax, eax
mov edx, esp
mov dword [esp + 0x78], edx
mov dword [edx + 0x14], 7
mov dword [edx + 0x10], 0
mov word [edx], ax
mov dword [edx + 0x2c], 0xf
mov dword [edx + 0x28], eax
mov byte [edx + 0x18], al
mov dword [edx + 0x44], 7
mov dword [edx + 0x40], eax
mov word [edx + 0x30], ax
mov dword [edx + 0x5c], 0xf
mov dword [edx + 0x58], eax
mov byte [edx + 0x48], al
mov byte [esp + 0x1d0], 0x12
mov esi, 0x102037e8
cmp dword [0x102037fc], 8
cmovae esi, dword [0x102037e8]
cmp word [esi], ax
jne 0x100099fd
xor ecx, ecx
jmp 0x10009a11
mov ecx, esi
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10009a02
sub ecx, edi
sar ecx, 1
push ecx
push esi
mov ecx, edx
call fcn.1001e640
lea eax, [esp + 0xfc]
mov byte [esp + 0x1d0], 0xe
push eax
mov ecx, 0x102037c0
call fcn.1000a040
mov edi, dword [esp + 0xa0]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x9c]
mov ecx, edi
sub ecx, esi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10009b7a
xorps xmm0, xmm0
mov dword [esp + 0xb0], 0
movq qword [esp + 0xa8], xmm0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea eax, [esp + 0xa8]
mov byte [esp + 0x170], 0x13
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.10009c20
mov ecx, dword [esp + 0xac]
mov eax, 0x2aaaaaab
sub ecx, dword [esp + 0xa8]
imul ecx
mov dword [esp + 0x1c], 0x101cd9a0
sar edx, 4
mov eax, edx
mov dword [esp + 0x20], 0
movq xmm0, qword [esp + 0x1c]
shr eax, 0x1f
add eax, edx
push eax
push str._tvFiles_d_begin_zip.
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], 1
call fcn.10005540
add esp, 0x14
lea eax, [esp + 0xa8]
push eax
call fcn.1000a610
mov ebx, dword [esp + 0xa8]
test ebx, ebx
je 0x10009b68
mov edi, dword [esp + 0xac]
mov esi, ebx
cmp ebx, edi
je 0x10009b3e
lea ebx, [ebx]
mov ecx, esi
call fcn.100024d0
add esi, 0x60
cmp esi, edi
jne 0x10009b30
push ebx
call fcn.1002fb32
add esp, 4
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
test esi, esi
je 0x10009bc1
cmp esi, edi
je 0x10009b97
mov ecx, esi
call fcn.100024d0
add esi, 0x60
cmp esi, edi
jne 0x10009b82
mov esi, dword [esp + 0x9c]
push esi
call fcn.1002fb32
add esp, 4
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esp + 0xc8], 0x10
jb 0x10009be5
push dword [esp + 0xb4]
call fcn.1002fb32
add esp, 4
lea ecx, [esp + 0xfc]
mov dword [esp + 0xc8], 0xf
mov dword [esp + 0xc4], 0
mov byte [esp + 0xb4], 0
call fcn.100024d0
jmp 0x10009446