Function at 0x412f48
Capabilities:
Get file size

Disassembly:
push 0x788
mov eax, 0x444830
call fcn.0041f670
mov edi, edx
mov ebx, ecx
mov dword [ebp - 0x410], ebx
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x404]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x758], eax
mov eax, dword [ebp + 0x20]
push 0x2bc
push dword [0x45f650]
mov dword [ebp - 0x408], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x774], eax
call fcn.00401c41
test eax, eax
je 0x412fd1
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x434]
call fcn.00401ac7
mov edx, str.Writing
call fcn.00401c16
mov edx, edi
mov ecx, eax
call fcn.00411971
mov edx, 0x455e68
mov ecx, eax
call fcn.00401c16
mov ecx, eax
call fcn.00401afb
cmp dword [ebx], 0
jne 0x41301a
push 0x12c
push dword [0x45f650]
lea ecx, [ebp - 0x404]
call fcn.00401c41
test eax, eax
je 0x413013
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x434]
call fcn.00401ac7
mov edx, str.No_dbgHelp.MiniDumpWriteDump
call fcn.00401c16
mov ecx, eax
call fcn.00401afb
xor al, al
jmp 0x4133f6
push 0
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x413086
lea eax, [ebp - 0x758]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push 0x12c
push dword [0x45f650]
lea ecx, [ebp - 0x404]
call fcn.00401c41
test eax, eax
je 0x413013
mov eax, dword [ebp - 0x758]
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x3fc], eax
lea eax, [ebp - 0x404]
push eax
call fcn.00401ac7
mov edx, str.Process_already_closed_with_exit_code
call fcn.00401c16
lea edx, [ebp - 0x3fc]
mov ecx, eax
call fcn.00409d54
jmp 0x41300c
cmp byte [0x45f5e5], 0
jne 0x41309b
call fcn.00412459
mov byte [0x45f5e5], 1
push edi
lea ecx, [ebp - 0x44c]
call fcn.0040739d
xor eax, eax
push 0x304
push eax
mov dword [ebp - 4], eax
mov byte [ebp - 0x76d], al
lea eax, [ebp - 0x754]
push eax
call fcn.00421350
and dword [ebp - 0x450], 0
add esp, 0xc
or dword [ebp - 0x3fc], 0xffffffff
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44c]
cmp dword [ebp - 0x438], 8
jb 0x4130ee
mov ecx, dword [ebp - 0x44c]
lea edx, [ebp - 0x3fc]
call fcn.00412cbf
cmp dword [ebp - 0x3fc], 0xffffffff
jne 0x413107
jmp 0x4133e5
mov edi, dword [ebp - 0x758]
lea eax, [ebp - 0x754]
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x76c], eax
xor eax, eax
push 0x3e8
push eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x3f8]
push eax
mov dword [ebp - 0x760], 0x4125f0
mov dword [ebp - 0x768], edi
mov dword [ebp - 0x764], 1
call fcn.00421350
mov edx, dword [ebp - 0x408]
lea eax, [ebp - 0x3f8]
mov ecx, dword [ebp + 8]
push eax
push dword [ebp - 0x774]
call fcn.00413bb0
add esp, 0x14
lea ecx, [ebp - 0x40c]
push 0x2bc
push dword [0x45f650]
call fcn.00401c41
test eax, eax
je 0x4131ca
lea eax, [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x794]
call fcn.00401ac7
mov edx, str.Generated_metadata_Json
call fcn.00401c16
lea edx, [ebp - 0x3f8]
mov ecx, eax
call fcn.00401c16
mov ecx, eax
call fcn.00401afb
lea eax, [ebp - 0x3f8]
mov dword [ebp - 0x42c], 0xa
mov ecx, eax
mov dword [ebp - 0x424], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4131e5
sub ecx, edx
mov dword [ebp - 0x404], 1
mov edx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x76c]
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x400], eax
lea eax, [ebp - 0x760]
push eax
lea eax, [ebp - 0x404]
push eax
mov eax, edi
neg eax
sbb eax, eax
and eax, ecx
mov ecx, ebx
push eax
push dword [ebp + 8]
push dword [ebp - 0x3fc]
push dword [ebp + 0x10]
call fcn.00412db7
add esp, 0x18
test eax, eax
je 0x413272
cmp dword [ebp - 0x3fc], 0xffffffff
je 0x4133e5
push dword [ebp - 0x3fc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x4133e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4133e5
push 0
push dword [ebp - 0x3fc]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4132e4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x12c
push dword [0x45f650]
lea ecx, [ebp - 0x414]
mov esi, eax
call fcn.00401c41
test eax, eax
je 0x4132df
lea eax, [ebp - 0x414]
mov dword [ebp - 0x408], esi
push eax
lea ecx, [ebp - 0x794]
call fcn.00401ac7
mov edx, str.GetFileSize_failed__code
call fcn.00401c16
lea edx, [ebp - 0x408]
mov ecx, eax
call fcn.00409d54
mov ecx, eax
call fcn.00401afb
jmp 0x413246
push 0x2bc
push dword [0x45f650]
lea ecx, [ebp - 0x40c]
mov byte [ebp - 0x76d], 1
call fcn.00401c41
test eax, eax
je 0x413378
lea eax, [ebp - 0x40c]
push eax
lea ecx, [ebp - 0x794]
call fcn.00401ac7
mov edx, str.Writing
call fcn.00401c16
cmp dword [ebp - 0x438], 8
lea ecx, [ebp - 0x44c]
mov ebx, eax
jb 0x413338
mov ecx, dword [ebp - 0x44c]
push dword [ebp - 0x43c]
push ecx
push ecx
mov ecx, ebx
call fcn.00415cb8
add esp, 0xc
mov edx, str._succeeded__
mov ecx, ebx
call fcn.00401c16
mov edx, edi
mov ecx, eax
call fcn.00405c89
mov edx, str._bytes_.
mov ecx, eax
call fcn.00401c16
mov ecx, eax
call fcn.00401afb
mov ebx, dword [ebp - 0x410]
cmp dword [ebp - 0x3fc], 0xffffffff
je 0x413397
push dword [ebp - 0x3fc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x413397
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [ebp - 4], 0
cmp byte [0x45f5e4], 0
jne 0x4133e5
push str..stat
lea edx, [ebp - 0x44c]
lea ecx, [ebp - 0x42c]
call fcn.00413dfb
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x42c]
push ebx
push dword [ebp - 0x758]
mov edx, esi
call fcn.00412808
add esp, 0xc
mov byte [0x45f5e4], al
lea ecx, [ebp - 0x42c]
call fcn.00403b3f
lea ecx, [ebp - 0x44c]
call fcn.00403b3f
mov al, byte [ebp - 0x76d]
call fcn.0041f61a
ret