Function at 0x441d87
Capabilities:
Contain obfuscated stackstrings
Copy file
Enumerate files on windows
Enumerate files recursively

Disassembly:
push 0x2a8
mov eax, 0x4638e4
call fcn.004607e6
and dword [ebp - 0x294], 0
xor ebx, ebx
lea edx, [ebp + 8]
inc ebx
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], ebx
mov byte [ebp - 0x294], 0
push dword [ebp - 0x294]
call fcn.0044c208
pop ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x294], ebx
call fcn.0043e398
push 3
pop esi
test al, al
je 0x441e18
mov byte [ebp - 0x298], 0
lea edx, [ebp + 8]
push dword [ebp - 0x298]
lea ecx, [ebp - 0x40]
call fcn.0044c208
pop ecx
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x40]
mov ebx, esi
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x294], ebx
call fcn.0043e44b
mov byte [ebp - 0x289], 0
test al, al
jne 0x441e1f
mov byte [ebp - 0x289], 1
test bl, 2
je 0x441e35
and ebx, 0xfffffffd
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x290], ebx
call fcn.0044af6c
xor eax, eax
inc eax
mov dword [ebp - 4], eax
test al, bl
je 0x441e50
and ebx, 0xfffffffe
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x290], ebx
call fcn.0044af6c
cmp byte [ebp - 0x289], 0
jne 0x443397
xor eax, eax
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x28], al
push 0x208
mov byte [ebp - 4], 4
call fcn.004518d3
cmp dword [ebp + 0x1c], 0x10
lea ecx, [ebp + 8]
mov ebx, eax
cmovae ecx, dword [ebp + 8]
push ecx
push str._s
push ebx
mov dword [ebp - 0x298], ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x288]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x2b4], eax
cmp eax, 0xffffffff
je 0x44338f
mov edi, dword [ebp - 0x290]
cmp dword [ebp + 0x1c], 0x10
lea ecx, [ebp - 0x25c]
push ecx
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
push str._s_s
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
test byte [ebp - 0x288], 0x10
je 0x441f0e
lea edx, [ebp - 0x25c]
mov esi, 0x4700a0
xor ecx, ecx
movzx eax, byte [edx + ecx]
cmp al, byte [esi + ecx]
jne 0x4421ce
inc ecx
cmp ecx, 3
jne 0x441efb
test byte [ebp - 0x288], 0xa7
je 0x443374
mov eax, dword [0x4767a8]
lea ecx, [ebp - 0x25c]
and dword [ebp - 0x58], 0
lea edx, [ecx + 1]
and dword [ebp - 0x48], 0
and dword [ebp - 0x44], 0
mov esi, dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441f37
sub ecx, edx
lea eax, [ebp - 0x25c]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.0044b919
push esi
lea ecx, [ebp - 0x58]
call fcn.0044bde4
lea ecx, [ebp - 0x58]
mov bl, al
call fcn.0044adca
test bl, bl
je 0x442219
lea ecx, [ebp - 0x58]
call fcn.0043f50b
mov ebx, dword [ebp - 0x298]
lea ecx, [ebp - 0xa0]
push ebx
mov byte [ebp - 4], 6
call fcn.0044ae6b
mov esi, eax
push ebx
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 7
call fcn.0044ae6b
mov byte [ebp - 4], 8
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0x30]
push ecx
inc eax
mov ecx, esi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0x70]
call fcn.0044adca
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 6
call fcn.0044adca
push ecx
mov esi, 0x46ffa4
lea ecx, [ebp - 0x28]
push esi
call fcn.0044ac9b
push eax
push 0
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044ac14
push 0xffffffffffffffff
push ecx
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.0044ac9b
inc eax
lea ecx, [ebp - 0x28]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.0044ac9b
push eax
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
sub esp, 0x18
mov ecx, esp
lea eax, [ebp - 0x28]
mov dword [ebp - 0x29c], esp
push eax
call fcn.0044ae9c
push esi
lea edx, [ebp + 0x20]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x88]
call fcn.0044b26b
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xb
push ecx
mov edx, eax
lea ecx, [ebp - 0xa0]
call fcn.0044b5be
pop ecx
pop ecx
push 1
push esi
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x40]
call fcn.0044ae38
or edi, 0x200
mov dword [ebp - 0x290], edi
sub esp, 0x18
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x28]
mov ecx, esp
lea edx, [ebp - 0x40]
push eax
call fcn.0044b5be
pop ecx
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x10
call fcn.0043fcf7
add esp, 0x30
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0xa0]
call fcn.0044adca
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x14
call fcn.0044adca
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push 0
cmovae eax, dword [ebp - 0x58]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x442195
sub esp, 0x18
lea eax, [ebp - 0x58]
mov ecx, esp
mov dword [ebp - 0x29c], esp
push eax
call fcn.0044ae9c
sub esp, 0x18
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x28]
mov dword [ebp - 0x294], esp
mov ecx, esp
push eax
call fcn.0044ae9c
sub esp, 0x18
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0xd0]
mov ecx, esp
push eax
call fcn.0044ae9c
xor ecx, ecx
mov byte [ebp - 4], 0x14
inc ecx
call fcn.004401a9
mov byte [ebp - 0x2a4], 0
lea edx, [ebp - 0x58]
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x70]
call fcn.0044c208
add esp, 0x4c
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x17
call fcn.0043e49e
lea ecx, [ebp - 0x70]
call fcn.0044af6c
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0xd0]
cmovae eax, dword [ebp - 0x28]
and dword [ebp - 0x18], 0
mov byte [eax], 0
call fcn.0044adca
lea ecx, [ebp - 0xb8]
call fcn.0044adca
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0044adca
jmp 0x443374
lea ecx, [ebp - 0x25c]
cmp byte [ecx], 0x2e
jne 0x4421e5
movzx eax, byte [ecx + 1]
test al, al
je 0x441f0e
sub esp, 0x18
lea eax, [ebp + 0x20]
mov ecx, esp
mov dword [ebp - 0x294], esp
push eax
call fcn.0044ae9c
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
push ebx
call fcn.0044ae6b
mov byte [ebp - 4], 4
call fcn.00441d87
add esp, 0x30
jmp 0x443374
mov eax, dword [0x4767a8]
lea ecx, [ebp - 0x25c]
lea edx, [ecx + 1]
mov esi, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442235
sub ecx, edx
lea eax, [ebp - 0x25c]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0044b919
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x70]
mov ebx, dword [ebp - 0x290]
or ebx, 4
push esi
mov dword [ebp - 0x294], ebx
call fcn.0044bde4
test al, al
jne 0x4422ba
mov eax, dword [0x4767a8]
lea ecx, [ebp - 0x25c]
lea edx, [ecx + 1]
mov esi, dword [eax + 8]
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44228a
sub ecx, edx
lea eax, [ebp - 0x25c]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.0044b919
push esi
lea ecx, [ebp - 0x58]
or ebx, 8
call fcn.0044bde4
mov byte [ebp - 0x289], 0
test al, al
je 0x4422c1
mov byte [ebp - 0x289], 1
test bl, 8
je 0x4422da
mov edx, dword [ebp - 0x44]
and ebx, 0xfffffff7
cmp edx, 0x10
jb 0x4422da
mov ecx, dword [ebp - 0x58]
inc edx
call fcn.0044bc25
push 4
pop eax
mov dword [ebp - 4], eax
test al, bl
je 0x4422f8
mov edx, dword [ebp - 0x5c]
and ebx, 0xfffffffb
cmp edx, 0x10
jb 0x4422f8
mov ecx, dword [ebp - 0x70]
inc edx
call fcn.0044bc25
cmp byte [ebp - 0x289], 0
je 0x442664
lea ecx, [ebp - 0x58]
call fcn.0043f50b
mov edi, dword [ebp - 0x298]
lea ecx, [ebp - 0xa0]
push edi
mov byte [ebp - 4], 0x19
call fcn.0044ae6b
mov esi, eax
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x1a
call fcn.0044ae6b
mov byte [ebp - 4], 0x1b
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0x30]
push ecx
inc eax
mov ecx, esi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0x70]
call fcn.0044adca
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x19
call fcn.0044adca
cmp dword [ebp - 0x14], 0x10
lea esi, [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmovae esi, dword [ebp - 0x28]
cmp eax, 1
jb 0x4423ba
push eax
push 0x5c
lea edi, [esi + eax]
push esi
jmp 0x4423ac
movzx ecx, byte [edx]
cmp cl, 0x5c
jne 0x44239a
xor eax, eax
jmp 0x44239f
sbb eax, eax
or eax, 1
test eax, eax
je 0x4423ef
inc edx
mov eax, edi
sub eax, edx
push eax
push 0x5c
push edx
call fcn.00462970
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x44238e
or edx, 0xffffffff
push edx
push 0
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044ac14
mov byte [ebp - 4], 0x1c
lea esi, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x18]
cmovae esi, dword [ebp - 0x28]
cmp eax, 1
jb 0x44241f
push eax
push 0x5c
lea edi, [eax + esi]
push esi
jmp 0x442411
sub edx, esi
jmp 0x4423bd
movzx ecx, byte [edx]
cmp cl, 0x5c
jne 0x4423ff
xor eax, eax
jmp 0x442404
sbb eax, eax
or eax, 1
test eax, eax
je 0x442461
inc edx
mov eax, edi
sub eax, edx
push eax
push 0x5c
push edx
call fcn.00462970
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x4423f3
or edx, 0xffffffff
push 0xffffffffffffffff
lea eax, [edx + 1]
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
cmp dword [ebp - 0x14], 0x10
lea esi, [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmovae esi, dword [ebp - 0x28]
cmp eax, 1
jb 0x442495
push eax
push 0x5c
lea edi, [esi + eax]
push esi
jmp 0x442487
sub edx, esi
jmp 0x442422
movzx ecx, byte [edx]
cmp cl, 0x5c
jne 0x442471
xor eax, eax
jmp 0x442476
sbb eax, eax
or eax, 1
test eax, eax
je 0x44265d
inc edx
mov eax, edi
sub eax, edx
push eax
push 0x5c
push edx
call fcn.00462970
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x442465
or edx, 0xffffffff
push edx
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push eax
call fcn.0044ae9c
mov esi, 0x46ffa4
mov byte [ebp - 4], 0x1d
push esi
lea edx, [ebp + 0x20]
lea ecx, [ebp - 0x88]
call fcn.0044b26b
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1e
push ecx
mov edx, eax
lea ecx, [ebp - 0xa0]
call fcn.0044b5be
pop ecx
pop ecx
push 1
push esi
mov ecx, eax
mov byte [ebp - 4], 0x1f
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x40]
call fcn.0044ae38
or ebx, 0x4000
sub esp, 0x18
mov byte [ebp - 4], 0x20
mov esi, esp
lea eax, [ebp - 0x28]
mov dword [ebp - 0x29c], esi
lea ecx, [ebp - 0x40]
cmp dword [ebp - 0x14], 0x10
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0044b10e
push eax
mov ecx, esi
call fcn.0044ae38
or ebx, 0x8000
mov dword [ebp - 0x290], ebx
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x23
call fcn.0043fcf7
add esp, 0x30
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0xa0]
call fcn.0044adca
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x27
call fcn.0044adca
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x298]
push 0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x442624
sub esp, 0x18
lea eax, [ebp - 0x58]
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push eax
call fcn.0044ae9c
sub esp, 0x18
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x28]
mov dword [ebp - 0x29c], esp
mov ecx, esp
push eax
call fcn.0044ae9c
sub esp, 0x18
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0xd0]
mov ecx, esp
push eax
call fcn.0044ae9c
push 2
pop ecx
mov byte [ebp - 4], 0x27
call fcn.004401a9
mov byte [ebp - 0x2a8], 0
lea edx, [ebp - 0x58]
push dword [ebp - 0x2a8]
lea ecx, [ebp - 0x70]
call fcn.0044c208
add esp, 0x4c
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x70]
call fcn.0043e49e
lea ecx, [ebp - 0x70]
call fcn.0044af6c
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0xd0]
cmovae eax, dword [ebp - 0x28]
and dword [ebp - 0x18], 0
mov byte [eax], 0
call fcn.0044adca
lea ecx, [ebp - 0xb8]
call fcn.0044adca
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0044adca
jmp 0x44336e
sub edx, esi
jmp 0x442498
mov eax, dword [0x4767a8]
lea ecx, [ebp - 0x25c]
lea edx, [ecx + 1]
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442680
sub ecx, edx
lea eax, [ebp - 0x25c]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0044b919
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x70]
or ebx, 0x10
push esi
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x294], ebx
call fcn.0044bde4
test al, al
jne 0x44270b
mov eax, dword [0x4767a8]
lea ecx, [ebp - 0x25c]
lea edx, [ecx + 1]
mov esi, dword [eax + 0x10]
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4426d5
sub ecx, edx
lea eax, [ebp - 0x25c]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.0044b919
or ebx, 0x20
lea ecx, [ebp - 0x58]
push esi
mov dword [ebp - 0x290], ebx
call fcn.0044bde4
mov byte [ebp - 0x289], 0
test al, al
je 0x442712
mov byte [ebp - 0x289], 1
test bl, 0x20
je 0x442731
mov edx, dword [ebp - 0x44]
and ebx, 0xffffffdf
mov dword [ebp - 0x290], ebx
cmp edx, 0x10
jb 0x442731
mov ecx, dword [ebp - 0x58]
inc edx
call fcn.0044bc25
mov dword [ebp - 4], 4
test bl, 0x10
je 0x442757
mov edx, dword [ebp - 0x5c]
and ebx, 0xffffffef
mov dword [ebp - 0x290], ebx
cmp edx, 0x10
jb 0x442757
mov ecx, dword [ebp - 0x70]
inc edx
call fcn.0044bc25
cmp byte [ebp - 0x289], 0
je 0x442a98
cmp byte [0x476762], 0
jne 0x442779
call fcn.0043f85d
mov byte [0x476762], 1
lea ecx, [ebp - 0x58]
call fcn.0043f50b
mov edi, dword [ebp - 0x298]
lea ecx, [ebp - 0xa0]
push edi
mov byte [ebp - 4], 0x2c
call fcn.0044ae6b
mov esi, eax
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x2d
call fcn.0044ae6b
mov byte [ebp - 4], 0x2e
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0x30]
push ecx
inc eax
mov ecx, esi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0x70]
call fcn.0044adca
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x2c
call fcn.0044adca
cmp dword [ebp - 0x14], 0x10
lea esi, [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmovae esi, dword [ebp - 0x28]
cmp eax, 1
jb 0x44282e
push eax
push 0x5c
lea edi, [eax + esi]
push esi
jmp 0x442820
movzx ecx, byte [edx]
cmp cl, 0x5c
jne 0x44280e
xor eax, eax
jmp 0x442813
sbb eax, eax
or eax, 1
test eax, eax
je 0x442863
inc edx
mov eax, edi
sub eax, edx
push eax
push 0x5c
push edx
call fcn.00462970
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x442802
or edx, 0xffffffff
push edx
push 0
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044ac14
mov byte [ebp - 4], 0x2f
lea esi, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x18]
cmovae esi, dword [ebp - 0x28]
cmp eax, 1
jb 0x442893
push eax
push 0x5c
lea edi, [eax + esi]
push esi
jmp 0x442885
sub edx, esi
jmp 0x442831
movzx ecx, byte [edx]
cmp cl, 0x5c
jne 0x442873
xor eax, eax
jmp 0x442878
sbb eax, eax
or eax, 1
test eax, eax
je 0x4428d5
inc edx
mov eax, edi
sub eax, edx
push eax
push 0x5c
push edx
call fcn.00462970
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x442867
or edx, 0xffffffff
push 0xffffffffffffffff
lea eax, [edx + 1]
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
cmp dword [ebp - 0x14], 0x10
lea esi, [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmovae esi, dword [ebp - 0x28]
cmp eax, 1
jb 0x442909
push eax
push 0x5c
lea edi, [eax + esi]
push esi
jmp 0x4428fb
sub edx, esi
jmp 0x442896
movzx ecx, byte [edx]
cmp cl, 0x5c
jne 0x4428e5
xor eax, eax
jmp 0x4428ea
sbb eax, eax
or eax, 1
test eax, eax
je 0x442a91
inc edx
mov eax, edi
sub eax, edx
push eax
push 0x5c
push edx
call fcn.00462970
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x4428d9
or edx, 0xffffffff
push edx
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push eax
call fcn.0044ae9c
mov esi, 0x46ffa4
mov byte [ebp - 4], 0x30
push esi
lea edx, [ebp + 0x20]
lea ecx, [ebp - 0x88]
call fcn.0044b26b
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x31
push ecx
mov edx, eax
lea ecx, [ebp - 0xa0]
call fcn.0044b5be
pop ecx
pop ecx
push 1
push esi
mov ecx, eax
mov byte [ebp - 4], 0x32
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x40]
call fcn.0044ae38
or ebx, 0x40000
sub esp, 0x18
mov byte [ebp - 4], 0x33
mov esi, esp
lea eax, [ebp - 0x28]
mov dword [ebp - 0x29c], esi
lea ecx, [ebp - 0x40]
cmp dword [ebp - 0x14], 0x10
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0044b10e
push eax
mov ecx, esi
call fcn.0044ae38
or ebx, 0x80000
mov dword [ebp - 0x290], ebx
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x36
call fcn.0043fcf7
add esp, 0x30
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0xa0]
call fcn.0044adca
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x3a
call fcn.0044adca
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x298]
push 0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x442624
sub esp, 0x18
lea eax, [ebp - 0x58]
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push eax
call fcn.0044ae9c
sub esp, 0x18
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x28]
mov dword [ebp - 0x29c], esp
mov ecx, esp
push eax
call fcn.0044ae9c
sub esp, 0x18
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0xd0]
mov ecx, esp
push eax
call fcn.0044ae9c
push 3
pop ecx
mov byte [ebp - 4], 0x3a
call fcn.004401a9
mov byte [ebp - 0x2ac], 0
lea edx, [ebp - 0x58]
push dword [ebp - 0x2ac]
lea ecx, [ebp - 0x70]
call fcn.0044c208
add esp, 0x4c
mov byte [ebp - 4], 0x3d
jmp 0x442614
sub edx, esi
jmp 0x44290c
mov eax, dword [0x4767a8]
lea ecx, [ebp - 0x25c]
lea edx, [ecx + 1]
mov esi, dword [eax + 0x14]
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442ab4
sub ecx, edx
lea eax, [ebp - 0x25c]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.0044b919
push esi
lea ecx, [ebp - 0x58]
call fcn.0044bde4
mov edx, dword [ebp - 0x44]
mov byte [ebp - 0x289], al
cmp edx, 0x10
jb 0x442af3
mov ecx, dword [ebp - 0x58]
inc edx
call fcn.0044bc25
mov al, byte [ebp - 0x289]
test al, al
je 0x443368
mov edi, dword [ebp - 0x298]
lea ecx, [ebp - 0x70]
push edi
call fcn.0044ae6b
mov esi, eax
push edi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3e
call fcn.0044ae6b
mov byte [ebp - 4], 0x3f
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0x30]
push ecx
inc eax
mov ecx, esi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0x58]
call fcn.0044adca
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 4
call fcn.0044adca
cmp dword [ebp - 0x14], 0x10
lea esi, [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmovae esi, dword [ebp - 0x28]
cmp eax, 1
jb 0x442ba6
lea edi, [eax + esi]
mov eax, edi
sub eax, esi
push eax
push 0x5c
push esi
jmp 0x442b98
movzx ecx, byte [edx]
cmp cl, 0x5c
jne 0x442b82
xor eax, eax
jmp 0x442b87
sbb eax, eax
or eax, 1
test eax, eax
je 0x442cf7
inc edx
mov eax, edi
sub eax, edx
push eax
push 0x5c
push edx
call fcn.00462970
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x442b76
or edx, 0xffffffff
push edx
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x28]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
xor eax, eax
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x90], eax
mov byte [ebp - 0xa0], al
mov byte [ebp - 4], 0x40
lea esi, [ebp - 0xa0]
mov eax, dword [0x4767a8]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push dword [eax + 0x90]
call fcn.0044ae6b
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x28]
mov edx, dword [0x4767a8]
sub esp, 0x18
mov ecx, esp
mov edx, dword [edx + 0x8c]
push eax
call fcn.0044b1e6
pop ecx
mov edx, esi
mov byte [ebp - 4], 0x40
mov ecx, connect
call fcn.0043eee5
mov edi, dword [ebp - 0x8c]
add esp, 0x30
cmp edi, 0x10
mov eax, esi
mov esi, dword [ebp - 0x90]
cmovae eax, dword [ebp - 0xa0]
test esi, esi
jne 0x442ccc
push esi
push 0x46ba28
push eax
call fcn.00460ddc
add esp, 0xc
test eax, eax
jne 0x442ccc
mov eax, dword [0x4767a8]
lea esi, [ebp - 0xa0]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push dword [eax + 0x90]
call fcn.0044ae6b
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0x28]
mov edx, dword [0x4767a8]
sub esp, 0x18
mov ecx, esp
mov edx, dword [edx + 0x94]
push eax
call fcn.0044b1e6
pop ecx
mov edx, esi
mov byte [ebp - 4], 0x40
mov ecx, connect
call fcn.0043eee5
mov edi, dword [ebp - 0x8c]
add esp, 0x30
mov esi, dword [ebp - 0x90]
cmp edi, 0x10
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
test esi, esi
jne 0x442cfe
push esi
push 0x46ba28
push eax
call fcn.00460ddc
add esp, 0xc
test eax, eax
jne 0x442cfe
mov al, 1
jmp 0x442d00
sub edx, esi
jmp 0x442ba9
xor al, al
test al, al
jne 0x443323
mov eax, dword [0x4767a8]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push dword [eax + 0x98]
call fcn.0044ae6b
sub esp, 0x18
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0xa0]
mov ecx, esp
push eax
call fcn.0044ae9c
mov edx, connect
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x58]
call fcn.0043ee3a
add esp, 0x30
push 5
pop edx
xor ecx, ecx
mov byte [ebp - 4], 0x44
call fcn.0043edad
cmp eax, 0xc8
je 0x442ddb
push 0x46ba28
lea ecx, [ebp - 0x58]
call fcn.0044bde4
test al, al
jne 0x442ddb
mov byte [ebp - 0x2b0], al
lea edx, [ebp - 0x58]
push dword [ebp - 0x2b0]
lea ecx, [ebp - 0x40]
call fcn.0044c208
pop ecx
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x40]
or ebx, 0x40
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x294], ebx
call fcn.0043e398
test al, al
je 0x442ddb
push 2
pop edx
xor ecx, ecx
call fcn.0043edad
cmp eax, 0x1f4
je 0x442ddb
sub esp, 0x18
lea eax, [ebp - 0x58]
mov ecx, esp
push eax
call fcn.0044ae9c
call fcn.0043f5eb
add esp, 0x18
mov byte [ebp - 0x289], 1
test al, al
jne 0x442de2
mov byte [ebp - 0x289], 0
mov dword [ebp - 4], 0x44
test bl, 0x40
je 0x442dff
and ebx, 0xffffffbf
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x290], ebx
call fcn.0044af6c
cmp byte [ebp - 0x289], 0
je 0x443301
xor eax, eax
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x88], al
mov esi, dword [ebp - 0x298]
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x46
mov eax, dword [0x47676c]
push esi
mov dword [ebp - 0x294], eax
call fcn.0044ae6b
mov edi, eax
push esi
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x47
call fcn.0044ae6b
mov esi, eax
mov byte [ebp - 4], 0x48
mov ecx, dword [0x4767a8]
push dword [ecx + 0x14]
lea ecx, [ebp - 0x118]
call fcn.0044ae6b
mov byte [ebp - 4], 0x49
mov ecx, dword [esi + 0x10]
sub ecx, dword [eax + 0x10]
lea eax, [ebp - 0x100]
push ecx
push 0
push eax
mov ecx, edi
call fcn.0044ac14
mov byte [ebp - 4], 0x4a
cmp dword [eax + 0x14], 0x10
jb 0x442e98
mov eax, dword [eax]
push eax
call dword [ebp - 0x294]
pop ecx
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.0044adca
lea ecx, [ebp - 0x118]
call fcn.0044adca
lea ecx, [ebp - 0x130]
call fcn.0044adca
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x46
call fcn.0044adca
test esi, esi
jne 0x4432c7
push 0xf
xor eax, eax
pop ecx
mov edi, ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edi
mov byte [ebp - 0x70], al
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
mov byte [ebp - 0xd0], al
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ecx
mov byte [ebp - 0xb8], al
sub esp, 0x18
mov byte [ebp - 4], 0x4d
mov ecx, esp
push dword [ebp - 0x298]
call fcn.0044ae6b
lea ecx, [ebp - 0x40]
call fcn.0043ec86
add esp, 0x18
lea ecx, [ebp - 0x88]
push eax
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
mov esi, dword [0x4767a8]
push ecx
lea ecx, [ebp - 0x88]
push dword [esi + 0x9c]
call fcn.0044ac9b
cmp eax, 0xffffffff
je 0x44325a
mov edi, 0x4700a4
push ecx
push dword [esi + 0x9c]
lea ecx, [ebp - 0x88]
call fcn.0044ac9b
add eax, 0xc
lea ecx, [ebp - 0x88]
push eax
push 0
call fcn.0044b036
push eax
lea ecx, [ebp - 0x88]
call fcn.0044ada2
push ecx
push edi
lea ecx, [ebp - 0x88]
call fcn.0044ac9b
push eax
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x88]
call fcn.0044ac14
push eax
lea ecx, [ebp - 0x70]
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
mov eax, dword [0x4767a8]
push ecx
lea ecx, [ebp - 0x88]
push dword [eax + 0xa0]
call fcn.0044ac9b
add eax, 0x15
lea ecx, [ebp - 0x88]
push eax
push 0
call fcn.0044b036
push eax
lea ecx, [ebp - 0x88]
call fcn.0044ada2
sub esp, 0x18
mov esi, esp
push ecx
push edi
lea ecx, [ebp - 0x88]
call fcn.0044ac9b
push eax
push 0
push esi
lea ecx, [ebp - 0x88]
call fcn.0044ac14
lea ecx, [ebp - 0x40]
call fcn.0043faca
add esp, 0x18
lea ecx, [ebp - 0xd0]
push eax
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
mov eax, dword [0x4767a8]
push ecx
lea ecx, [ebp - 0x88]
push dword [eax + 0xa4]
call fcn.0044ac9b
add eax, 0x15
lea ecx, [ebp - 0x88]
push eax
push 0
call fcn.0044b036
push eax
lea ecx, [ebp - 0x88]
call fcn.0044ada2
sub esp, 0x18
mov esi, esp
push ecx
push edi
lea ecx, [ebp - 0x88]
call fcn.0044ac9b
push eax
push 0
push esi
lea ecx, [ebp - 0x88]
call fcn.0044ac14
lea ecx, [ebp - 0x40]
call fcn.0043faca
add esp, 0x18
lea ecx, [ebp - 0xb8]
push eax
call fcn.0044aded
lea ecx, [ebp - 0x40]
call fcn.0044adca
push 0x46ba28
lea ecx, [ebp - 0xb8]
call fcn.0044bde4
test al, al
jne 0x443230
mov edx, dword [0x4767a8]
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xe8]
mov edx, dword [edx + 0xa8]
call fcn.0044b1e6
pop ecx
push 2
push 0x470074
mov ecx, eax
mov byte [ebp - 4], 0x4e
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x40]
call fcn.0044ae38
or ebx, 0x1000000
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov esi, 0x475930
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
mov ecx, esi
push eax
call fcn.0044b10e
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x4d
call fcn.0044adca
mov edx, dword [0x4767a8]
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xe8]
mov edx, dword [edx + 0xac]
call fcn.0044b1e6
pop ecx
push 2
push 0x470074
mov ecx, eax
mov byte [ebp - 4], 0x50
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x40]
call fcn.0044ae38
or ebx, 0x800000
mov byte [ebp - 4], 0x51
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov ecx, esi
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.0044b10e
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x4d
call fcn.0044adca
mov edx, dword [0x4767a8]
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xe8]
mov edx, dword [edx + 0xb0]
call fcn.0044b1e6
pop ecx
push 4
push str._r_n_r_n
mov ecx, eax
mov byte [ebp - 4], 0x52
call fcn.0044b10e
push eax
lea ecx, [ebp - 0x40]
call fcn.0044ae38
or ebx, 0x400000
mov byte [ebp - 4], 0x53
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov ecx, esi
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.0044b10e
lea ecx, [ebp - 0x40]
call fcn.0044adca
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x4d
call fcn.0044adca
inc dword [0x476798]
mov esi, dword [0x4767a8]
push ecx
lea ecx, [ebp - 0x88]
push dword [esi + 0x9c]
call fcn.0044ac9b
cmp eax, 0xffffffff
jne 0x442f76
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x290], ebx
cmp edi, 0x10
lea eax, [ebp - 0x70]
lea ecx, [ebp - 0xb8]
cmovae eax, dword [ebp - 0x70]
xor ebx, ebx
cmp dword [ebp - 0xbc], 0x10
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0xc0], ebx
mov byte [eax], bl
lea eax, [ebp - 0xd0]
cmovae eax, dword [ebp - 0xd0]
cmp dword [ebp - 0xa4], 0x10
mov dword [ebp - 0xa8], ebx
mov byte [eax], bl
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
mov byte [eax], bl
call fcn.0044adca
lea ecx, [ebp - 0xd0]
call fcn.0044adca
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x46
call fcn.0044adca
jmp 0x4432c9
xor ebx, ebx
push dword [0x47679c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
mov dword [ebp - 0x78], ebx
cmovae eax, dword [ebp - 0x88]
mov byte [eax], bl
mov edx, dword [ebp - 0x74]
cmp edx, 0x10
jb 0x443303
mov ecx, dword [ebp - 0x88]
inc edx
call fcn.0044bc25
jmp 0x443303
xor ebx, ebx
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
mov dword [ebp - 0x48], ebx
lea ecx, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
mov byte [eax], bl
call fcn.0044adca
mov edi, dword [ebp - 0x8c]
jmp 0x443325
xor ebx, ebx
cmp edi, 0x10
mov dword [ebp - 0x90], ebx
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
mov byte [eax], bl
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
mov dword [ebp - 0x18], ebx
cmovae eax, dword [ebp - 0x28]
mov byte [ebp - 4], 4
mov byte [eax], bl
mov edx, dword [ebp - 0x8c]
cmp edx, 0x10
jb 0x443368
mov ecx, dword [ebp - 0xa0]
inc edx
call fcn.0044bc25
mov ebx, dword [ebp - 0x298]
mov edi, dword [ebp - 0x290]
lea eax, [ebp - 0x288]
push eax
push dword [ebp - 0x2b4]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x441ec3
lea ecx, [ebp - 0x28]
call fcn.0044adca
lea ecx, [ebp + 8]
call fcn.0044adca
lea ecx, [ebp + 0x20]
call fcn.0044adca
call fcn.00460795
ret