Function at 0x456bf0
Capabilities:
Get file size
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xa4
push ebx
push ebp
push esi
push edi
mov edi, dword [str..rtbw]
mov esi, ecx
mov edx, edi
mov dword [esp + 0x60], esi
call fcn.00454970
mov ebp, eax
cmp ebp, 0xffffffff
je 0x45729b
lea eax, [esp + 0xa8]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
neg eax
push ebp
sbb ebx, ebx
and ebx, dword [esp + 0xac]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and bl, 0x3f
cmp bl, 0x10
je 0x456c72
push edi
push esi
push str.Incomplete_tablebase_file__s._s_n
push 2
call fcn.0047ba4e
add esp, 4
push eax
call fcn.004548c0
push edi
push esi
push str.info_string_Incomplete_tablebase_file__s._s_n
call fcn.004548e0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
mov cl, byte [esi]
xorps xmm0, xmm0
xor edi, edi
mov edx, esi
movups xmmword [esp + 0x68], xmm0
movups xmmword [esp + 0x78], xmm0
movups xmmword [esp + 0x88], xmm0
movups xmmword [esp + 0x98], xmm0
test cl, cl
je 0x456cd3
nop dword [eax]
cmp cl, 0x76
jne 0x456cac
mov edi, 8
jmp 0x456ccb
mov eax, 1
cmp cl, byte [eax + str._PNBRQK__pnbrqk]
je 0x456cc1
inc eax
cmp eax, 6
jle 0x456cb1
jmp 0x456ccb
test eax, eax
je 0x456ccb
or eax, edi
inc dword [esp + eax*4 + 0x68]
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x456ca0
mov eax, dword [esp + 0x90]
cdq
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x54], edx
cdq
mov dword [esp + 0x1c], eax
mov ebp, edx
mov eax, dword [esp + 0x98]
cdq
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x30], edx
cdq
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x3c], edx
cdq
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x28], edx
cdq
mov dword [esp + 0x38], eax
mov ecx, edx
mov eax, dword [esp + 0x7c]
cdq
mov dword [esp + 0x24], eax
mov ebx, edx
mov eax, dword [esp + 0x9c]
cdq
mov edi, eax
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x8c]
mov esi, edx
cdq
push 0xd5a4c959
push 0x28f2fbe3
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x80]
push ecx
push dword [esp + 0x44]
mov dword [esp + 0x5c], edx
cdq
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], edx
call fcn.00461370
push 0xa3ec1abc
push 0x71e90863
push ebx
push dword [esp + 0x30]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edx
call fcn.00461370
add dword [esp + 0x18], eax
push 0xd6e4e47d
adc dword [esp + 0x18], edx
push 0x24962951
push esi
push edi
call fcn.00461370
add dword [esp + 0x18], eax
push 0xa24f0f57
adc dword [esp + 0x18], edx
push 0x1bb202e7
push dword [esp + 0x54]
push dword [esp + 0x5c]
call fcn.00461370
add dword [esp + 0x18], eax
push 0x985deb9f
adc dword [esp + 0x18], edx
push 0xc49333f9
push dword [esp + 0x4c]
push dword [esp + 0x54]
call fcn.00461370
add dword [esp + 0x18], eax
push 0xbaeb854c
adc dword [esp + 0x18], edx
push 0xd3259441
push dword [esp + 0x5c]
push dword [esp + 0x2c]
call fcn.00461370
add dword [esp + 0x18], eax
push 0xaadc1a2b
adc dword [esp + 0x18], edx
push 0xe446234d
push ebp
push dword [esp + 0x28]
call fcn.00461370
add dword [esp + 0x18], eax
push 0xfd7866b4
adc dword [esp + 0x18], edx
push 0x39b94495
push dword [esp + 0x38]
push dword [esp + 0x40]
call fcn.00461370
add dword [esp + 0x18], eax
push 0xd2fb8186
adc dword [esp + 0x18], edx
push 0x2830191f
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.00461370
add dword [esp + 0x18], eax
push 0xec0ade19
adc dword [esp + 0x18], edx
push 0xc0f6003
push dword [esp + 0x30]
push dword [esp + 0x38]
call fcn.00461370
add dword [esp + 0x18], eax
push 0xd5a4c959
adc dword [esp + 0x18], edx
push 0x28f2fbe3
push ebp
push dword [esp + 0x28]
call fcn.00461370
push 0xa3ec1abc
push 0x71e90863
push esi
push edi
mov dword [esp + 0x2c], eax
mov ebp, edx
call fcn.00461370
mov edi, dword [esp + 0x1c]
push 0xd6e4e47d
push 0x24962951
push ebx
push dword [esp + 0x30]
add edi, eax
adc ebp, edx
call fcn.00461370
push 0xa24f0f57
push 0x1bb202e7
push dword [esp + 0x30]
add edi, eax
push dword [esp + 0x38]
adc ebp, edx
call fcn.00461370
push 0x985deb9f
push 0xc49333f9
push dword [esp + 0x38]
add edi, eax
push dword [esp + 0x40]
adc ebp, edx
call fcn.00461370
push 0xaadc1a2b
push 0xe446234d
push dword [esp + 0x60]
add edi, eax
push dword [esp + 0x44]
adc ebp, edx
call fcn.00461370
push 0xbaeb854c
push 0xd3259441
push dword [esp + 0x44]
add edi, eax
push dword [esp + 0x4c]
adc ebp, edx
call fcn.00461370
add edi, eax
push 0xfd7866b4
adc ebp, edx
push 0x39b94495
push dword [esp + 0x4c]
push dword [esp + 0x54]
call fcn.00461370
push 0xec0ade19
push 0xc0f6003
push dword [esp + 0x54]
add edi, eax
push dword [esp + 0x5c]
adc ebp, edx
call fcn.00461370
push 0xd2fb8186
push 0x2830191f
push dword [esp + 0x5c]
add edi, eax
push dword [esp + 0x2c]
adc ebp, edx
call fcn.00461370
add edi, eax
mov dword [esp + 0x1c], edi
adc ebp, edx
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x20], ebp
jne 0x456fc4
cmp dword [esp + 0x8c], 0
jne 0x456fc4
mov eax, dword [0x5e5340]
xor cl, cl
lea esi, [eax + eax*4]
shl esi, 6
add esi, dword [0x5fdf08]
inc eax
mov dword [0x5e5340], eax
jmp 0x456fdd
mov eax, dword [0x5fd384]
mov cl, 1
imul esi, eax, 0x510
add esi, dword [0x5fdf24]
inc eax
mov dword [0x5fd384], eax
mov eax, dword [esp + 0x14]
mov byte [esi + 0x25], cl
mov ecx, dword [esp + 0x18]
mov dword [esi], ecx
mov dword [esi + 4], eax
cmp ecx, edi
jne 0x456ff9
cmp eax, ebp
jne 0x456ff9
mov al, 1
jmp 0x456ffb
xor al, al
mov byte [esi + 0x24], al
xor dl, dl
xor eax, eax
mov byte [esi + 0x23], 0
xor cl, cl
nop dword [eax + eax]
add dl, byte [esp + eax*4 + 0x68]
add cl, byte [esp + eax*4 + 0x6c]
add eax, 2
cmp eax, 0x10
jl 0x457010
mov eax, dword [str..rtbm]
add cl, dl
mov edi, dword [esp + 0x60]
mov edx, eax
inc dword [0x5fdf14]
mov byte [esi + 0x23], cl
mov ecx, edi
mov dword [esp + 0x58], eax
call fcn.00454970
mov ebp, eax
cmp ebp, 0xffffffff
je 0x45709b
lea eax, [esp + 0x60]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
neg eax
push ebp
sbb ebx, ebx
and ebx, dword [esp + 0x64]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and bl, 0x3f
cmp bl, 0x10
je 0x457098
mov ebx, dword [esp + 0x58]
push ebx
push edi
push str.Incomplete_tablebase_file__s._s_n
push 2
call fcn.0047ba4e
add esp, 4
push eax
call fcn.004548c0
push ebx
push edi
push str.info_string_Incomplete_tablebase_file__s._s_n
call fcn.004548e0
add esp, 0x1c
or ebp, 0xffffffff
cmp ebp, 0xffffffff
setne al
mov ecx, edi
mov byte [esi + 0x26], al
movzx eax, al
add dword [0x5fdf18], eax
mov eax, dword [str..rtbz]
mov edx, eax
mov dword [esp + 0x60], eax
call fcn.00454970
mov ebp, eax
cmp ebp, 0xffffffff
je 0x457116
lea eax, [esp + 0x58]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
neg eax
push ebp
sbb ebx, ebx
and ebx, dword [esp + 0x5c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and bl, 0x3f
cmp bl, 0x10
je 0x457113
mov ebx, dword [esp + 0x60]
push ebx
push edi
push str.Incomplete_tablebase_file__s._s_n
push 2
call fcn.0047ba4e
add esp, 4
push eax
call fcn.004548c0
push ebx
push edi
push str.info_string_Incomplete_tablebase_file__s._s_n
call fcn.004548e0
add esp, 0x1c
or ebp, 0xffffffff
cmp ebp, 0xffffffff
movzx ecx, byte [esi + 0x23]
setne al
mov byte [esi + 0x27], al
movzx eax, al
add dword [0x5fd380], eax
mov eax, dword [0x4f6694]
cmp ecx, eax
cmovg eax, ecx
cmp byte [esi + 0x26], 0
mov dword [0x4f6694], eax
je 0x45714d
mov eax, dword [0x4f6690]
cmp ecx, eax
cmovg eax, ecx
mov dword [0x4f6690], eax
xor eax, eax
mov word [esi + 0x20], ax
mov byte [esi + 0x22], al
cmp byte [esi + 0x25], al
jne 0x4571de
movaps xmm3, xmmword [0x4e0f20]
xorps xmm4, xmm4
xorps xmm2, xmm2
nop dword [eax]
movups xmm1, xmmword [esp + eax*4 + 0x68]
movaps xmm0, xmm4
paddd xmm0, xmm3
pcmpeqd xmm1, xmm3
pand xmm0, xmm1
pandn xmm1, xmm4
por xmm0, xmm1
movups xmm1, xmmword [esp + eax*4 + 0x78]
add eax, 8
movaps xmm4, xmm0
movaps xmm0, xmm2
pcmpeqd xmm1, xmm3
paddd xmm0, xmm3
pand xmm0, xmm1
pandn xmm1, xmm2
por xmm0, xmm1
movaps xmm2, xmm0
cmp eax, 0x10
jl 0x457170
paddd xmm2, xmm4
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
cmp eax, 2
sete al
jmp 0x4571fe
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x6c]
mov byte [esi + 0x28], cl
mov byte [esi + 0x29], al
test eax, eax
je 0x457201
test ecx, ecx
je 0x4571fb
cmp ecx, eax
jle 0x457201
mov byte [esi + 0x29], cl
mov byte [esi + 0x28], al
mov edx, dword [esp + 0x14]
mov ecx, edx
shr ecx, 0x14
mov eax, ecx
shl eax, 4
cmp dword [eax + 0x5ed388], 0
je 0x457235
nop dword [eax + eax]
inc ecx
and ecx, 0xfff
mov eax, ecx
shl eax, 4
cmp dword [eax + 0x5ed388], 0
jne 0x457220
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
shl ecx, 4
mov dword [ecx + 0x5ed380], eax
mov dword [ecx + 0x5ed384], edx
mov dword [ecx + 0x5ed388], esi
cmp eax, ebp
jne 0x45725e
cmp edx, edi
je 0x45729b
mov ecx, edi
shr ecx, 0x14
mov eax, ecx
shl eax, 4
cmp dword [eax + 0x5ed388], 0
je 0x457286
inc ecx
and ecx, 0xfff
mov eax, ecx
shl eax, 4
cmp dword [eax + 0x5ed388], 0
jne 0x457271
shl ecx, 4
mov dword [ecx + 0x5ed380], ebp
mov dword [ecx + 0x5ed384], edi
mov dword [ecx + 0x5ed388], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret