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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5b1e6f
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x639210]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
push esi
push edi
mov eax, dword [0x639210]
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 0x408e53
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, 0x649978
cmp dword [0x64998c], 8
cmovae edx, dword [0x649978]
cmp word [edx], ax
jne 0x408df0
xor ecx, ecx
jmp 0x408e04
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408df5
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x44]
call fcn.0041d070
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 0x408e4a
call edi
cmp eax, 0xb7
jne 0x408e4a
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebx, ebx
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0x3c]
call fcn.00402220
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 0x6079a0
lea ecx, [esp + 0x104]
mov byte [esp + 0x178], 8
call fcn.0041d070
mov byte [esp + 0x170], 9
test ebx, ebx
jne 0x408f41
cmp dword [0x64998c], 8
mov esi, 0x649978
cmovae esi, dword [0x649978]
call edi
push eax
push esi
push str._tname_s_err_lu.
lea eax, [esp + 0x48]
push eax
push 0x6495d0
call fcn.00410a60
add esp, 0x14
mov edx, eax
mov byte [esp + 0x170], 0xa
cmp dword [edx + 0x14], 8
jb 0x408f25
mov edx, dword [edx]
cmp word [edx], 0
jne 0x408f2f
xor ecx, ecx
jmp 0x408f9f
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408f34
jmp 0x408f9b
cmp dword [0x64998c], 8
mov eax, 0x649978
cmovae eax, dword [0x649978]
push eax
push str._tname_s.
lea eax, [esp + 0x44]
push eax
push 0x6495d0
call fcn.00410a60
add esp, 0x10
mov edx, eax
mov byte [esp + 0x170], 0xb
cmp dword [edx + 0x14], 8
jb 0x408f7e
mov edx, dword [edx]
cmp word [edx], 0
jne 0x408f88
xor ecx, ecx
jmp 0x408f9f
mov ecx, edx
lea esi, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408f90
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x104]
call fcn.0041d070
lea ecx, [esp + 0x3c]
call fcn.00402220
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 0x409000
sub esi, edx
sar esi, 1
je 0x409095
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 0x409058
lea ecx, [ebx + 1]
push ecx
call fcn.0043f39a
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 0x409067
push 1
call fcn.0043f39a
mov edi, eax
add esp, 4
mov byte [edi], 0
cmp byte [edi], 0
jne 0x409070
xor ecx, ecx
jmp 0x40907e
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409075
sub ecx, edx
push ecx
push edi
lea ecx, [esp + 0xd4]
call fcn.0041da10
push edi
call fcn.0043f3a3
add esp, 4
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x120]
call fcn.0041e000
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 0x4090e5
push dword [esp + 0xcc]
call fcn.0043f3a3
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 0x40912a
xor ecx, ecx
jmp 0x409139
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409130
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xbc]
call fcn.0041da10
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 0x4091f0
sub esi, 4
jb 0x4091b1
jmp 0x4091a0
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4091b6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4091a0
cmp esi, 0xfffffffc
je 0x4091ea
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x4091e3
cmp esi, 0xfffffffd
je 0x4091ea
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x4091e3
cmp esi, 0xfffffffe
je 0x4091ea
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x4091e3
cmp esi, 0xffffffff
je 0x4091ea
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x4091ea
sbb eax, eax
or eax, 1
jmp 0x4091ec
xor eax, eax
test eax, eax
jne 0x409202
cmp ebx, edi
jae 0x4091f9
or eax, 0xffffffff
jmp 0x409200
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x409271
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0xf0]
call fcn.0041e000
cmp dword [esp + 0xc8], 0x10
lea eax, [esp + 0xb4]
mov dword [esp + 0x2c], 0x6042e8
cmovae eax, dword [esp + 0xb4]
push eax
push 0x6042e0
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.00404e40
add esp, 0x14
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4094e1
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, 0x649678
cmp dword [0x64968c], 8
cmovae esi, dword [0x649678]
cmp word [esi], ax
jne 0x40931d
xor ecx, ecx
jmp 0x409331
mov ecx, esi
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x409322
sub ecx, edi
sar ecx, 1
push ecx
push esi
mov ecx, edx
call fcn.0041d070
lea eax, [esp + 0xfc]
mov byte [esp + 0x1d0], 0xe
push eax
mov ecx, 0x649650
call fcn.00409960
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 0x40949a
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.00409540
mov ecx, dword [esp + 0xac]
mov eax, 0x2aaaaaab
sub ecx, dword [esp + 0xa8]
imul ecx
mov dword [esp + 0x1c], 0x604350
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.00404e40
add esp, 0x14
lea eax, [esp + 0xa8]
push eax
call fcn.00409f40
mov ebx, dword [esp + 0xa8]
test ebx, ebx
je 0x409488
mov edi, dword [esp + 0xac]
mov esi, ebx
cmp ebx, edi
je 0x40945e
lea ebx, [ebx]
mov ecx, esi
call fcn.00402220
add esi, 0x60
cmp esi, edi
jne 0x409450
push ebx
call fcn.0043f3a3
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 0x4094e1
cmp esi, edi
je 0x4094b7
mov ecx, esi
call fcn.00402220
add esi, 0x60
cmp esi, edi
jne 0x4094a2
mov esi, dword [esp + 0x9c]
push esi
call fcn.0043f3a3
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 0x409505
push dword [esp + 0xb4]
call fcn.0043f3a3
add esp, 4
lea ecx, [esp + 0xfc]
mov dword [esp + 0xc8], 0xf
mov dword [esp + 0xc4], 0
mov byte [esp + 0xb4], 0
call fcn.00402220
jmp 0x408d66