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

Disassembly:
sub esp, 0x8c
push ebp
push esi
push edi
mov esi, eax
push 0x42edcc
push esi
call fcn.0041eba1
mov edi, eax
xor ebp, ebp
add esp, 8
cmp edi, ebp
mov dword [esp + 0x60], edi
jne 0x40c28f
call fcn.0041e306
mov eax, dword [eax]
push eax
call fcn.0041cbf0
push eax
push esi
push str._s:__s_n
push 1
call fcn.0041e020
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x8c
ret
push ebx
push edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x38], ebp
call fcn.00419160
mov ebx, eax
add esp, 4
cmp ebx, ebp
mov dword [esp + 0x10], ebx
je 0x40ca0b
nop
mov eax, ebx
mov edx, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40c2b7
sub eax, esi
jne 0x40c2c8
mov dword [esp + 0x28], ebp
jmp 0x40c2f9
cmp byte [eax + ebx - 1], 0xa
jne 0x40c2d4
dec eax
mov byte [eax + ebx], 0
cmp byte [eax + ebx - 1], 0xd
jne 0x40c2e0
dec eax
mov byte [eax + ebx], 0
cmp byte [ebx], 0
je 0x40c2f5
cmp byte [edx], 9
jne 0x40c2ed
mov byte [edx], 0x20
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x40c2e5
mov dword [esp + 0x28], eax
push 5
push str.total
push ebx
call fcn.00401040
add esp, 0xc
test eax, eax
jne 0x40c31b
push ebx
call fcn.0041bf50
add esp, 4
jmp 0x40c9f4
push 0x42f7c4
push ebx
call fcn.0042067b
mov esi, eax
add esp, 8
cmp esi, ebp
jne 0x40c33d
push ebx
call fcn.0041bf50
add esp, 4
jmp 0x40c9f4
mov al, byte [esi]
cmp al, 0x2d
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x50], ebp
je 0x40c399
cmp al, 0x64
je 0x40c380
cmp al, 0x6c
mov al, byte [0x4460de]
je 0x40c36c
test al, al
mov edi, 3
mov dword [esp + 0x38], edi
je 0x40c3b5
push str.UNKNOWN_
jmp 0x40c3ad
test al, al
mov edi, 2
mov dword [esp + 0x38], edi
je 0x40c3b5
push str.SYMLINK_
jmp 0x40c3ad
mov al, byte [0x4460de]
test al, al
mov edi, 1
mov dword [esp + 0x38], edi
je 0x40c3b5
push str.DIRECTORY_
jmp 0x40c3ad
mov al, byte [0x4460de]
xor edi, edi
test al, al
mov dword [esp + 0x38], edi
je 0x40c3b5
push str.PLAINFILE_
call fcn.0041e0b0
add esp, 4
cmp dword [esp + 0xa0], ebp
je 0x40c3ec
mov eax, edi
sub eax, ebp
je 0x40c3cf
dec eax
mov dword [esp + 0x4c], 0x1ed
je 0x40c3d7
mov dword [esp + 0x4c], 0x1a4
mov al, byte [0x4460de]
test al, al
je 0x40c410
mov ecx, dword [esp + 0x4c]
push ecx
push str.implicit_perms__0o_
jmp 0x40c408
lea ecx, [esi + 1]
call fcn.0040c180
mov cl, byte [0x4460de]
test cl, cl
mov dword [esp + 0x4c], eax
je 0x40c410
push eax
push str.perms__0o_
call fcn.0041e0b0
add esp, 8
xor eax, eax
push 0x42f7c4
push eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x78], eax
or edi, 0xffffffff
mov dword [esp + 0x74], esi
call fcn.0042067b
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x40c850
jmp 0x40c45b
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
dec edi
mov dword [esp + 0x60], edi
jns 0x40c565
xor ebx, ebx
lea esp, [esp]
mov esi, dword [ebx*4 + 0x439098]
mov eax, ebp
lea esp, [esp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40c4a4
test cl, cl
je 0x40c4a0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40c4a4
add eax, 2
add esi, 2
test cl, cl
jne 0x40c480
xor eax, eax
jmp 0x40c4a9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40c4b3
inc ebx
cmp ebx, 0xc
jl 0x40c470
cmp ebx, 0xc
je 0x40c684
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x10]
cmp esi, eax
jbe 0x40c4e4
jmp 0x40c4d0
movzx ecx, byte [esi]
test byte [ecx*2 + 0x42e3d8], 4
je 0x40c4e2
dec esi
cmp esi, eax
ja 0x40c4d0
cmp esi, eax
je 0x40c850
call fcn.0041e306
push 0xa
push 0
push esi
mov dword [eax], 0
call fcn.0041ff5d
cdq
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
mov edi, edx
jne 0x40c52a
cmp edi, 0x7fffffff
jne 0x40c52a
call fcn.0041e306
cmp dword [eax], 0x22
jne 0x40c52a
xor eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
jmp 0x40c532
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov al, byte [0x4460de]
test al, al
mov dword [esp + 0x70], ebx
mov dword [esp + 0x60], 5
je 0x40c684
mov edx, dword [ebx*4 + 0x439098]
push edx
push str.month:__s_
call fcn.0041e0b0
add esp, 8
jmp 0x40c684
cmp edi, 4
jne 0x40c5ac
mov cl, byte [ebp + 1]
test cl, cl
movsx eax, byte [ebp]
je 0x40c584
movsx ecx, cl
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x210]
jmp 0x40c587
sub eax, 0x30
mov cl, byte [0x4460de]
test cl, cl
mov dword [esp + 0x18], eax
je 0x40c684
push eax
push str.day:__d_
call fcn.0041e0b0
add esp, 8
jmp 0x40c684
cmp edi, 3
jne 0x40c6c3
movzx eax, byte [ebp]
mov bl, byte [eax*2 + 0x42e3d8]
xor esi, esi
xor ecx, ecx
xor edx, edx
xor edi, edi
test bl, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
je 0x40c66b
lea ecx, [ecx + ecx*4]
inc ebp
lea ecx, [eax + ecx*2 - 0x30]
movzx eax, byte [ebp]
test byte [eax*2 + 0x42e3d8], 4
jne 0x40c5e1
cmp byte [ebp], 0x3a
mov dword [esp + 0x14], ecx
jne 0x40c6a6
movzx eax, byte [ebp + 1]
inc ebp
mov edi, ecx
test byte [eax*2 + 0x42e3d8], 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], esi
je 0x40c63a
mov edi, edi
lea ecx, [esi + esi*4]
inc ebp
lea esi, [eax + ecx*2 - 0x30]
movzx eax, byte [ebp]
test byte [eax*2 + 0x42e3d8], 4
jne 0x40c620
mov dword [esp + 0x1c], esi
cmp byte [ebp], 0x3a
jne 0x40c66b
movzx eax, byte [ebp + 1]
mov cl, byte [eax*2 + 0x42e3d8]
inc ebp
test cl, 4
je 0x40c66b
lea edx, [edx + edx*4]
inc ebp
lea edx, [eax + edx*2 - 0x30]
movzx eax, byte [ebp]
test byte [eax*2 + 0x42e3d8], 4
jne 0x40c651
mov dword [esp + 0x2c], edx
mov al, byte [0x4460de]
test al, al
je 0x40c684
push edx
push esi
push edi
push str.time:__02d:_02d:_02d__no_yr__
call fcn.0041e0b0
add esp, 0x10
push 0x42f7c4
push 0
mov dword [esp + 0x74], ebp
call fcn.0042067b
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x40c453
jmp 0x40c850
cmp ecx, esi
je 0x40c66b
mov al, byte [0x4460de]
test al, al
je 0x40c684
push ecx
push str.year:__d__no_tm__
call fcn.0041e0b0
add esp, 8
jmp 0x40c684
cmp edi, 2
jne 0x40ca23
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40c6d1
sub esi, ebp
sub eax, edx
add esi, ebx
cmp eax, esi
jge 0x40c730
mov byte [eax + ebp], 0x20
cmp dword [esp + 0x38], 2
jne 0x40c730
push str.___
push ebp
call fcn.00420730
mov esi, eax
add esp, 8
test esi, esi
je 0x40c850
lea eax, [esi + 4]
push eax
call fcn.0041bf20
mov cl, byte [0x4460de]
add esp, 4
test cl, cl
mov dword [esp + 0x50], eax
je 0x40c72d
push eax
push str.link_to:__s_n
call fcn.0041e0b0
add esp, 8
mov byte [esi], 0
mov edi, 0x42fa20
mov esi, ebp
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c8ae
mov edi, 0x4303c4
mov esi, ebp
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x40c8ae
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40c761
sub eax, edx
mov ebx, eax
lea esi, [ebx + 1]
push esi
call fcn.0041be90
mov ecx, esi
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
add esp, 4
test ebx, ebx
mov dword [esp + 0x3c], eax
rep movsb byte es:[edi], byte [esi]
je 0x40c831
mov eax, dword [esp + 0x38]
cmp eax, 1
jne 0x40c7d1
mov esi, dword [esp + 0x3c]
cmp byte [ebx + esi - 1], 0x2f
jne 0x40c83d
mov byte [ebx + esi - 1], 0
mov al, byte [0x4460de]
test al, al
je 0x40c83d
push str.trailing____on_dir._n
call fcn.0041e0b0
add esp, 4
jmp 0x40c83d
cmp eax, 2
jne 0x40c7fe
mov esi, dword [esp + 0x3c]
cmp byte [ebx + esi - 1], 0x40
jne 0x40c83d
mov byte [ebx + esi - 1], 0
mov al, byte [0x4460de]
test al, al
je 0x40c83d
push str.trailing____on_link._n
call fcn.0041e0b0
add esp, 4
jmp 0x40c83d
test eax, eax
jne 0x40c839
test byte [esp + 0x4c], 0x49
je 0x40c839
mov esi, dword [esp + 0x3c]
cmp byte [ebx + esi - 1], 0x2a
jne 0x40c83d
mov byte [ebx + esi - 1], 0
mov al, byte [0x4460de]
test al, al
je 0x40c83d
push str.trailing___on_exec._n
call fcn.0041e0b0
add esp, 4
jmp 0x40c83d
mov dword [esp + 0x30], 1
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x40c850
cmp dword [esp + 0x38], 2
jne 0x40c858
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x40c858
mov dword [esp + 0x30], 1
mov al, byte [0x4460de]
test al, al
je 0x40c86e
push 0x42ec58
call fcn.0041e0b0
add esp, 4
mov eax, dword [esp + 0x30]
xor ebp, ebp
cmp eax, ebp
jne 0x40c9a9
cmp dword [esp + 0x68], ebp
jne 0x40c9a9
cmp dword [esp + 0x34], ebp
push 0x28
jne 0x40c8ce
call fcn.0041be90
mov ecx, 0xa
lea esi, [esp + 0x3c]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x38], eax
mov ebx, eax
mov dword [eax + 0x20], ebp
mov dword [eax + 0x1c], ebp
jmp 0x40c8f0
mov al, byte [0x4460de]
test al, al
je 0x40c8c4
push str._nIgnoring__._and__.._
call fcn.0041e0b0
add esp, 4
mov dword [esp + 0x68], 1
jmp 0x40c850
mov esi, dword [esp + 0x28]
mov dword [esp + 0x58], esi
call fcn.0041be90
mov dword [esi + 0x20], eax
mov ebx, eax
mov ecx, 0xa
lea esi, [esp + 0x3c]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x20], ebp
add esp, 4
push ebp
mov dword [esp + 0x28], ebx
call fcn.00420983
mov dword [esp + 0x78], eax
lea eax, [esp + 0x78]
push eax
call fcn.0041e186
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x78]
add esp, 8
cmp ecx, ebp
mov dword [esp + 0x88], edx
jne 0x40c958
cmp edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
jle 0x40c95a
dec eax
jmp 0x40c95a
mov eax, ecx
cmp eax, 0x76c
mov dword [esp + 0x8c], eax
jl 0x40c974
sub eax, 0x76c
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x78]
push eax
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], 0xffffffff
call fcn.00420976
mov ecx, dword [esp + 0x14]
push ecx
mov dword [ebx + 0x10], eax
call fcn.0041bf50
add esp, 8
jmp 0x40c9ee
mov al, byte [0x4460de]
test al, al
je 0x40c9bf
push str.Skipping._n
call fcn.0041e0b0
add esp, 4
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x40c9d0
push eax
call fcn.0041bf50
add esp, 4
mov eax, dword [esp + 0x50]
cmp eax, ebp
je 0x40c9e1
push eax
call fcn.0041bf50
add esp, 4
mov edx, dword [esp + 0x10]
push edx
call fcn.0041bf50
add esp, 4
mov edi, dword [esp + 0x64]
xor ebp, ebp
push edi
call fcn.00419160
mov ebx, eax
add esp, 4
cmp ebx, ebp
mov dword [esp + 0x10], ebx
jne 0x40c2b0
push edi
call fcn.0041eaf4
mov eax, dword [esp + 0x38]
add esp, 4
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x8c
ret
jmp fcn.0041ea90