Function at 0x4439b0
Capabilities:
Create directory
Delete file
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x555ce8
mov eax, dword fs:[0]
push eax
sub esp, 0x678
mov eax, dword [0x5932e0]
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 esi, ecx
mov dword [ebp - 0x5a4], esi
mov dword [ebp - 0x5ac], esi
mov dword [ebp - 0x598], 0
call fcn.00442340
test eax, eax
jne 0x44523f
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], 0xf
mov byte [ebp - 0x1a4], al
mov dword [ebp - 4], eax
add esi, 0x20c
mov byte [ebp - 4], 1
lea edi, [esi + 0x10]
mov dword [ebp - 0x5e8], eax
lea ecx, [ebp - 0x5f8]
mov byte [ebp - 0x5f8], al
mov eax, dword [edi]
add eax, 2
mov dword [ebp - 0x5e4], 0xf
push eax
mov dword [ebp - 0x598], 4
call fcn.00409fe0
cmp dword [esi + 0x14], 0x10
jb 0x443a65
mov esi, dword [esi]
push dword [edi]
lea ecx, [ebp - 0x5f8]
push esi
call fcn.00409bf0
push 2
push 0x5731c4
lea ecx, [ebp - 0x5f8]
call fcn.00409bf0
cmp dword [ebp - 0x5e4], 0x10
lea ecx, [ebp - 0x594]
lea eax, [ebp - 0x5f8]
cmovae eax, dword [ebp - 0x5f8]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_FindFirstFileA]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x5e4]
mov dword [ebp - 0x5e0], eax
cmp edx, 0x10
jb 0x443aeb
mov ecx, dword [ebp - 0x5f8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x443ae1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44525b
push edx
push ecx
call fcn.005150f8
add esp, 8
cmp dword [ebp - 0x5e0], 0xffffffff
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 0x5e4], 0xf
mov byte [ebp - 0x5f8], 0
jne 0x443b19
mov eax, 0xfffff82f
jmp 0x44523f
push 0
push 0x570017
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
call fcn.00409ab0
sub esp, 0x18
mov byte [ebp - 4], 2
mov ecx, esp
push 0xc
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push 0x5731c8
mov byte [ecx], 0
call fcn.00409ab0
lea ecx, [ebp - 0x12c]
call fcn.004d8190
add esp, 0x18
mov byte [ebp - 4], 3
xor edi, edi
test byte [ebp - 0x594], 0x10
mov dword [ebp - 0x59c], edi
je 0x445151
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x44], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x443bb0
sub ecx, edx
lea eax, [ebp - 0x568]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.00409ab0
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0x44]
push 1
push 0x5731d8
push dword [ebp - 0x34]
cmovae eax, esi
push eax
call fcn.0042a3f0
add esp, 0x10
test al, al
jne 0x44511a
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
push 2
push 0x5731dc
push dword [ebp - 0x34]
cmovae eax, esi
push eax
call fcn.0042a3f0
add esp, 0x10
test al, al
jne 0x44511a
mov eax, dword [ebp - 0x5a4]
add eax, 0x20c
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
or edi, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x598], edi
mov edi, eax
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea eax, [edi + 0x10]
mov dword [ebp - 0x5a0], eax
mov eax, dword [eax]
inc eax
push eax
call fcn.00409fe0
cmp dword [edi + 0x14], 0x10
jb 0x443c65
mov edi, dword [edi]
mov eax, dword [ebp - 0x5a0]
lea ecx, [ebp - 0x2c]
push dword [eax]
push edi
call fcn.00409bf0
push 1
push 0x5731e0
lea ecx, [ebp - 0x2c]
call fcn.00409bf0
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
push dword [ebp - 0x34]
cmovae eax, esi
lea ecx, [ebp - 0x2c]
push eax
call fcn.00409bf0
mov edi, dword [ebp - 0x59c]
or edi, 0x18
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb4], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
movq qword [ebp - 0xa4], xmm0
mov byte [eax], 0
and edi, 0xfffffff7
mov esi, edi
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x443d09
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x443cff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445260
push edx
push ecx
call fcn.005150f8
add esp, 8
push str.extensions.json
lea edx, [ebp - 0xb4]
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00409c80
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x5c]
mov eax, dword [ebp - 0x11c]
or edi, 0x40
add eax, 0x1a
mov dword [ebp - 0x4c], 0
push eax
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
mov dword [ebp - 0x598], edi
call fcn.00409fe0
cmp dword [ebp - 0x118], 0x10
lea eax, [ebp - 0x12c]
push dword [ebp - 0x11c]
cmovae eax, dword [ebp - 0x12c]
lea ecx, [ebp - 0x5c]
push eax
call fcn.00409bf0
push 0x1a
push str.MozillaFirefoxProfiles_
lea ecx, [ebp - 0x5c]
call fcn.00409bf0
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
push dword [ebp - 0x34]
cmovae eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x5c]
push eax
call fcn.00409bf0
mov dword [ebp - 0x5b4], 0
mov dword [ebp - 0x5b0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x5c4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x5b4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, esi
or eax, 0xc0
mov dword [ebp - 0x598], eax
push 0xe
push str._startupCache_
lea ecx, [ebp - 0x5c4]
mov byte [ebp - 4], 0xa
call fcn.00409bf0
or esi, 0x1c0
mov edi, esi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xcc], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
movq qword [ebp - 0xbc], xmm0
mov byte [eax], 0
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5b0]
cmp edx, 0x10
jb 0x443e7b
mov ecx, dword [ebp - 0x5c4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x443e71
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445265
push edx
push ecx
call fcn.005150f8
add esp, 8
mov dword [ebp - 0x5b4], 0
and esi, 0xffffffbf
mov dword [ebp - 0x5b0], 0xf
mov byte [ebp - 0x5c4], 0
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x48]
cmp edx, 0x10
jb 0x443ed1
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x443ec7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44526a
push edx
push ecx
call fcn.005150f8
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x2c]
or esi, 0x200
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x598], esi
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea eax, [esi + 1]
push eax
call fcn.00409fe0
cmp dword [ebp - 0xb8], 0x10
lea eax, [ebp - 0xcc]
push esi
cmovae eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00409bf0
push 1
push 0x573224
lea ecx, [ebp - 0x2c]
call fcn.00409bf0
cmp dword [ebp - 0x18], 0x10
lea ecx, [ebp - 0x454]
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_FindFirstFileA]
and edi, 0xfffffdbf
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x18]
mov esi, eax
mov dword [ebp - 0x5a0], esi
mov dword [ebp - 0x598], edi
cmp edx, 0x10
jb 0x443fa9
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x443f9f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44526f
push edx
push ecx
call fcn.005150f8
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp esi, 0xffffffff
je 0x44410f
nop dword [eax]
nop dword [eax + eax]
test byte [ebp - 0x454], 0x10
mov dword [ebp - 0x59c], edi
jne 0x4440ed
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x428]
or edi, 0x400
mov dword [ebp - 0x638], 0
mov dword [ebp - 0x634], 0xf
lea edx, [eax + 1]
mov byte [ebp - 0x648], 0
mov dword [ebp - 0x598], edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444017
mov esi, dword [ebp - 0xbc]
lea ecx, [ebp - 0x648]
sub eax, edx
add eax, esi
push eax
call fcn.00409fe0
cmp dword [ebp - 0xb8], 0x10
lea eax, [ebp - 0xcc]
push esi
cmovae eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0x648]
push eax
call fcn.00409bf0
lea ecx, [ebp - 0x428]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x444060
sub ecx, edx
lea eax, [ebp - 0x428]
push ecx
push eax
lea ecx, [ebp - 0x648]
call fcn.00409bf0
cmp dword [ebp - 0x634], 0x10
lea eax, [ebp - 0x648]
cmovae eax, dword [ebp - 0x648]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
mov edi, dword [ebp - 0x59c]
and edi, 0xfffffbff
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x598], edi
cmp edx, 0x10
jb 0x4440e7
mov ecx, dword [ebp - 0x648]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4440dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44525b
push edx
push ecx
call fcn.005150f8
add esp, 8
mov esi, dword [ebp - 0x5a0]
lea eax, [ebp - 0x454]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_FindNextFileA]
test eax, eax
jne 0x443fd0
push dword [ebp - 0x5a0]
call dword [sym.imp.KERNEL32.DLL_FindClose]
sub esp, 0x18
mov dword [ebp - 0x5a0], edi
lea eax, [ebp - 0x84]
mov ecx, esp
push eax
call fcn.00409940
call fcn.0040cae0
add esp, 0x18
test al, al
jne 0x44423b
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xb8]
cmp edx, 0x10
jb 0x444174
mov ecx, dword [ebp - 0xcc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44416a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445274
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x70]
cmp edx, 0x10
jb 0x4441af
mov ecx, dword [ebp - 0x84]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4441a5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445279
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
cmp edx, 0x10
jb 0x444202
mov ecx, dword [ebp - 0xb4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4441f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44527e
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x445151
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x444234
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445283
push edx
push ecx
jmp 0x445149
push 0xc0
lea eax, [ebp - 0x264]
push 0
push eax
call fcn.00517340
add esp, 4
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x264]
push 1
push eax
call fcn.00430a80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xfc]
mov eax, dword [ebp - 0x264]
push dword [ebp - 0x59c]
mov word [ebp - 0x654], 1
push dword [ebp - 0x654]
mov eax, dword [eax + 4]
push 0
mov byte [ebp - 0x64b], 0
mov dword [ebp - 0xec], 0
mov eax, dword [ebp + eax - 0x22c]
test eax, eax
mov dword [ebp - 0xe8], 0xf
sete byte [ebp - 0x64c]
mov byte [ebp - 0xfc], 0
push dword [ebp - 0x64c]
push eax
call fcn.004293e0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x64]
push 0
mov byte [ebp - 0x6c], 0
call fcn.0041d140
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x660]
call fcn.00425f00
sub esp, 0x28
mov byte [ebp - 4], 0x15
mov eax, esp
lea ecx, [ebp - 0x628]
lea edx, [ebp - 0x660]
push 1
mov dword [eax + 0x24], 0
call fcn.00419fb0
mov al, byte [ebp - 0x628]
add esp, 0x2c
mov cl, byte [ebp - 0x6c]
mov edx, dword [ebp - 0x60]
mov byte [ebp - 0x6c], al
mov eax, dword [ebp - 0x620]
mov byte [ebp - 0x628], cl
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x61c]
mov dword [ebp - 0x620], ecx
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x61c], edx
call fcn.0041a920
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x65c]
mov dword [ebp - 0x598], ecx
test ecx, ecx
je 0x4443b3
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x4443b3
mov eax, dword [ecx]
mov esi, dword [eax]
mov ecx, esi
call dword [0x55d39c]
mov ecx, dword [ebp - 0x598]
call esi
mov ecx, dword [ebp - 0x598]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x4443b3
mov eax, dword [ecx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x55d39c]
mov ecx, dword [ebp - 0x598]
call esi
push 0x573228
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x13
call fcn.00425bf0
push eax
lea ecx, [ebp - 0x174]
call fcn.0041aa30
sub esp, 8
mov byte [ebp - 4], 0x18
mov eax, esp
lea ecx, [ebp - 0x13c]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.0041aba0
add esp, 8
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x19
xorps xmm0, xmm0
lea ecx, [ebp - 0x174]
push eax
movups xmmword [ebp - 0x54], xmm0
call fcn.0041a370
lea eax, [ebp - 0x24]
push eax
movups xmmword [ebp - 0x24], xmm0
call fcn.0041a2e0
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x54]
call fcn.0041d3a0
test al, al
jne 0x444524
lea ecx, [ebp - 0x54]
call fcn.00419dd0
mov esi, eax
lea eax, [ebp - 0x680]
push eax
mov ecx, esi
call fcn.0041a2e0
push eax
push ecx
lea eax, [ebp - 0x670]
push eax
call fcn.00445800
mov ecx, eax
call fcn.0041d3a0
test al, al
jne 0x4444e6
lea eax, [ebp - 0x5c4]
mov ecx, esi
push eax
push 0x573234
call fcn.00425bf0
mov ecx, eax
call fcn.00425d20
mov ecx, dword [ebp - 0x5a4]
add ecx, 0x270
mov dword [ebp - 0x598], ecx
cmp dword [ecx + 0x14], 0x10
jb 0x4444a1
mov edx, dword [ecx]
mov dword [ebp - 0x598], edx
cmp dword [eax + 0x14], 0x10
mov edx, eax
jb 0x4444ab
mov edx, dword [eax]
push dword [ecx + 0x10]
push dword [ebp - 0x598]
push dword [eax + 0x10]
push edx
call fcn.0042a3f0
add esp, 0x10
mov byte [ebp - 0x5a5], al
lea ecx, [ebp - 0x5c4]
call fcn.00409830
cmp byte [ebp - 0x5a5], 0
jne 0x4444e6
push esi
lea ecx, [ebp - 0x13c]
call fcn.004452f0
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax]
sub eax, 1
je 0x444501
sub eax, 1
je 0x4444fb
inc dword [ebp - 0x48]
jmp 0x444510
add dword [ebp - 0x4c], 0x10
jmp 0x444510
lea ecx, [ebp - 0x50]
call fcn.00421cb0
nop dword [eax]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x54]
call fcn.0041d3a0
test al, al
je 0x444432
mov eax, dword [ebp - 0x5a4]
lea ecx, [ebp - 0x154]
add eax, 0x2a0
push eax
call fcn.00409940
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2c]
mov esi, dword [ebp - 0xa4]
or edi, 0x1000
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea eax, [esi + 0xc]
mov dword [ebp - 0x598], edi
push eax
call fcn.00409fe0
cmp dword [ebp - 0xa0], 0x10
lea eax, [ebp - 0xb4]
push esi
cmovae eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00409bf0
push 0xc
push str.extensions_
lea ecx, [ebp - 0x2c]
call fcn.00409bf0
mov eax, dword [ebp - 0x5a4]
cmp dword [eax + 0x284], 0x10
lea ecx, [eax + 0x270]
jb 0x4445b7
mov ecx, dword [eax + 0x270]
push dword [eax + 0x280]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00409bf0
mov esi, dword [ebp - 0x5a0]
mov dword [ebp - 0x104], 0
or esi, 0x3000
mov dword [ebp - 0x100], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x59c], esi
movups xmmword [ebp - 0x114], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x104], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
and esi, 0xffffefff
mov dword [ebp - 0x5a0], esi
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x444658
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44464e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445288
push edx
push ecx
call fcn.005150f8
add esp, 8
lea eax, [ebp - 0x114]
mov dword [ebp - 0x1c], 0
push eax
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00409940
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0x630]
call fcn.00425f00
sub esp, 0x28
mov byte [ebp - 4], 0x1f
mov eax, esp
lea edx, [ebp - 0x630]
lea ecx, [ebp - 0x164]
push 1
mov dword [eax + 0x24], 0
call fcn.00419fb0
add esp, 0x2c
mov byte [ebp - 4], 0x22
mov edi, dword [ebp - 0x62c]
test edi, edi
je 0x444701
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x444701
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x55d39c]
mov ecx, edi
call esi
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x4446fb
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x55d39c]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x5a0]
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x9c]
mov edi, dword [ebp - 0x88]
cmp edi, 0x10
cmovae ecx, dword [ebp - 0x9c]
call fcn.0044cf90
test al, al
jne 0x4447c5
cmp edi, 0x10
lea ecx, [ebp - 0x9c]
cmovae ecx, dword [ebp - 0x9c]
call fcn.0044cea0
mov edx, eax
mov dword [ebp - 0x5b4], 0
mov ecx, edx
mov dword [ebp - 0x5b0], 0xf
mov byte [ebp - 0x5c4], 0
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x444760
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x5c4]
call fcn.00409ab0
lea ecx, [ebp - 0x9c]
call fcn.00409830
movups xmm0, xmmword [ebp - 0x5c4]
lea ecx, [ebp - 0x5c4]
mov byte [ebp - 0x5c4], 0
movups xmmword [ebp - 0x9c], xmm0
movq xmm0, qword [ebp - 0x5b4]
movq qword [ebp - 0x8c], xmm0
mov dword [ebp - 0x5b4], 0
mov dword [ebp - 0x5b0], 0xf
call fcn.00409830
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x8c]
or esi, 0x4000
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x598], esi
call fcn.00409fe0
cmp dword [ebp - 0x88], 0x10
lea eax, [ebp - 0x9c]
push dword [ebp - 0x8c]
cmovae eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00409bf0
push 0
push 0x570032
lea ecx, [ebp - 0x2c]
call fcn.00409bf0
xorps xmm0, xmm0
mov byte [ebp - 0x618], 3
push 0x18
movq qword [ebp - 0x610], xmm0
call fcn.00514e2e
mov esi, dword [ebp - 0x62c]
mov edi, eax
add esp, 4
mov dword [ebp - 0x610], edi
mov dword [ebp - 0x60c], esi
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [ebp - 0x2c]
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [edi + 0x10], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
push 0x573248
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x24
call fcn.00425bf0
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x618], cl
mov ecx, dword [eax + 8]
mov dword [ebp - 0x610], ecx
lea ecx, [ebp - 0x618]
mov dword [eax + 8], edi
mov dword [eax + 0xc], esi
mov dword [ebp - 0x60c], edx
call fcn.0041a920
mov edi, dword [ebp - 0x59c]
and edi, 0xffffafff
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x598], edi
mov dword [ebp - 0x59c], edi
cmp edx, 0x10
jb 0x44491a
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x444910
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44528d
push edx
push ecx
call fcn.005150f8
add esp, 8
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x13c]
call fcn.004452f0
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x608]
call fcn.0041aa30
push str.addons
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x25
call fcn.00425bf0
mov byte [ebp - 4], 0x21
mov esi, eax
mov cl, byte [ebp - 0x608]
mov dl, byte [esi]
mov byte [esi], cl
mov eax, dword [ebp - 0x600]
mov byte [ebp - 0x608], dl
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x5fc]
mov dword [esi + 0xc], eax
mov dword [ebp - 0x600], ecx
lea ecx, [ebp - 0x608]
mov dword [ebp - 0x5fc], edx
call fcn.0041a920
mov eax, dword [ebp - 0x5a4]
cmp byte [eax + 0x269], 0
je 0x4449ac
push 1
mov ecx, eax
call fcn.0040dde0
push 0xb0
lea eax, [ebp - 0x314]
push 0
push eax
call fcn.00517340
add esp, 4
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x314]
push 2
push eax
call fcn.0041af30
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0xf
mov byte [ebp - 0xe4], 0
push 0
push 0x20
push 0xffffffffffffffff
lea eax, [ebp - 0x5c4]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x6c]
call fcn.0041a670
mov esi, eax
lea eax, [ebp - 0xe4]
cmp eax, esi
je 0x444a45
mov ecx, eax
call fcn.00409830
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0xe4], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0xd4], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0x5b0]
cmp edx, 0x10
jb 0x444a7f
mov ecx, dword [ebp - 0x5c4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x444a75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445292
push edx
push ecx
call fcn.005150f8
add esp, 8
mov dword [ebp - 4], 0x27
lea eax, [ebp - 0xe4]
cmp dword [ebp - 0xd0], 0x10
lea ecx, [ebp - 0x314]
push 0
push dword [ebp - 0xd4]
cmovae eax, dword [ebp - 0xe4]
push eax
call fcn.0041c290
lea ecx, [ebp - 0x314]
call fcn.0041aec0
sub esp, 0x18
lea edx, [ebp - 0xb4]
mov ecx, esp
push 0x573258
call fcn.00409c80
add esp, 4
call fcn.0040cae0
add esp, 0x18
test al, al
jne 0x444b8b
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x5c4]
mov esi, dword [ebp - 0xa4]
or edi, 0x10000
mov byte [ebp - 0x5c4], al
mov dword [ebp - 0x5b4], 0
mov dword [ebp - 0x5b0], 0xf
lea eax, [esi + 0xb]
mov dword [ebp - 0x598], edi
push eax
call fcn.00409fe0
cmp dword [ebp - 0xa0], 0x10
lea eax, [ebp - 0xb4]
push esi
cmovae eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0x5c4]
push eax
call fcn.00409bf0
push 0xb
push 0x573264
lea ecx, [ebp - 0x5c4]
call fcn.00409bf0
cmp dword [ebp - 0x5b0], 0x10
lea eax, [ebp - 0x5c4]
push 0
cmovae eax, dword [ebp - 0x5c4]
push eax
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
mov edi, dword [ebp - 0x59c]
lea ecx, [ebp - 0x5c4]
and edi, 0xfffeffff
mov byte [ebp - 4], 0x27
call fcn.00409830
sub esp, 0x18
lea eax, [ebp - 0x114]
mov ecx, esp
push eax
call fcn.00409940
call fcn.0040cae0
add esp, 0x18
test al, al
jne 0x444bc5
cmp dword [ebp - 0x100], 0x10
lea eax, [ebp - 0x114]
push 0
cmovae eax, dword [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
sub esp, 0x18
lea eax, [ebp - 0x114]
mov ecx, esp
push eax
call fcn.00409940
mov esi, dword [ebp - 0x5a4]
mov ecx, esi
call fcn.00440680
push 7
push 0x573270
lea ecx, [ebp - 0x5dc]
mov dword [ebp - 0x5cc], 0
mov dword [ebp - 0x5c8], 0xf
mov byte [ebp - 0x5dc], 0
call fcn.00409ab0
lea eax, [esi + 0x1ac]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x5c4]
call fcn.00409940
sub esp, 8
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x5ac]
mov ecx, esp
lea edx, [ebp - 0x5dc]
or edi, 3
mov dword [ebp - 0x598], edi
push eax
push edx
call fcn.00419d30
mov ecx, dword [esi + 0x5c]
push 0x32
call fcn.0044d0b0
push fcn.0040e2f0
push 1
push 0x30
lea eax, [ebp - 0x5dc]
mov dword [ebp - 4], 0x27
push eax
and edi, 0xfffffffd
call fcn.0051510b
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0xd0]
cmp edx, 0x10
jb 0x444cb2
mov ecx, dword [ebp - 0xe4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x444ca8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x445297
push edx
push ecx
call fcn.005150f8
add esp, 8
lea ecx, [ebp - 0x314]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0xf
mov byte [ebp - 0xe4], 0
call fcn.004126d0
lea ecx, [ebp - 0x164]
call fcn.0041a920
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x88]
cmp edx, 0x10
jb 0x444d21
mov ecx, dword [ebp - 0x9c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x444d17
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44529c
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
cmp edx, 0x10
jb 0x444d7a
mov ecx, dword [ebp - 0x114]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x444d70
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4452a1
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
cmp edx, 0x10
jb 0x444dd3
mov ecx, dword [ebp - 0x154]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x444dc9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4452a6
push edx
push ecx
call fcn.005150f8
add esp, 8
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
call fcn.0041a920
lea ecx, [ebp - 0x174]
call fcn.0041a920
lea ecx, [ebp - 0x6c]
call fcn.0041a920
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0xe8]
cmp edx, 0x10
jb 0x444e4a
mov ecx, dword [ebp - 0xfc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x444e40
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4452ab
push edx
push ecx
call fcn.005150f8
add esp, 8
lea ecx, [ebp - 0x264]
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xf
mov byte [ebp - 0xfc], 0
call fcn.0042f5a0
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xb8]
cmp edx, 0x10
jb 0x444174
mov ecx, dword [ebp - 0xcc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44416a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4452b0
jmp 0x44416a
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x30]
cmp eax, 0x10
jb 0x445151
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x445147
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4452ce
push ecx
push esi
call fcn.005150f8
add esp, 8
mov esi, dword [ebp - 0x5e0]
lea eax, [ebp - 0x594]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_FindNextFileA]
test eax, eax
jne 0x443b80
push esi
call dword [sym.imp.KERNEL32.DLL_FindClose]
mov edx, dword [ebp - 0x118]
cmp edx, 0x10
jb 0x4451ae
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4451a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4452d3
push edx
push ecx
call fcn.005150f8
add esp, 8
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x445203
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4451f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4452d8
push edx
push ecx
call fcn.005150f8
add esp, 8
mov edx, dword [ebp - 0x190]
cmp edx, 0x10
jb 0x44523d
mov ecx, dword [ebp - 0x1a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x445233
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4452dd
push edx
push ecx
call fcn.005150f8
add esp, 8
xor eax, eax
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.00514e1d
mov esp, ebp
pop ebp
ret
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
int3