Function at 0x456720
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fad9b
mov eax, dword fs:[0]
push eax
mov eax, 0x2118
call fcn.004b6430
mov eax, dword [0x542488]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
xor eax, eax
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x209c], eax
mov dword [ebp - 0x2098], eax
mov eax, 1
push esi
push edi
mov dword [ebp - 0x20b8], 0x2014b50
mov dword [ebp - 0x20b4], reloc.KERNEL32.dll_InitializeSListHead
mov dword [ebp - 0x20b0], 0x80000
mov dword [ebp - 0x20ac], 0x40e24e87
mov dword [ebp - 0x20a8], 0
mov dword [ebp - 0x20a4], 0
mov dword [ebp - 0x20a0], 0
mov word [ebp - 0x2094], ax
mov dword [ebp - 0x2092], 0x20
mov dword [ebp - 0x208e], 0
call fcn.00456fa0
add esp, 8
test al, al
je 0x456c1c
push edi
call fcn.004ca072
mov dword [ebp - 0x2064], eax
xor eax, eax
push edi
push 0x16
mov dword [ebp - 0x207c], eax
mov dword [ebp - 0x2078], eax
mov dword [ebp - 0x2074], eax
mov dword [ebp - 0x2070], eax
mov word [ebp - 0x206c], ax
lea eax, [ebp - 0x2080]
push 1
push eax
mov dword [ebp - 0x2080], 0x6054b50
call fcn.004c7886
add esp, 0x14
test eax, eax
je 0x456c1c
mov ecx, 0x16
sub ecx, eax
cmp ecx, 2
ja 0x456c1c
mov ax, word [ebp - 0x2076]
mov ecx, 0xffff
mov byte [ebp - 0x2068], 0
cmp ax, cx
jne 0x456900
push 0x38
lea eax, [ebp - 0x2124]
push 0
push eax
call fcn.004b8860
xor eax, eax
push eax
mov dword [ebp - 0x20ec], eax
mov dword [ebp - 0x20e8], eax
mov dword [ebp - 0x20e4], eax
mov dword [ebp - 0x20e0], eax
mov word [ebp - 0x20dc], ax
mov eax, dword [ebp - 0x2064]
add eax, 0xffffffec
push eax
push edi
call fcn.004c7cd3
push edi
push 0x12
lea eax, [ebp - 0x20ec]
push 1
push eax
call fcn.004c7886
add esp, 0x28
cmp eax, 0x12
jne 0x456c1c
push 0
push dword [ebp - 0x20e4]
push edi
call fcn.004c7cd3
push edi
push 0x38
lea eax, [ebp - 0x2124]
push 1
push eax
call fcn.004c7886
add esp, 0x1c
cmp eax, 0x38
jne 0x456c1c
movzx eax, word [ebp - 0x2104]
mov ecx, dword [ebp - 0x20f4]
mov byte [ebp - 0x2068], 1
jmp 0x456909
mov ecx, dword [ebp - 0x2070]
movzx eax, ax
lea edx, [ebp - 0x20b8]
push edx
push dword [ebp + 0x10]
push dword [ebp - 0x2068]
push eax
push ecx
push esi
push edi
call fcn.004570a0
add esp, 0x1c
test al, al
je 0x456c1c
mov eax, dword [ebp - 0x208e]
push 0
add eax, esi
push eax
push edi
call fcn.004c7cd3
xor eax, eax
mov dword [ebp - 0x20d8], 0x4034b50
push edi
push 0x1e
mov word [ebp - 0x20d0], ax
mov dword [ebp - 0x20ca], eax
mov dword [ebp - 0x20c6], eax
mov dword [ebp - 0x20c2], eax
mov dword [ebp - 0x20be], eax
lea eax, [ebp - 0x20d8]
push 1
push eax
mov dword [ebp - 0x20d4], 0x14
mov dword [ebp - 0x20ce], 0x40e24e87
call fcn.004c7886
add esp, 0x1c
cmp eax, 0x1e
jne 0x456c1c
movzx eax, word [ebp - 0x20be]
add eax, 0x1e
add eax, dword [ebp - 0x208e]
add eax, esi
cmp word [ebp - 0x20d4], 0x2d
mov dword [ebp - 0x2064], eax
jne 0x456a32
push 0
push eax
push edi
call fcn.004c7cd3
xor eax, eax
push edi
push 0x20
mov dword [ebp - 0x2088], eax
mov dword [ebp - 0x2084], eax
mov dword [ebp - 0x2080], eax
mov dword [ebp - 0x207c], eax
mov dword [ebp - 0x2078], eax
mov dword [ebp - 0x2074], eax
mov dword [ebp - 0x2070], eax
mov dword [ebp - 0x206c], eax
lea eax, [ebp - 0x2088]
push 1
push eax
call fcn.004c7886
add esp, 0x1c
cmp eax, 0x20
jne 0x456c1c
mov eax, dword [ebp - 0x207c]
mov dword [ebp - 0x20a4], eax
mov eax, dword [ebp - 0x2084]
mov dword [ebp - 0x20a0], eax
mov eax, dword [ebp - 0x2064]
movzx esi, word [ebp - 0x20bc]
add esi, eax
push 0
push esi
push edi
call fcn.004c7cd3
lea eax, [ebp - 0x20b8]
mov dword [ebp - 0x2060], edi
mov dword [ebp - 0x205c], eax
mov eax, dword [ebp - 0x20a4]
mov dword [ebp - 0x2058], eax
mov eax, dword [ebp - 0x20a0]
push 0x38
mov dword [ebp - 0x2054], eax
lea eax, [ebp - 0x2050]
push 0
push eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], 0
call fcn.004b8860
push 0x38
push str.1.2.12
lea eax, [ebp - 0x2050]
push 0xfffffffffffffff1
push eax
call fcn.0047e270
push 0x2000
lea eax, [ebp - 0x2018]
push 0
push eax
call fcn.004b8860
add esp, 0x34
mov edi, dword [ebp - 0x20a0]
mov ecx, ebx
push 0
push edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x2064], edi
call fcn.0041ab50
cmp dword [ebx + 0x14], 0x10
jb 0x456ad8
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x205c]
movzx eax, word [eax + 0xa]
test ax, ax
je 0x456bb8
cmp eax, 8
jne 0x456c00
mov eax, dword [ebp - 0x2054]
cmp eax, edi
mov dword [ebp - 0x2044], ebx
cmovae eax, edi
xor edi, edi
mov dword [ebp - 0x2040], eax
test eax, eax
je 0x456c02
cmp dword [ebp - 0x204c], 0
jne 0x456b79
mov eax, dword [ebp - 0x2058]
test eax, eax
je 0x456b79
mov esi, 0x2000
cmp eax, esi
push 0
cmovb esi, eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x18]
push eax
push dword [ebp - 0x2060]
call fcn.004c7cd3
push dword [ebp - 0x2060]
lea eax, [ebp - 0x2018]
push esi
push 1
push eax
call fcn.004c7886
add dword [ebp - 0x14], eax
lea ecx, [ebp - 0x2018]
add esp, 0x1c
mov dword [ebp - 0x2050], ecx
sub dword [ebp - 0x2058], eax
mov dword [ebp - 0x204c], eax
mov esi, dword [ebp - 0x203c]
lea eax, [ebp - 0x2050]
push 2
push eax
call fcn.0047ca30
mov ecx, dword [ebp - 0x203c]
add esp, 8
sub ecx, esi
sub dword [ebp - 0x2054], ecx
add edi, ecx
cmp eax, 1
je 0x456c02
test eax, eax
js 0x456c00
cmp dword [ebp - 0x2040], 0
ja 0x456b15
jmp 0x456c02
mov esi, dword [ebp - 0x2058]
cmp esi, edi
cmovae esi, edi
test esi, esi
je 0x456c00
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x18]
push 0
push eax
push dword [ebp - 0x2060]
call fcn.004c7cd3
push dword [ebp - 0x2060]
push esi
push 1
push ebx
call fcn.004c7886
mov edi, eax
add esp, 0x1c
add dword [ebp - 0x14], edi
sub dword [ebp - 0x2058], edi
sub dword [ebp - 0x2054], edi
jmp 0x456c02
xor edi, edi
lea eax, [ebp - 0x2050]
push eax
call fcn.0047e210
add esp, 4
cmp edi, dword [ebp - 0x2064]
sete al
jmp 0x456c1e
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b5e78
mov esp, ebp
pop ebp
ret