Function at 0x10005db0
Capabilities:
Check if file exists
Check mutex on windows
Get file attributes
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x8a8
mov eax, dword [esp + 0x8b4]
push ebx
push ebp
push esi
xor esi, esi
cmp eax, esi
push edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x70], esi
je 0x10005e46
mov ecx, dword [eax + 0x20]
cmp ecx, esi
je 0x10005e30
push ecx
call fcn.1000b9ec
mov eax, dword [esp + 0x8c8]
mov dword [eax + 0x20], esi
mov eax, dword [esp + 0x8c8]
add esp, 4
mov ecx, dword [eax + 4]
test ch, 2
je 0x10005e46
test cl, cl
jns 0x10005e46
mov ecx, dword [eax + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x8cc]
push ecx
call fcn.10005cc0
mov edi, eax
add esp, 0xc
cmp edi, esi
jne 0x1000702c
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
test al, 8
je 0x10005ea0
mov eax, dword [edx + 0x1c]
cmp byte [eax], 0
je 0x10005e99
mov cl, byte [eax + 0x27]
test cl, cl
je 0x10005e99
mov cl, byte [eax + 0x1b]
test cl, cl
je 0x10005e99
mov cl, byte [eax + 0x30]
test cl, cl
je 0x10005e99
mov cl, byte [eax + 0x37]
test cl, cl
jne 0x10005eb4
mov ecx, dword [edx]
push eax
push ecx
push ecx
jmp 0x10005ea8
mov ecx, dword [edx + 0x1c]
mov edx, dword [edx]
push ecx
push eax
push edx
call fcn.100034e0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x8bc]
test edi, edi
jne 0x10005ed6
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x8cc]
push edx
jmp 0x10007173
mov eax, edi
lea esi, [eax + 1]
jmp 0x10005ee0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10005ee0
sub eax, esi
cmp eax, 0x104
mov dword [esp + 0x20], eax
ja 0x10007161
mov eax, dword [0x1001f860]
test eax, eax
jne 0x10005f0b
mov eax, dword [0x1001ec2c]
mov dword [0x1001f860], eax
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10005f10
sub eax, esi
mov dword [esp + 0x78], eax
test byte [edx + 4], 1
jne 0x10005f36
lea eax, [esp + 0x68]
push eax
push edx
push edi
call fcn.100055d0
mov edx, dword [esp + 0x1c]
add esp, 0xc
push edx
push edi
call fcn.1000b130
mov eax, dword [esp + 0x18]
push eax
lea ecx, [eax + 0xc]
push ecx
add eax, 8
push eax
call fcn.10007df0
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x4c]
add esp, 0x14
test eax, eax
jne 0x10005f68
mov dword [ecx + 0x4c], 0x10
mov ecx, dword [esp + 0x10]
test byte [ecx + 4], 0x20
mov ebp, dword [esp + 0x8c0]
jne 0x10005f97
mov edx, dword [ecx + 0x48]
push edx
push ebp
call fcn.10004910
add esp, 8
test eax, eax
jne 0x10005f93
push ebp
call fcn.100048c0
add esp, 4
test eax, eax
je 0x10005fca
mov ecx, dword [esp + 0x10]
test ebp, ebp
je 0x10006d66
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x10005fb1
mov ebx, eax
mov dword [esp + 0x24], ebx
jmp 0x10006d6a
mov eax, ebp
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10005fb6
sub eax, esi
mov ebx, eax
mov dword [esp + 0x24], ebx
jmp 0x10006d6a
test ebp, ebp
jne 0x10006005
push 0xc
call fcn.1000bbc2
add esp, 4
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x10005fe8
or edi, 0xffffffff
jmp 0x1000702c
mov ecx, dword [0x1001ec2c]
mov edx, eax
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x10005ff0
xor ebx, ebx
mov dword [esp + 0x74], ebx
jmp 0x10006109
mov eax, ebp
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006010
sub eax, edx
mov ebx, eax
lea eax, [ebx + 0xc]
push eax
mov dword [esp + 0x78], ebx
call fcn.1000bbc2
mov edx, eax
add esp, 4
test edx, edx
mov dword [esp + 0x2c], edx
jne 0x1000603d
or edi, 0xffffffff
jmp 0x1000702c
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
test ah, ah
jns 0x1000608f
mov ax, word [0x10018090]
mov word [edx], ax
mov cl, byte [0x10018092]
mov eax, ebp
mov byte [edx + 2], cl
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10006060
mov edi, dword [esp + 0x2c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10006070
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x8bc]
jmp 0x1000609d
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10006093
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
test eax, 0x400000
je 0x100060b5
and eax, 0xfffbffff
mov dword [ecx], eax
mov ecx, dword [esp + 0x10]
test dword [ecx + 4], 0x40000
je 0x10006109
test ebx, ebx
je 0x10006109
mov al, byte [ebx + ebp - 1]
cmp al, 0x2e
je 0x10006109
cmp al, 0x3f
je 0x10006109
cmp al, 0x2c
je 0x10006109
cmp al, 0x3a
je 0x10006109
cmp al, 0x21
je 0x10006109
cmp al, 0x3c
je 0x10006109
cmp al, 0x28
je 0x10006109
cmp al, 0x2a
je 0x10006109
cmp al, 0x5b
je 0x10006109
mov edi, dword [esp + 0x2c]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100060f0
mov dx, word [0x1001808c]
mov word [edi], dx
mov edi, dword [esp + 0x8bc]
mov eax, dword [esp + 0x20]
lea ecx, [ebx + eax + 0x2d]
push ecx
call fcn.1000bbc2
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x48], esi
jne 0x1000612c
or edi, 0xffffffff
jmp 0x1000702c
push str.STDOUT
push edi
call fcn.10016024
add esp, 8
test eax, eax
jne 0x1000614c
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
and edx, 0xffffffef
or edx, 2
mov dword [eax], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
test ch, 1
mov edx, esi
je 0x1000616c
mov ecx, dword [eax + 0x1c]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x10006160
jmp 0x1000617c
mov eax, dword [eax + 0x1c]
add eax, 0x37
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x10006172
mov eax, dword [esp + 0x10]
test dword [eax + 4], 0x10000
je 0x1000618d
mov byte [esi + 0x10], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
test eax, 0x200000
je 0x100061aa
test ah, 1
je 0x100061a6
mov byte [esi + 0x13], 0
jmp 0x100061aa
mov byte [esi + 0x17], 0
mov ebp, dword [esp + 0x48]
mov edi, ebp
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100061b1
mov dx, word [0x10018080]
mov ebx, dword [esp + 0x8bc]
mov word [edi], dx
mov eax, dword [esp + 0x10]
test byte [eax], 0x10
je 0x10006212
mov eax, ebx
mov edx, ebx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100061d7
mov edi, ebp
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x100061e3
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebp
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10006200
mov cx, word [0x10018080]
mov word [edi], cx
mov eax, dword [esp + 0x2c]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006218
mov edi, ebp
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10006224
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x10]
test dword [edx], 0x400000
jne 0x1000625b
push 0xd
push ebp
call fcn.100095e0
push 0xa
push ebp
call fcn.100095e0
add esp, 0x10
push ebp
call fcn.10009660
mov edi, ebp
add esp, 4
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10006267
mov ax, word [0x1001807c]
mov word [edi], ax
mov eax, dword [esp + 0x10]
test dword [eax], 0x100000
je 0x10006293
push eax
push ebx
push 0x100000
call fcn.10008670
add esp, 0xc
mov eax, dword [esp + 0x10]
test dword [eax], 0x200000
je 0x100062ae
push eax
push ebx
push 0x200000
call fcn.10008670
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
test al, 1
je 0x100062c2
push eax
push ebp
call fcn.10007da0
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
test al, 2
je 0x100062e3
test al, 1
jne 0x10007020
push eax
push ebp
call fcn.10007da0
add esp, 8
jmp 0x10007020
mov byte [esp + 0x98], 0
mov edx, dword [ecx + 0x1c]
push 0xb
push edx
lea eax, [esp + 0x84]
push eax
call fcn.10009700
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
add esp, 0xc
test ch, 2
je 0x10006326
mov ecx, dword [eax + 0x1c]
push 5
push ecx
lea edx, [esp + 0x84]
push edx
call fcn.10009700
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [eax]
test ch, 1
je 0x10006347
mov eax, dword [eax + 0x1c]
push 8
push eax
lea ecx, [esp + 0x84]
push ecx
call fcn.10009700
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp byte [eax], 0
jns 0x10006369
mov edx, dword [eax + 0x1c]
push 9
add edx, 0x1b
push edx
lea eax, [esp + 0x84]
push eax
call fcn.10009700
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp byte [ebx], 0x5c
je 0x1000637b
cmp dword [esp + 0x20], 2
jbe 0x10006386
cmp byte [ebx + 1], 0x3a
jne 0x10006386
mov ecx, 1
mov dword [esp + 0x28], ecx
jmp 0x1000638a
mov ecx, dword [esp + 0x28]
test byte [eax], 0x20
je 0x100063d5
test ecx, ecx
lea edx, [esp + 0x98]
je 0x100063b4
mov ecx, dword [eax + 0x28]
push ecx
push ebx
push str._s_s
push 0x104
push edx
call fcn.10007a90
add esp, 0x14
jmp 0x10006423
mov eax, dword [eax + 0x28]
mov ecx, dword [0x1001f860]
push eax
push ebx
push ecx
push str._s_s_s
push 0x104
push edx
call fcn.10007a90
add esp, 0x18
jmp 0x10006423
mov eax, dword [eax + 0x28]
push eax
test ecx, ecx
lea ecx, [esp + 0x80]
push ecx
push ebx
je 0x10006402
push str._s_s_s
lea edx, [esp + 0xa8]
push 0x104
push edx
call fcn.10007a90
add esp, 0x18
jmp 0x10006423
mov edx, dword [0x1001f860]
push edx
push str._s_s_s_s
lea eax, [esp + 0xac]
push 0x104
push eax
call fcn.10007a90
add esp, 0x1c
mov eax, dword [esp + 0x8c4]
test eax, eax
je 0x1000647e
lea eax, [esp + 0x98]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006438
sub eax, edx
add eax, 2
push eax
call fcn.1000bbc2
mov ecx, dword [esp + 0x8c8]
mov dword [ecx + 0x20], eax
mov edx, dword [esp + 0x8c8]
mov edx, dword [edx + 0x20]
add esp, 4
test edx, edx
jne 0x1000646d
or edi, 0xffffffff
jmp 0x1000702c
lea ecx, [esp + 0x98]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x10006474
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
xor edi, edi
test cl, 8
jne 0x1000702c
test byte [eax + 4], 4
mov ebp, dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [esp + 0x18], edi
jne 0x100065c3
lea eax, [esp + 0x98]
push eax
push str.LogTextShr_s
lea ecx, [esp + 0x2a8]
push 0x208
push ecx
call fcn.10007a90
lea edx, [esp + 0x2b0]
push 0x3a
push edx
call fcn.100095e0
lea eax, [esp + 0x2b8]
push 0x5c
push eax
call fcn.100095e0
add esp, 0x20
lea ecx, [esp + 0x2a0]
push ecx
push edi
push edi
call ebp
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x1000652f
lea edx, [esp + 0x2a0]
push edx
push eax
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x1000652f
lea eax, [esp + 0x2a0]
push eax
push edi
push edi
call ebp
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x10006542
mov edx, dword [esp + 0x1c]
push eax
push edx
jmp 0x10006549
mov eax, dword [esp + 0x1c]
push 0xffffffffffffffff
push eax
call ebx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x1000655c
mov edi, 0xfffffffb
mov dword [esp + 0x18], edi
test eax, eax
je 0x10006583
cmp eax, 0x80
je 0x10006583
cmp eax, 0x102
jne 0x100065bb
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edi, 0xfffffffc
jmp 0x1000702c
mov edx, dword [esp + 0x48]
push 0
push edx
lea eax, [esp + 0xa0]
push eax
call fcn.10001130
add esp, 0xc
test eax, eax
je 0x100065ab
mov eax, dword [esp + 0x68]
test eax, eax
je 0x100065b4
inc dword [eax + 0xc]
jmp 0x100065b4
mov edi, 0xfffffffe
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x1c]
push ecx
call esi
test edi, edi
jl 0x1000702c
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
test al, 4
jne 0x1000702c
mov ecx, eax
and ecx, 0x800
jne 0x10006c9b
test ah, 4
jne 0x10006c9b
test al, 0x20
jne 0x10006c94
mov ecx, dword [edx + 0x10]
test ecx, ecx
jne 0x10006607
mov ecx, dword [edx + 0x14]
test ecx, ecx
jne 0x10006607
test ah, 0x30
je 0x10006c94
lea edx, [esp + 0x7b8]
push edx
lea eax, [esp + 0x6bc]
push eax
lea ecx, [esp + 0x1a8]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0xa8]
push eax
call fcn.1000de72
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x24]
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006640
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x20]
sub eax, edx
add eax, edi
lea edx, [eax + esi + 1]
push edx
call fcn.1000bbc2
add esp, 4
test eax, eax
mov dword [esp + 0x50], eax
jne 0x10006670
or edi, 0xffffffff
jmp 0x1000702c
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x10006698
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x24]
mov ecx, dword [esp + 0x8bc]
push edx
push ecx
push str._s_s
push eax
call fcn.1000ba5d
add esp, 0x10
jmp 0x100066bd
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x24]
mov edx, dword [esp + 0x8bc]
push ecx
mov ecx, dword [0x1001f860]
push edx
push ecx
push str._s_s_s
push eax
call fcn.1000ba5d
add esp, 0x14
lea edx, [edi + esi + 0x4ed]
push edx
call fcn.1000bbc2
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x14], ebp
jne 0x100066df
or edi, 0xffffffff
jmp 0x10007030
mov ebx, dword [esp + 0x74]
lea eax, [ebx + edi]
lea ecx, [eax + esi + 0x4ed]
push ecx
call fcn.1000bbc2
add esp, 4
test eax, eax
mov dword [esp + 0x34], eax
jne 0x10006706
or edi, 0xffffffff
jmp 0x10007030
lea edx, [ebx + esi + 0x4ed]
push edx
call fcn.1000bbc2
add esp, 4
test eax, eax
mov dword [esp + 0x6c], eax
jne 0x10006726
or edi, 0xffffffff
jmp 0x10007030
mov eax, dword [esp + 0x50]
push eax
call fcn.10008570
mov esi, eax
add esp, 4
test esi, esi
je 0x10006756
mov ecx, dword [esp + 0x10]
test byte [ecx + 4], 0x40
je 0x10006756
push 0
push esi
call fcn.10009270
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
jne 0x1000675a
mov dword [esp + 0x20], esi
mov edi, dword [esp + 0x20]
xor ebx, ebx
test edi, edi
je 0x1000688f
test ebx, ebx
jne 0x10006770
inc dword [esp + 0x24]
lea edx, [edi + 0x30]
push edx
lea eax, [esp + 0x1a4]
push eax
lea ecx, [esp + 0x38]
push ecx
push str._s_s_s
push ebp
call fcn.1000ba5d
add esp, 0x14
lea esi, [esp + 0x98]
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100067bc
test cl, cl
je 0x100067b8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100067bc
add eax, 2
add esi, 2
test cl, cl
jne 0x10006798
xor eax, eax
jmp 0x100067c1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100067ca
mov ebx, 1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
test ch, 0x20
je 0x100067e3
push ebp
call fcn.1000de48
add esp, 4
jmp 0x10006885
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x1000680e
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0x8bc]
mov esi, dword [esp + 0x34]
add eax, 0x30
push eax
push ecx
push str._s_s
push esi
call fcn.1000ba5d
add esp, 0x10
jmp 0x1000683a
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0x8bc]
mov ecx, dword [0x1001f860]
add edx, 0x30
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push str._s_s_s
push edx
call fcn.1000ba5d
mov esi, dword [esp + 0x48]
add esp, 0x14
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test al, 0x40
jne 0x10006849
test ah, 3
je 0x10006885
mov eax, esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006850
sub eax, edx
push eax
push esi
push ebp
call fcn.1000cd50
add esp, 0xc
test eax, eax
jne 0x10006885
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x10006885
mov ecx, dword [esp + 0x8bc]
push eax
push ecx
push ebp
call fcn.1000b4f0
add esp, 0xc
mov edi, dword [edi]
test edi, edi
jne 0x10006768
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
test eax, eax
je 0x10006a44
cmp dword [esp + 0x24], eax
jbe 0x10006a44
mov esi, dword [esp + 0x20]
test esi, esi
je 0x10006a44
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov ecx, eax
dec eax
mov dword [esp + 0x24], eax
cmp ecx, dword [edx + 0x10]
jbe 0x10006a44
lea eax, [esi + 0x30]
push eax
lea ecx, [esp + 0x1a4]
push ecx
lea edx, [esp + 0x38]
push edx
push str._s_s_s
push ebp
call fcn.1000ba5d
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
add esp, 0x14
test ch, ch
jns 0x1000690c
push eax
mov eax, dword [esp + 0x8c0]
push eax
push ebp
call fcn.1000b4f0
add esp, 0xc
jmp 0x10006a27
push ebp
push str.LogTextZip_s
lea ecx, [esp + 0x4b4]
push 0x208
xor edi, edi
push ecx
mov dword [esp + 0x28], edi
call fcn.10007a90
lea edx, [esp + 0x4bc]
push 0x3a
push edx
call fcn.100095e0
lea eax, [esp + 0x4c4]
push 0x5c
push eax
call fcn.100095e0
mov ebx, dword [sym.imp.KERNEL32.dll_CreateMutexA]
add esp, 0x20
lea ecx, [esp + 0x4ac]
push ecx
push edi
push edi
call ebx
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x10006989
lea edx, [esp + 0x2a0]
push edx
push eax
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
lea eax, [esp + 0x4ac]
push eax
push edi
push edi
call ebx
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x3c]
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test ebx, ebx
jne 0x100069a3
mov edi, 0xfffffffb
mov dword [esp + 0x18], edi
test eax, eax
je 0x100069f5
cmp eax, 0x80
je 0x100069f5
cmp eax, 0x102
jne 0x10006a23
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edi, 0xffffff9d
mov edx, dword [esp + 0x20]
push edx
call fcn.10008640
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x8d0]
push edx
call fcn.10005d50
add esp, 0x10
cmp edi, 0xffffff9d
je 0x1000702c
xor edi, edi
jmp 0x10007030
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x8bc]
push ecx
push edx
push ebp
call fcn.1000b5e0
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [esp + 0x10]
test dword [eax + 4], 0x100000
je 0x10006a23
inc dword [esp + 0x44]
test edi, edi
jl 0x100069c1
mov ecx, dword [esp + 0x3c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esi]
test esi, esi
mov dword [esp + 0x3c], 0
jne 0x100068b4
mov eax, dword [esp + 0x10]
test dword [eax + 4], 0x100000
je 0x10006abe
mov ecx, dword [esp + 0x44]
cmp ecx, dword [eax + 0x14]
jbe 0x10006abe
mov esi, dword [esp + 0x20]
test esi, esi
je 0x10006abe
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, ecx
lea ebx, [ebx]
lea edx, [esi + 0x30]
push edx
lea eax, [esp + 0x1a4]
push eax
lea ecx, [esp + 0x38]
push ecx
push str._s_s_s
push ebp
call fcn.1000ba5d
add esp, 0x14
push ebp
call edi
cmp eax, 0xffffffff
je 0x10006ab8
test ah, 8
je 0x10006ab8
mov eax, dword [esp + 0x10]
cmp ebx, dword [eax + 0x14]
jbe 0x10006abe
mov edx, dword [esp + 0x8bc]
push eax
push edx
push ebp
call fcn.1000b4f0
add esp, 0xc
dec ebx
mov esi, dword [esi]
test esi, esi
jne 0x10006a70
mov eax, dword [esp + 0x20]
push eax
call fcn.10008640
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
add esp, 4
test ch, ch
jns 0x10006adc
xor edi, edi
jmp 0x10007030
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov esi, dword [esp + 0x50]
je 0x10006b04
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x8bc]
push ecx
push edx
push str._s_s
push esi
call fcn.1000ba5d
add esp, 0x10
jmp 0x10006b25
mov eax, dword [eax + 0x2c]
mov ecx, dword [esp + 0x8bc]
mov edx, dword [0x1001f860]
push eax
push ecx
push edx
push str._s_s_s
push esi
call fcn.1000ba5d
add esp, 0x14
push esi
call fcn.10008570
add esp, 4
test eax, eax
je 0x10006b47
mov ecx, dword [esp + 0x10]
test byte [ecx + 4], 0x40
je 0x10006b47
push 0
push eax
call fcn.10009270
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
xor ebp, ebp
test ecx, ecx
mov esi, ebx
jne 0x10006b63
mov ecx, dword [eax]
test ch, 0x10
je 0x10006c86
test ebx, ebx
je 0x10006c37
mov edi, dword [esp + 0x34]
nop
lea edx, [esi + 0x30]
push edx
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x1a4]
push eax
lea ecx, [esp + 0x38]
push ecx
push str._s_s_s
push edx
inc ebp
call fcn.1000ba5d
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x8d0]
add esp, 0x14
test eax, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
je 0x10006bbf
add ecx, 0x30
push ecx
push edx
push str._s_s
push edi
call fcn.1000ba5d
add esp, 0x10
jmp 0x10006bd8
mov eax, dword [0x1001f860]
add ecx, 0x30
push ecx
push edx
push eax
push str._s_s_s
push edi
call fcn.1000ba5d
add esp, 0x14
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
test al, 0x40
jne 0x10006be7
test ah, 3
je 0x10006c2d
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006bf0
sub eax, edx
mov edx, dword [esp + 0x14]
push eax
push edi
push edx
call fcn.1000cd50
add esp, 0xc
test eax, eax
jne 0x10006c2d
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x10006c2d
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x8c0]
push eax
push ecx
call fcn.1000b4f0
add esp, 0xc
mov esi, dword [esi]
test esi, esi
jne 0x10006b70
test ebx, ebx
mov esi, ebx
je 0x10006c86
lea ecx, [ecx]
mov edx, dword [esp + 0x10]
cmp ebp, dword [edx + 0x14]
jbe 0x10006c86
mov edi, dword [esp + 0x14]
lea eax, [esi + 0x30]
push eax
lea ecx, [esp + 0x1a4]
push ecx
lea edx, [esp + 0x38]
push edx
push str._s_s_s
push edi
call fcn.1000ba5d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x8d0]
push eax
push ecx
push edi
call fcn.1000b4f0
mov esi, dword [esi]
add esp, 0x20
dec ebp
test esi, esi
jne 0x10006c40
push ebx
call fcn.10008640
add esp, 4
jmp 0x10007028
xor edi, edi
jmp 0x1000702c
test ecx, ecx
je 0x10006cab
test ah, 4
je 0x10006cab
and eax, 0xfffffbff
mov dword [edx], eax
lea edx, [esp + 0x2a0]
push edx
push 0
push 0
call ebp
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x10006cee
lea eax, [esp + 0x2a0]
push eax
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x10006cee
lea ecx, [esp + 0x2a0]
push ecx
push eax
push eax
call ebp
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x18]
test eax, eax
mov ebp, dword [esp + 0x1c]
je 0x10006d00
push eax
jmp 0x10006d02
push 0xffffffffffffffff
push ebp
call ebx
test ebp, ebp
jne 0x10006d0e
mov edi, 0xfffffffb
test eax, eax
je 0x10006d35
cmp eax, 0x80
je 0x10006d35
cmp eax, 0x102
jne 0x1000702c
mov eax, dword [esp + 0x1c]
push eax
call esi
mov edi, 0xfffffffc
jmp 0x1000702c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
push ecx
push 0
push 0
push edx
push 0
push eax
lea ecx, [esp + 0xb0]
push ecx
call fcn.10008ba0
mov edx, dword [esp + 0x38]
add esp, 0x1c
push edx
call esi
jmp 0x1000702c
mov ebx, dword [esp + 0x24]
mov eax, dword [ecx + 0x4c]
lea ecx, [eax*4 + 0x14]
push ecx
call fcn.1000bbc2
add esp, 4
test eax, eax
mov dword [esp + 0x54], eax
jne 0x10006d92
mov dword [esp + 0x18], 0xffffffff
jmp 0x10007028
lea edx, [ebx + 0xb]
push edx
call fcn.1000bbc2
add esp, 4
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x10006db3
mov dword [esp + 0x18], 0xffffffff
jmp 0x10007028
test ebp, ebp
jne 0x10006dd5
mov ecx, dword [str._NULL_]
mov dword [eax], ecx
mov dx, word [0x1001803c]
mov word [eax + 4], dx
mov cl, byte [0x1001803e]
mov byte [eax + 6], cl
jmp 0x10006df1
mov eax, dword [esp + 0x2c]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
mov esi, ebp
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x4c]
lea ecx, [eax + eax*2 + 1]
push ecx
call fcn.1000bbc2
add esp, 4
test eax, eax
mov dword [esp + 0x40], eax
jne 0x10006e1a
mov dword [esp + 0x18], 0xffffffff
jmp 0x10007028
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x4c]
inc eax
push eax
call fcn.1000bbc2
add esp, 4
test eax, eax
mov dword [esp + 0x38], eax
jne 0x10006e40
mov dword [esp + 0x18], 0xffffffff
jmp 0x10007028
push 0xb
call fcn.1000bbc2
add esp, 4
test eax, eax
mov dword [esp + 0x4c], eax
jne 0x10006e5f
mov dword [esp + 0x18], 0xffffffff
jmp 0x10007028
call fcn.100058c0
test eax, eax
mov dword [esp + 0x28], eax
jne 0x10006e79
mov dword [esp + 0x18], 0xffffffff
jmp 0x10007028
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
push ecx
push esi
call fcn.100058e0
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x2c]
and edx, 0xffffffdf
xor ebx, ebx
or edx, 1
add esp, 8
cmp eax, ebx
mov dword [esi + 4], edx
mov dword [esi + 0x48], ebx
jbe 0x10007013
jmp 0x10006eb0
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
push ebx
push str._0.9X
push ecx
xor ebp, ebp
mov byte [eax], 0
call fcn.1000ba5d
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x4c]
add esp, 0xc
test eax, eax
jbe 0x10006fa9
jmp 0x10006ee0
cmp dword [esp + 0x24], ebx
jbe 0x10006f5c
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x5c], 0
movsx eax, byte [ebx + esi]
push eax
lea ecx, [esp + 0x60]
push str._0.2X
push ecx
call fcn.1000ba5d
lea eax, [esp + 0x68]
add esp, 0xc
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006f10
sub eax, edx
cmp eax, 3
jbe 0x10006f37
mov dl, byte [esp + 0x62]
mov al, byte [esp + 0x63]
mov byte [esp + 0x5c], dl
mov byte [esp + 0x5d], al
mov byte [esp + 0x5e], 0x20
mov byte [esp + 0x5f], cl
mov al, byte [ebx + esi]
cmp al, 0x20
jl 0x10006f52
movsx ecx, al
cmp ecx, 0x80
jg 0x10006f52
mov edx, dword [esp + 0x38]
mov byte [edx + ebp], al
jmp 0x10006f6c
mov eax, dword [esp + 0x38]
mov byte [eax + ebp], 0x2e
jmp 0x10006f6c
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], 0x202020
mov byte [ecx + ebp], 0x20
lea eax, [esp + 0x5c]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006f72
mov edi, dword [esp + 0x40]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10006f80
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x4c]
inc ebp
inc ebx
cmp ebp, eax
jb 0x10006ee0
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x54]
mov byte [eax + ebp], 0
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
test dh, dh
push eax
jns 0x10006fd2
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x50]
push edx
push eax
push str.___s__s__s
jmp 0x10006fe1
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x50]
push ecx
push edx
push str._s__s__s
push edi
call fcn.1000ba5d
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x8d0]
add esp, 0x14
push esi
push edi
push eax
call sym.logtext.dll_LogTextEx
mov ecx, dword [esi]
mov eax, dword [esp + 0x30]
or ecx, 4
add esp, 0xc
cmp ebx, eax
mov dword [esi], ecx
jb 0x10006eb0
mov ecx, dword [esp + 0x28]
push ecx
call fcn.10005860
add esp, 4
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x10007053
mov eax, dword [ecx + 4]
test ah, 2
je 0x10007134
test ah, 4
je 0x10007053
mov edx, dword [ecx + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x70]
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x8cc]
push edx
call fcn.10005d50
mov eax, dword [esp + 0x38]
push eax
call fcn.1000b9ec
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.1000b9ec
push ebp
call fcn.1000b9ec
mov edx, dword [esp + 0x4c]
push edx
call fcn.1000b9ec
mov eax, dword [esp + 0x70]
push eax
call fcn.1000b9ec
mov ecx, dword [esp + 0x60]
push ecx
call fcn.1000b9ec
mov edx, dword [esp + 0x5c]
push edx
call fcn.1000b9ec
mov eax, dword [esp + 0x74]
push eax
call fcn.1000b9ec
mov ecx, dword [esp + 0x74]
push ecx
call fcn.1000b9ec
mov edx, dword [esp + 0x80]
push edx
call fcn.1000b9ec
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 4]
add esp, 0x34
test ch, 2
jne 0x10007109
mov eax, dword [esp + 0x8c4]
test eax, eax
je 0x10007109
test byte [eax], 8
je 0x10007109
push esi
call fcn.100161ce
mov ecx, dword [esp + 0x8c8]
push esi
mov dword [ecx + 0x20], eax
call fcn.1000b9ec
add esp, 8
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x10007118
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10007127
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8a8
ret
mov eax, dword [esp + 0x8c4]
test eax, eax
je 0x10007053
test byte [eax], 8
je 0x10007053
mov ecx, eax
mov edx, dword [ecx + 0x20]
push edx
call fcn.100161ce
add esp, 4
mov esi, eax
jmp 0x10007057
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x8cc]
push ecx
call fcn.10005d50
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x8a8
ret