Function at 0x41f43e
Capabilities:
Get file size

Disassembly:
push 0x2d4
mov eax, 0x4763bd
call fcn.0047362c
mov dword [ebp - 0x2b0], ecx
xor ebx, ebx
lea eax, [ebp + 8]
push ebx
push 0x80
push 3
push ebx
mov dword [ebp - 4], ebx
cmp dword [ebp + 0x1c], 8
push 5
cmovae eax, dword [ebp + 8]
push 0x120089
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x41f7a0
lea eax, [ebp - 0x2bc]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x41f799
cmp dword [ebp - 0x2b8], ebx
jg 0x41f799
jl 0x41f4b9
cmp dword [ebp - 0x2bc], 0x2000000
ja 0x41f799
mov eax, 0x100
push eax
mov dword [ebp - 0x298], eax
call fcn.004724fc
mov ebx, eax
pop ecx
mov dword [ebp - 0x2ac], ebx
push 0
push ebx
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 1
push eax
push esi
call dword [0x494f90]
test eax, eax
jne 0x41f52c
push dword [ebp - 0x298]
call fcn.004724fc
mov edi, eax
pop ecx
test ebx, ebx
je 0x41f506
push ebx
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
pop ecx
push 0
push edi
lea eax, [ebp - 0x298]
mov ebx, edi
push eax
push esi
mov dword [ebp - 0x2ac], ebx
call dword [0x494f90]
test eax, eax
jne 0x41f52c
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41f577
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
mov dword [ebp - 0x2a4], 0x800b0100
push ecx
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x29c], ecx
push eax
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x6c], 0xf750e6c3
push eax
mov dword [ebp - 0x68], 0x11d138ee
mov dword [ebp - 0x64], 0xc000e585
mov dword [ebp - 0x60], 0xee95c24f
call dword [0x494f94]
test eax, eax
jne 0x41f57f
xor edi, edi
inc edi
jmp 0x41f78b
mov eax, dword [ebp - 0x298]
xor ecx, ecx
push 2
pop edx
lea eax, [eax*2 + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004724fc
pop ecx
mov dword [ebp - 0x2a0], eax
push 0x11
mov byte [ebp - 4], 2
lea edi, [ebp - 0x5c]
pop ecx
mov esi, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x298]
movsw word es:[edi], word [esi]
xor edi, edi
mov edx, edi
test ecx, ecx
je 0x41f5f6
movzx ecx, byte [edx + ebx]
shr ecx, 4
movsx cx, byte [ebp + ecx - 0x5c]
mov word [eax + edx*4], cx
movzx ecx, byte [edx + ebx]
and ecx, 0xf
movsx cx, byte [ebp + ecx - 0x5c]
mov word [eax + edx*4 + 2], cx
inc edx
mov ecx, dword [ebp - 0x298]
cmp edx, ecx
jb 0x41f5c8
push edi
push edi
xor edx, edx
mov word [eax + ecx*4], dx
push dword [ebp - 0x298]
push ebx
push dword [ebp - 0x29c]
call dword [0x494f80]
mov esi, eax
mov dword [ebp - 0x2a8], esi
test esi, esi
je 0x41f75f
push 0x208
lea eax, [ebp - 0x290]
mov dword [ebp - 0x294], edi
push edi
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [ebp - 0x294]
push edi
push eax
push esi
call dword [0x494f7c]
mov esi, dword [ebp - 0x2a0]
test eax, eax
je 0x41f74a
xor eax, eax
lea edi, [ebp - 0x2dc]
cmp dword [ebp + 0x1c], 8
push 8
pop ecx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x290]
mov dword [ebp - 0x2e0], 0x24
mov dword [ebp - 0x2d8], eax
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push 0x2c
mov dword [ebp - 0x2d0], eax
lea eax, [ebp - 0x44]
push 0
push eax
mov dword [ebp - 0x2d4], esi
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x48], 0x30
xor edi, edi
inc edi
mov dword [ebp - 0x38], edi
push 2
pop eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], eax
call fcn.0041f887
cmp eax, 7
jl 0x41f6d8
or dword [ebp - 0x20], 0x1000
jmp 0x41f6dc
or dword [ebp - 0x20], 0x10
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x6c]
push eax
push 0
call dword [0x494f98]
mov edi, dword [ebp - 0x2b0]
mov dword [ebp - 0x2a4], eax
test edi, edi
je 0x41f732
cmp eax, 0x800b0100
je 0x41f726
mov edx, dword [ebp - 0x28]
lea ecx, [ebp - 0x84]
call fcn.0041f231
push eax
mov ecx, edi
call fcn.0040a4f0
lea ecx, [ebp - 0x84]
call fcn.00407b40
jmp 0x41f732
push 0x482d54
mov ecx, edi
call fcn.0040a530
lea eax, [ebp - 0x48]
mov dword [ebp - 0x2c], 2
push eax
lea eax, [ebp - 0x6c]
xor edi, edi
push eax
push edi
call dword [0x494f98]
push edi
push dword [ebp - 0x2a8]
push dword [ebp - 0x29c]
call dword [0x494f84]
jmp 0x41f765
mov esi, dword [ebp - 0x2a0]
push edi
push dword [ebp - 0x29c]
call dword [0x494f9c]
mov ecx, dword [ebp - 0x2a4]
call fcn.0041f086
mov edi, eax
test esi, esi
je 0x41f78b
push esi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
pop ecx
test ebx, ebx
je 0x41f7a3
push ebx
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
pop ecx
jmp 0x41f7a3
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
inc edi
lea ecx, [ebp + 8]
call fcn.00407b40
mov eax, edi
call fcn.004735ea
ret