Function at 0x1002454b
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov byte [esp + 4], dl
push ebx
push esi
push edi
test dl, dl
je 0x1002456c
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jmp 0x1002487e
mov eax, dword [ebp + 0x10]
xor edi, edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], 0x2667a876
mov dword [esp + 0x2c], 0xfffffffc
mov dword [esp + 0x14], edi
jmp 0x1002459b
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x4c], 0xfdf99ff6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1002458b
mov dword [esp + 0x14], edi
jmp 0x100245e6
push 0x6d1f
push 0x4ee4
push 1
push edi
mov dword [esp + 0x3c], 0x3292c5eb
mov edx, 0x1288
push 1
mov ecx, 0x2868
call fcn.10023919
mov eax, dword [esp + 0x40]
add esp, 0x14
mov eax, dword [esp + 0x50]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x2c], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jle 0x100245a8
mov eax, dword [esp + 0x30]
mov dl, 1
push edi
push 0x7f55
xor cl, cl
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
push 0x3214
call fcn.10023cf7
add esp, 0x14
mov dword [esp + 0x1c], edi
mov ebx, edi
mov dword [esp + 0x20], 0x940
cmp dword [esp + 0x20], 0xcb0
jle 0x100246bb
mov esi, edi
mov dword [esp + 0x24], edi
mov ebx, esi
mov dword [esp + 0x28], 0x36ec
mov dword [esp + 0x2c], ebx
mov ecx, edi
mov dword [esp + 0x18], ebx
xor esi, esi
sar ebx, cl
mov ecx, esi
mov eax, ebx
sar eax, cl
lea ecx, [esp + 0x58]
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002466e
mov eax, dword [eax]
push eax
call fcn.10043bf4
pop ecx
push 0
push 1
lea ecx, [esp + 0x60]
call fcn.100020a8
inc esi
cmp esi, 0x5ac2
jl 0x10024652
mov ebx, dword [esp + 0x2c]
inc edi
cmp edi, 0x521a
jl 0x10024648
dec ebx
dec dword [esp + 0x28]
push 0
mov dword [esp + 0x30], ebx
pop edi
jne 0x10024648
mov esi, dword [esp + 0x24]
inc esi
mov dword [esp + 0x24], esi
cmp esi, 0xb83
jl 0x1002463a
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0x1ba0
cmp dword [esp + 0x20], 0x744
jge 0x100246d8
push str.dxjafm_bmmqfszq_uqd_dwtfiehxz_vrl
call fcn.10043bf4
pop ecx
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x14], 0xdfb1af9d
mov dword [esp + 0x20], 0xfff6
mov dword [esp + 0x24], 0xfffffffa
mov dword [esp + 0x28], 0x60abed99
mov dword [esp + 0x18], edi
jmp 0x10024716
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x40], 0x72b90f99
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10024706
mov eax, dword [esp + 0x2c]
xor edx, edx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
cmp eax, 0xbbbd
mov eax, dword [esp + 0x44]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
imul eax, ecx, 0xfffffffc
cmp eax, 0x6173
jle 0x1002474c
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x14]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x48]
imul ecx, eax, 0xfffffffa
mov eax, dword [esp + 0x1c]
cmp ecx, eax
sete dl
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
dec eax
add eax, ecx
jne 0x100247d5
cmp dword [esp + 0x1c], edi
jne 0x100247d5
mov dword [esp + 0x2c], 6
mov dword [esp + 0x14], edi
jmp 0x100247c5
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x40], edi
jne 0x100247cc
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jle 0x100247b7
inc dword [esp + 0x2c]
jmp 0x10024856
mov dword [esp + 0x2c], 0x9b924e19
mov dword [esp + 0x2c], 0xc2cfccff
mov dword [esp + 0x18], edi
jmp 0x100247fb
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x38], 3
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x100247eb
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x20]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x24]
jge 0x10024823
cmp dword [esp + 0x3c], edi
je 0x10024827
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov eax, dword [esp + 0x3c]
test eax, eax
sets cl
cmp ecx, dword [esp + 0x3c]
jge 0x10024840
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x30]
mov dl, 0xd2
mov cl, byte [ebx + esi]
call fcn.1002b8ab
mov byte [ebx + esi], al
inc ebx
mov dword [esp + 0x1c], ebx
cmp ebx, 4
jb 0x1002461e
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x34]
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret