Function at 0x41fd10
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d8fe4
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x532d60]
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 eax, edx
mov dword [ebp - 0x70], eax
mov edi, ecx
and dword [ebp - 0x20], 0xfffffe00
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x5c]
and eax, 0xffffff04
or eax, 0x104
mov dword [ebp - 0x5c], eax
mov eax, dword [0x538390]
mov dword [ebp - 0x58], 0
test al, 1
jne 0x41fd9f
or eax, 1
push 0x4e75e0
mov dword [0x538390], eax
mov dword [0x538314], 0x51fae8
call fcn.004b8949
add esp, 4
mov ecx, dword [0x534374]
push 0xffffffffffffffff
mov eax, dword [ecx]
push str.success
call dword [eax + 0xc]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
push ecx
push str.error
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.0044d470
mov ecx, eax
call fcn.0044ca80
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.0044c9c0
mov esi, dword [0x537408]
mov ecx, esi
imul ecx, esi
mov eax, ecx
cdq
mov ebx, 0xd
idiv ebx
cmp edx, 7
jne 0x41fe25
and ecx, 0x8000000f
jns 0x41fe04
dec ecx
or ecx, 0xfffffff0
inc ecx
cmp ecx, 7
je 0x41fe25
lea ecx, [esi + 1]
mov eax, ecx
imul eax, esi
cdq
mov ebx, 0x11
idiv ebx
cmp edx, 9
cmove esi, ecx
mov dword [0x537408], esi
mov byte [ebp - 4], 3
mov al, byte [edi + 8]
mov dword [ebp - 0x18], 0
test al, al
je 0x41fe52
cmp al, 7
je 0x41fe52
push 0x42b
push str...CrossRiderGeneralJsonjson_value.cpp
push str.type___nullValue__type___objectValue
call fcn.004bac2c
add esp, 0xc
cmp byte [edi + 8], 0
jne 0x41fe5f
mov ecx, 0x537e88
jmp 0x41fed1
mov dword [ebp - 0x5c], str.path
mov dword [ebp - 0x58], 0
mov edi, dword [edi]
lea eax, [ebp - 0x5c]
push eax
mov ecx, edi
call fcn.0044e110
mov ecx, dword [edi]
cmp eax, ecx
je 0x41feb9
mov esi, dword [eax + 0x10]
mov edx, str.path
mov bl, byte [edx]
cmp bl, byte [esi]
jne 0x41fea8
test bl, bl
je 0x41fea4
mov bl, byte [edx + 1]
cmp bl, byte [esi + 1]
jne 0x41fea8
add edx, 2
add esi, 2
test bl, bl
jne 0x41fe88
xor edx, edx
jmp 0x41fead
sbb edx, edx
or edx, 1
test edx, edx
sets dl
mov dword [ebp - 0x50], eax
test dl, dl
je 0x41febc
mov dword [ebp - 0x50], ecx
lea eax, [ebp - 0x50]
mov eax, dword [eax]
cmp eax, ecx
mov byte [ebp - 4], 3
mov ecx, 0x537e88
je 0x41fed1
lea ecx, [eax + 0x18]
sub esp, 0x18
push esp
call fcn.0044cb40
lea ecx, [ebp - 0x18]
call fcn.00433a00
add esp, 0x18
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.00437e20
test al, al
jne 0x420098
push str.fileSize_file_not_exist
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0
call fcn.00403ac0
push str.fi1eSize
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 6
call fcn.00403ac0
mov byte [ebp - 4], 7
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x6c], esi
lea eax, [ebp - 0x4c]
push eax
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 8
call fcn.00433ec0
add esp, 4
mov edi, eax
push str.GlobalLog
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 9
call fcn.00403ac0
push 2
push edi
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x54]
push eax
mov ecx, 0x537920
mov byte [ebp - 4], 0xa
call fcn.004018b0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
or edi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41ff9a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ffba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 7
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ffd7
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41fff7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x88]
call fcn.00433ad0
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xb
call fcn.0044c7d0
push ecx
push str.error
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xc
call fcn.0044d470
lea ecx, [ebp - 0x64]
push ecx
mov ecx, eax
call fcn.0044ca80
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x64]
call fcn.0044c9c0
cmp dword [ebp - 0x74], 0x10
jb 0x42004f
push dword [ebp - 0x88]
call fcn.004b817c
add esp, 4
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x42006f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4203ce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4203ce
push 0
push 0
push 3
push 0
push 0
push SysReAllocString
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x420234
mov ebx, dword [0x537408]
mov eax, ebx
imul eax, ebx
cdq
mov ecx, 0x15
idiv ecx
cmp edx, 0xa
jne 0x4200de
xor esi, esi
mov edi, ebx
inc esi
dec edi
cmp esi, 0x37
jb 0x4200d7
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0xd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x4c]
push str.fileSize_GetFileSize__d
push eax
call fcn.00404fe0
add esp, 0xc
lea ecx, [ebp - 0x54]
push str.fileSize
call fcn.00403ac0
mov byte [ebp - 4], 0xe
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x58], esi
lea eax, [ebp - 0x4c]
push eax
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xf
call fcn.00433ec0
add esp, 4
mov edi, eax
push str.GlobalLog
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x10
call fcn.00403ac0
push 2
push edi
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x537920
mov byte [ebp - 4], 0x11
call fcn.004018b0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
or edi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x420196
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x6c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4201b6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0xe
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4201d3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4201f3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x88]
call fcn.00433ad0
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x12
call fcn.0044c7d0
push ecx
push str.error
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x13
call fcn.0044d470
lea ecx, [ebp - 0x64]
push ecx
mov ecx, eax
call fcn.0044ca80
mov byte [ebp - 4], 0x12
jmp 0x420033
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x5c]
and ecx, 0xffffff02
or ecx, 2
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x64], esi
push ecx
push str.size
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x14
call fcn.0044d470
lea ecx, [ebp - 0x64]
push ecx
mov ecx, eax
call fcn.0044ca80
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call fcn.0044c9c0
mov ecx, dword [0x537408]
mov esi, 0xe
lea eax, [ecx + 1]
imul eax, ecx
cdq
idiv esi
cmp edx, 7
jne 0x4202b7
mov eax, 1
test ecx, ecx
cmove ecx, eax
mov dword [0x537408], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
or edi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4203c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4203c7
mov dword [ebp - 4], 1
mov dword [ebp - 0x48], 0x51c0cc
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x44], 0
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x1c
mov eax, dword [0x5326d0]
mov ecx, 0x5326d0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x4c], esi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1d
call fcn.0044f670
mov edx, eax
mov byte [ebp - 4], 0x1e
cmp dword [edx + 0x14], 0x10
jb 0x420427
mov edx, dword [edx]
sub esp, 0x18
mov ebx, esp
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], 0
mov byte [ebx], 0
cmp byte [edx], 0
jne 0x420446
xor ecx, ecx
jmp 0x42045a
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x68], eax
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420450
sub ecx, dword [ebp - 0x68]
push ecx
push edx
mov ecx, ebx
call fcn.004012e0
lea ecx, [ebp - 0x58]
call fcn.00433a00
add esp, 0x18
mov byte [ebp - 4], 0x1f
mov edx, dword [eax]
lea ebx, [esi - 0x10]
lea ecx, [edx - 0x10]
cmp ecx, ebx
je 0x4204c2
cmp dword [ebx + 0xc], 0
lea esi, [ebx + 0xc]
jl 0x4204b3
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x4204b3
call fcn.00404b50
mov dword [ebp - 0x68], eax
mov ecx, edi
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x4204ab
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x68]
lea esi, [eax + 0x10]
mov dword [ebp - 0x4c], esi
jmp 0x4204c2
push dword [edx - 0xc]
lea ecx, [ebp - 0x4c]
push edx
call fcn.00404a90
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4204e2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x74], 0x10
jb 0x4204fa
push dword [ebp - 0x88]
call fcn.004b817c
add esp, 4
mov ebx, dword [ebp - 0x70]
mov eax, 8
mov word [ebx], ax
push dword [esi - 0xc]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test eax, eax
jne 0x420518
call fcn.0040caf0
add esi, 0xfffffff0
mov dword [ebx + 8], eax
mov byte [ebp - 4], 0x1c
lea eax, [esi + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x420536
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x30], 0x10
mov dword [ebp - 0x48], 0x51c0cc
jb 0x42054e
push dword [ebp - 0x44]
call fcn.004b817c
add esp, 4
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x48], 0x51fca0
mov dword [ebp - 4], 0xffffffff
call fcn.0044c9c0
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.004b8181
mov esp, ebp
pop ebp
ret