Function at 0x4476d0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push edi
lea edi, [ebp - 0x5c]
mov ecx, 0x17
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x50beb0]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
call fcn.00490460
call fcn.0048d6b0
push 0xffffff
push 0xffffff
push 0x14
push 0x140
push 0
push 0
call fcn.0048d400
add esp, 0x18
push 0xffffff
push 0
push 0x5013e0
push 2
push 0xa
call fcn.0048cef0
add esp, 0x14
push 0x5013f8
mov eax, dword [str.fault.log]
push eax
call fcn.004943f0
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x447766
push 0x5013fc
call fcn.0048c1d0
add esp, 4
xor eax, eax
jmp 0x447f01
push 2
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00494fe0
add esp, 0xc
mov edx, dword [ebp - 0xc]
push edx
call fcn.00494c20
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, 4
xor edx, edx
mov ecx, 6
div ecx
mov byte [ebp - 0x12], al
mov byte [ebp - 0x25], 0x1e
mov byte [ebp - 0x14], 0
mov byte [ebp - 0x11], 0
jmp 0x4477ae
mov dl, byte [ebp - 0x11]
add dl, 1
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp - 0x12]
cmp eax, ecx
jge 0x447903
push 2
movzx edx, byte [ebp - 0x11]
imul edx, edx, 6
add edx, 8
mov eax, 2
sub eax, edx
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00494fe0
add esp, 0xc
mov byte [ebp - 0x13], 0
mov dl, byte [ebp - 0x14]
add dl, 1
mov byte [ebp - 0x14], dl
movzx eax, byte [ebp - 0x25]
add eax, 0x14
mov byte [ebp - 0x25], al
mov ecx, dword [ebp - 0xc]
push ecx
push 6
push 1
lea edx, [ebp - 0x20]
push edx
call fcn.00494bc0
add esp, 0x10
movzx eax, byte [ebp - 0x20]
movzx ecx, byte [ebp - 0x1f]
shl ecx, 8
add eax, ecx
movzx edx, byte [ebp - 0x1e]
shl edx, 8
shl edx, 8
add eax, edx
movzx ecx, byte [ebp - 0x1d]
shl ecx, 8
shl ecx, 8
shl ecx, 8
add eax, ecx
mov dword [ebp - 0x50], eax
lea edx, [ebp - 0x50]
push edx
call fcn.00445b10
add esp, 4
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jne 0x447869
cmp dword [ebp - 0xc], 0
je 0x447862
mov eax, dword [ebp - 0xc]
push eax
call fcn.00493af0
add esp, 4
mov dword [ebp - 0xc], 0
xor eax, eax
jmp 0x447f01
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx + 0x10]
push edx
push 0x501424
lea eax, [ebp - 0x40]
push eax
call fcn.004920c0
add esp, 0x18
push 0
push 0xffffff
lea ecx, [ebp - 0x40]
push ecx
movzx dx, byte [ebp - 0x25]
movzx eax, dx
push eax
push 0xa
call fcn.0048cef0
add esp, 0x14
movzx ecx, byte [ebp - 0x1c]
movzx edx, byte [ebp - 0x1b]
shl edx, 8
add ecx, edx
mov byte [ebp - 0x45], cl
push 0
push 0xffffff
movzx ax, byte [ebp - 0x45]
movzx ecx, ax
push ecx
call fcn.00402290
add esp, 4
push eax
movzx dx, byte [ebp - 0x25]
movzx eax, dx
push eax
push 0x96
call fcn.0048cef0
add esp, 0x14
movzx ecx, byte [ebp - 0x14]
cmp ecx, 8
jl 0x4478fe
jmp 0x447903
jmp 0x4477a5
cmp dword [ebp - 0xc], 0
je 0x44791c
mov edx, dword [ebp - 0xc]
push edx
call fcn.00493af0
add esp, 4
mov dword [ebp - 0xc], 0
push 0
push 0xffffff
push 0x501438
push 0x1e
push 0x28
call fcn.0048cef0
add esp, 0x14
push 0
push 0xffffff
push 0x501440
push 0x1e
push 0xb4
call fcn.0048cef0
add esp, 0x14
push 0xffffff
push 0xffffff
push 0xf0
push 0x140
push 0xdc
push 0
call fcn.0048d400
add esp, 0x18
push 0xffffff
push 0
push 0x501448
push 0xde
push 0x50
call fcn.0048cef0
add esp, 0x14
mov eax, 1
test eax, eax
je 0x447f01
call fcn.00417f50
movzx cx, al
mov word [ebp - 8], cx
movsx edx, word [ebp - 8]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x5c]
sub eax, 3
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0xf
ja case.0x4479cb.1
mov ecx, dword [ebp - 0x5c]
movzx edx, byte [ecx + 0x447f80]
jmp dword [edx*4 + 0x447f68]
call fcn.00445b50
mov word [ebp - 8], ax
jmp 0x447ee4
call fcn.00402280
call fcn.00490460
call fcn.0048d6b0
push 0xffffff
push 0xffffff
push 0x14
push 0x140
push 0
push 0
call fcn.0048d400
add esp, 0x18
push 0xffffff
push 0
push 0x501460
push 2
push 0xa
call fcn.0048cef0
add esp, 0x14
push 0x501478
mov eax, dword [str.fault.log]
push eax
call fcn.004943f0
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x447a4d
push 0x50147c
call fcn.0048c1d0
add esp, 4
push 2
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00494fe0
add esp, 0xc
mov edx, dword [ebp - 0xc]
push edx
call fcn.00494c20
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, 4
xor edx, edx
mov ecx, 6
div ecx
mov byte [ebp - 0x12], al
mov byte [ebp - 0x25], 0x1e
mov byte [ebp - 0x14], 0
mov byte [ebp - 0x11], 0
jmp 0x447a95
mov dl, byte [ebp - 0x11]
add dl, 1
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp - 0x12]
cmp eax, ecx
jge 0x447bea
push 2
movzx edx, byte [ebp - 0x11]
imul edx, edx, 6
add edx, 8
mov eax, 2
sub eax, edx
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00494fe0
add esp, 0xc
mov byte [ebp - 0x13], 0
mov dl, byte [ebp - 0x14]
add dl, 1
mov byte [ebp - 0x14], dl
movzx eax, byte [ebp - 0x25]
add eax, 0x14
mov byte [ebp - 0x25], al
mov ecx, dword [ebp - 0xc]
push ecx
push 6
push 1
lea edx, [ebp - 0x20]
push edx
call fcn.00494bc0
add esp, 0x10
movzx eax, byte [ebp - 0x20]
movzx ecx, byte [ebp - 0x1f]
shl ecx, 8
add eax, ecx
movzx edx, byte [ebp - 0x1e]
shl edx, 8
shl edx, 8
add eax, edx
movzx ecx, byte [ebp - 0x1d]
shl ecx, 8
shl ecx, 8
shl ecx, 8
add eax, ecx
mov dword [ebp - 0x50], eax
lea edx, [ebp - 0x50]
push edx
call fcn.00445b10
add esp, 4
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jne 0x447b50
cmp dword [ebp - 0xc], 0
je 0x447b49
mov eax, dword [ebp - 0xc]
push eax
call fcn.00493af0
add esp, 4
mov dword [ebp - 0xc], 0
xor eax, eax
jmp 0x447f01
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx + 0x10]
push edx
push 0x5014a4
lea eax, [ebp - 0x40]
push eax
call fcn.004920c0
add esp, 0x18
push 0
push 0xffffff
lea ecx, [ebp - 0x40]
push ecx
movzx dx, byte [ebp - 0x25]
movzx eax, dx
push eax
push 0xa
call fcn.0048cef0
add esp, 0x14
movzx ecx, byte [ebp - 0x1c]
movzx edx, byte [ebp - 0x1b]
shl edx, 8
add ecx, edx
mov byte [ebp - 0x45], cl
push 0
push 0xffffff
movzx ax, byte [ebp - 0x45]
movzx ecx, ax
push ecx
call fcn.00402290
add esp, 4
push eax
movzx dx, byte [ebp - 0x25]
movzx eax, dx
push eax
push 0x96
call fcn.0048cef0
add esp, 0x14
movzx ecx, byte [ebp - 0x14]
cmp ecx, 8
jl 0x447be5
jmp 0x447bea
jmp 0x447a8c
cmp dword [ebp - 0xc], 0
je 0x447c03
mov edx, dword [ebp - 0xc]
push edx
call fcn.00493af0
add esp, 4
mov dword [ebp - 0xc], 0
push 0
push 0xffffff
push 0x5014b8
push 0x1e
push 0x28
call fcn.0048cef0
add esp, 0x14
push 0
push 0xffffff
push 0x5014c0
push 0x1e
push 0xb4
call fcn.0048cef0
add esp, 0x14
push 0xffffff
push 0xffffff
push 0xf0
push 0x140
push 0xdc
push 0
call fcn.0048d400
add esp, 0x18
push 0xffffff
push 0
push 0x5014c8
push 0xde
push 0x50
call fcn.0048cef0
add esp, 0x14
jmp 0x447ee4
call fcn.00490460
call fcn.0048d6b0
push 0xffffff
push 0xffffff
push 0x14
push 0x140
push 0
push 0
call fcn.0048d400
add esp, 0x18
push 0xffffff
push 0
push 0x5014e0
push 2
push 0xa
call fcn.0048cef0
add esp, 0x14
push 0x5014f8
mov eax, dword [str.fault.log]
push eax
call fcn.004943f0
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x447ce1
push str.The_file_fault.log_was_not_opened__n
call fcn.0048c1d0
add esp, 4
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp - 0x12]
sub edx, 1
cmp ecx, edx
jl 0x447cf4
mov byte [ebp - 0x11], 0
mov al, byte [ebp - 0x11]
mov byte [ebp - 0x46], al
mov byte [ebp - 0x14], 0
mov byte [ebp - 0x25], 0x1e
mov cl, byte [ebp - 0x46]
mov byte [ebp - 0x11], cl
jmp 0x447d13
mov dl, byte [ebp - 0x11]
add dl, 1
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp - 0x12]
cmp eax, ecx
jge 0x447e46
push 2
movzx edx, byte [ebp - 0x11]
imul edx, edx, 6
add edx, 8
mov eax, 2
sub eax, edx
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00494fe0
add esp, 0xc
mov byte [ebp - 0x13], 0
mov dl, byte [ebp - 0x14]
add dl, 1
mov byte [ebp - 0x14], dl
movzx eax, byte [ebp - 0x25]
add eax, 0x14
mov byte [ebp - 0x25], al
mov ecx, dword [ebp - 0xc]
push ecx
push 6
push 1
lea edx, [ebp - 0x20]
push edx
call fcn.00494bc0
add esp, 0x10
movzx eax, byte [ebp - 0x20]
movzx ecx, byte [ebp - 0x1f]
shl ecx, 8
add eax, ecx
movzx edx, byte [ebp - 0x1e]
shl edx, 8
shl edx, 8
add eax, edx
movzx ecx, byte [ebp - 0x1d]
shl ecx, 8
shl ecx, 8
shl ecx, 8
add eax, ecx
mov dword [ebp - 0x50], eax
lea edx, [ebp - 0x50]
push edx
call fcn.00445b10
add esp, 4
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x10]
push ecx
push str._02d__02d__02d:_02d
lea edx, [ebp - 0x40]
push edx
call fcn.004920c0
add esp, 0x18
push 0
push 0xffffff
lea eax, [ebp - 0x40]
push eax
movzx cx, byte [ebp - 0x25]
movzx edx, cx
push edx
push 0xa
call fcn.0048cef0
add esp, 0x14
movzx eax, byte [ebp - 0x1c]
movzx ecx, byte [ebp - 0x1b]
shl ecx, 8
add eax, ecx
mov byte [ebp - 0x45], al
push 0
push 0xffffff
movzx dx, byte [ebp - 0x45]
movzx eax, dx
push eax
call fcn.00402290
add esp, 4
push eax
movzx cx, byte [ebp - 0x25]
movzx edx, cx
push edx
push 0x96
call fcn.0048cef0
add esp, 0x14
movzx eax, byte [ebp - 0x14]
cmp eax, 8
jl 0x447e41
mov byte [ebp - 0x14], 0
jmp 0x447e46
jmp 0x447d0a
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00493af0
add esp, 4
push 0
push 0xffffff
push 0x501538
push 0x1e
push 0x28
call fcn.0048cef0
add esp, 0x14
push 0
push 0xffffff
push 0x501540
push 0x1e
push 0xb4
call fcn.0048cef0
add esp, 0x14
push 0xffffff
push 0xffffff
push 0xf0
push 0x140
push 0xdc
push 0
call fcn.0048d400
add esp, 0x18
push 0xffffff
push 0
push 0x501548
push 0xde
push 0x50
call fcn.0048cef0
add esp, 0x14
jmp 0x447ee4
mov edx, 0x11
mov word [ebp - 8], dx
jmp 0x447ee4
mov eax, 0x12
mov word [ebp - 8], ax
jmp 0x447ee4
mov ecx, 0x10
mov word [ebp - 8], cx
movsx edx, word [ebp - 8]
cmp edx, 0x11
je 0x447ef6
movsx eax, word [ebp - 8]
cmp eax, 0x12
jne 0x447efc
mov ax, word [ebp - 8]
jmp 0x447f01
jmp 0x44798d
push edx
mov ecx, ebp
push eax
lea edx, [0x447f2c]
call fcn.00492460
pop eax
pop edx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004932b0
add esp, 0x5c
cmp ebp, esp
call fcn.00492430
mov esp, ebp
pop ebp
ret