Function at 0x41395f
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0x14c
mov eax, 0x433d08
call fcn.0043195e
mov dword [ebp - 0x148], ecx
mov esi, dword [ebp + 8]
mov ebx, esi
mov dword [ebp - 0x150], esi
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x413786
and dword [ebp - 0x140], 0
sub ebx, ecx
and dword [ebp - 0x138], 0
mov ecx, esi
mov dword [ebp - 0x134], ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4137a8
sub ecx, edx
lea eax, [ecx + 0x65]
mov ecx, 0x208
mov dword [ebp - 0x14c], ecx
cmp eax, ecx
jb 0x4137da
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4137c8
sub ecx, edx
add ecx, 0x65
mov dword [ebp - 0x14c], ecx
xor eax, eax
lea edi, [ebp - 0x12c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - method.CArkAutoByte.virtual_0], vtable.CArkAutoByte.0
push ecx
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], eax
call fcn.00408661
mov ecx, dword [ebp - 0x128]
test ecx, ecx
je case.default.0x413958
mov edi, ecx
mov edx, esi
sub edi, esi
mov dword [ebp - 0x154], edi
mov al, byte [edx]
mov byte [edi + edx], al
inc edx
test al, al
jne 0x413826
cmp ebx, 5
jl case.default.0x413958
mov edi, dword [ebp - 0x148]
lea eax, [ecx - 3]
add eax, ebx
mov dword [ebp - 0x130], eax
mov bl, byte [eax]
mov eax, dword [edi + 0x5c]
cmp eax, 7
jne 0x413872
cmp bl, 0x65
jne 0x413861
add bl, 0xd
jmp 0x413901
cmp bl, 0x45
jne 0x413901
add bl, 0xd
jmp 0x413901
mov dl, bl
cmp eax, 2
jne 0x413898
mov al, bl
cmp bl, 0x6a
je 0x41388d
cmp al, 0x4a
jne 0x413888
mov bl, 0x5a
jmp 0x413901
cmp bl, 0x6c
jne 0x413891
mov bl, 0x7a
jmp 0x413901
cmp bl, 0x4c
jne 0x413901
jmp 0x413884
mov bl, dl
cmp eax, 3
jne 0x4138b3
cmp dl, 0x69
jne 0x4138a9
add bl, 0xf
jmp 0x413901
cmp bl, 0x49
jne 0x413901
add bl, 0xf
jmp 0x413901
cmp eax, 6
je 0x4138bd
cmp eax, 8
jne 0x413901
call fcn.00412dff
mov edx, eax
mov dword [ebp - 0x140], edx
test edx, edx
je case.default.0x413958
lea ecx, [edx - 1]
mov dword [ebp - 0x138], 1
cmp byte [ecx], 0x30
jne 0x413901
mov eax, dword [ebp - 0x128]
cmp ecx, eax
jb 0x4138fb
inc dword [ebp - 0x138]
dec edx
dec ecx
cmp byte [ecx], 0x30
je 0x4138ea
mov dword [ebp - 0x140], edx
push 0x2e
push esi
call fcn.0041da90
mov edx, eax
mov dword [ebp - 0x144], edx
pop ecx
pop ecx
test edx, edx
je 0x41392d
mov ecx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41391c
sub ecx, edx
mov edx, dword [ebp - 0x144]
jmp 0x41392f
xor ecx, ecx
and dword [ebp - 0x13c], 0
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push 0xa
pop eax
cmp esi, 0x5f5e100
jge 0x413c1d
mov eax, dword [edi + 0x5c]
dec eax
cmp eax, 0x10
ja case.default.0x413958
jmp dword [eax*4 + 0x413cc7]
push esi
push 0x43bdc0
push 0x64
pop eax
jmp 0x413b0c
push esi
movsx eax, bl
push eax
push 0x43bdc8
push 0x64
pop eax
push eax
push dword [ebp - 0x130]
call fcn.00414aa0
add esp, 0x14
jmp 0x413b1b
push 0x64
mov eax, esi
movsx ecx, bl
pop esi
cdq
idiv esi
push edx
add ecx, eax
push ecx
push 0x43bdc8
push esi
jmp 0x41397b
mov eax, dword [ebp - 0x128]
sub eax, ecx
mov ecx, dword [ebp - 0x134]
push esi
dec ecx
push 0x43bdd0
add eax, ecx
push 0xc
push eax
mov dword [ebp - 0x18], eax
call fcn.00414aa0
add esp, 0x10
push dword [ebp - 0x128]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4139e3
test al, 0x10
je 0x413b1b
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 0x154]
mov al, byte [ecx]
mov byte [ecx + edx], al
inc ecx
test al, al
jne 0x4139ef
push dword [ebp - 0x144]
push esi
push str._d_s
push 0xc
push dword [ebp - 0x18]
jmp 0x413981
mov eax, dword [ebp - 0x138]
mov ecx, eax
test eax, eax
je 0x413a3d
mov edi, dword [ebp - 0x140]
mov eax, esi
push 0xa
pop esi
cdq
idiv esi
add dl, 0x30
mov esi, eax
mov byte [edi + ecx - 1], dl
sub ecx, 1
jne 0x413a21
mov edi, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x128]
call fcn.00412f37
jmp 0x413b1b
lea eax, [esi + 1]
push eax
jmp 0x413960
push esi
push 0x43bde0
push 0x64
pop eax
push eax
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x128]
add ecx, 0xfffffffe
add eax, ecx
push eax
jmp 0x413b13
cmp dword [ebp - 0x13c], 0x190
jg case.default.0x413958
push dword [ebp - 0x14c]
mov ecx, edi
push dword [ebp - 0x128]
call fcn.00414666
test eax, eax
mov eax, dword [ebp - 0x128]
jne 0x413b21
mov byte [eax], 0
jmp 0x413b21
push edx
lea eax, [esi + 1]
push eax
mov eax, dword [ebp - 0x128]
sub eax, ecx
mov ecx, dword [ebp - 0x134]
push str._02d_s
add ecx, 0xfffffffe
push 0xc
add eax, ecx
push eax
jmp 0x413981
push edx
lea eax, [esi + 1]
push eax
mov eax, dword [ebp - 0x128]
sub eax, ecx
mov ecx, dword [ebp - 0x134]
push str._03d_s
add ecx, 0xfffffffd
jmp 0x413ac4
push esi
push 0x43bde0
push 6
jmp 0x413a60
push 0x64
pop eax
push esi
cmp esi, eax
jge 0x413b07
push 0x43bdf8
jmp 0x413b0c
push 0x43bdc0
push eax
push dword [ebp - 0x130]
call fcn.00414aa0
add esp, 0x10
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x413c1a
test al, 0x10
jne 0x413c1a
mov ecx, dword [edi + 0x54]
test ecx, ecx
je 0x413b60
mov eax, dword [ecx]
lea esi, [edi + 0x64]
push esi
push dword [ebp - 0x13c]
push 0
push dword [ebp - 0x128]
push ecx
call dword [eax]
cmp dword [esi], 0
jne case.default.0x413958
push 0x50
call fcn.0041bff1
pop ecx
push 0x50
mov esi, eax
push 0
push esi
mov dword [ebp - 0x18], esi
call fcn.0041e150
pop ecx
pop ecx
push dword [edi + 0x60]
mov ecx, esi
call fcn.00415354
push dword [edi + 0x58]
mov esi, eax
push dword [ebp - 0x128]
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x10]
mov edx, dword [esi]
test eax, eax
je 0x413bca
push esi
call dword [edx + 4]
push esi
mov ecx, edi
call fcn.00413543
mov esi, dword [ebp + 0xc]
inc dword [ebp - 0x13c]
inc esi
mov dword [ebp + 0xc], esi
cmp esi, 0x5f5e100
jge 0x413c1a
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x144]
jmp 0x41394b
mov ecx, esi
call dword [edx + 0x4c]
mov edx, dword [esi]
mov ecx, esi
push 1
mov ebx, eax
call dword [edx + 0xc]
mov ecx, dword [edi + 0x54]
push 4
pop esi
cmp ebx, esi
jne 0x413c01
and dword [ebp - 0x18], 0
lea edx, [ebp - 0x18]
mov eax, dword [ecx]
push edx
push 0
push 0
push esi
push ecx
call dword [eax + 0x14]
mov dword [edi + 0x68], esi
xor ebx, ebx
jmp 0x413caa
and dword [ebp - 0x14], 0
lea edx, [ebp - 0x14]
mov eax, dword [ecx]
push edx
push 1
push 0
push ebx
push ecx
call dword [eax + 0x14]
cmp dword [ebp - 0x14], 0
jne case.default.0x413958
push 0xa
pop eax
mov esi, dword [edi + 0x20]
test esi, esi
je case.default.0x413958
cmp dword [edi + 0x5c], 4
je 0x413c2f
cmp dword [edi + 0x5c], eax
jne 0x413c48
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + esi*4 - 4]
mov eax, dword [eax + 0x14]
cdq
add dword [edi + 0x38], eax
adc dword [edi + 0x3c], edx
mov eax, dword [ecx + esi*4 - 4]
and dword [eax + 0x14], 0
push 0x100
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.0041e150
add esp, 0xc
lea eax, [ebp - 0x11c]
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x120], eax
push dword [edi + 0x58]
push dword [ebp - 0x150]
call fcn.004148ac
push dword [ebp - 0x120]
call fcn.004239f4
mov dword [edi + 0x48], eax
lea eax, [ebp - 0x11c]
pop ecx
cmp dword [ebp - 0x120], eax
je 0x413ca7
push dword [ebp - 0x120]
call fcn.00422ab2
pop ecx
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x413cbb
push eax
call fcn.00422ab2
pop ecx
mov eax, ebx
call fcn.00431908
ret 8