Function at 0x447c08
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x529919
call fcn.004512a8
sub esp, 0x84
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x58], esi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
cmp dword [esi + 0x12c], ebx
jne 0x447c6d
lea eax, [esi + 0x100]
cmp dword [eax + 0x18], 0x10
jb 0x447c41
mov eax, dword [eax + 4]
jmp 0x447c44
add eax, 4
movzx ecx, word [esi + 0x11c]
push ecx
push eax
mov ecx, esi
call fcn.0044676a
test al, al
jne 0x447c6d
mov dword [ebp - 0x38], 0x6a
push 0x58a84c
lea eax, [ebp - 0x38]
push eax
call fcn.00450cd9
mov dword [ebp - 4], ebx
cmp dword [esi + 0x34], ebx
jne 0x447c86
mov dword [ebp - 0x3c], 0xc9
push 0x58a84c
lea eax, [ebp - 0x3c]
jmp 0x447c67
push 9
call fcn.00443b4b
pop ecx
mov edi, eax
cmp dword [esi + 0x38], 0x10
jb 0x447c9b
mov eax, dword [esi + 0x24]
jmp 0x447c9e
lea eax, [esi + 0x24]
push eax
push 0x532860
push dword [esi + 0x124]
call fcn.00453d76
add esp, 0xc
push edi
mov ecx, esi
call fcn.00444678
push edi
mov ecx, esi
call fcn.00445e5a
lea edi, [esi + 0x134]
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
cdq
push 0x38
pop ecx
idiv ecx
cmp eax, ebx
jne 0x447cec
mov dword [ebp - 0x40], 0xcb
push 0x58a84c
lea eax, [ebp - 0x40]
jmp 0x447c67
push 0xa
call fcn.00443b4b
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ebx
mov ebx, 0x532850
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
cdq
push 0x38
pop ecx
idiv ecx
cmp dword [ebp - 0x14], eax
jae 0x447d54
push dword [ebp - 0x14]
mov ecx, edi
call fcn.00446018
add eax, 0x1c
cmp dword [eax + 0x18], 0x10
jb 0x447d28
mov eax, dword [eax + 4]
jmp 0x447d2b
add eax, 4
push eax
push ebx
push dword [esi + 0x124]
call fcn.00453d76
add esp, 0xc
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00444678
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00445e5a
inc dword [ebp - 0x14]
jmp 0x447cff
and dword [ebp - 0x14], 0
lea ecx, [esi + 0x14c]
mov eax, dword [ecx + 0x10]
sub eax, dword [ecx + 0xc]
cdq
push 0x38
pop edi
idiv edi
cmp dword [ebp - 0x14], eax
jae 0x447db1
push dword [ebp - 0x14]
call fcn.00446018
add eax, 0x1c
cmp dword [eax + 0x18], 0x10
jb 0x447d85
mov eax, dword [eax + 4]
jmp 0x447d88
add eax, 4
push eax
push ebx
push dword [esi + 0x124]
call fcn.00453d76
add esp, 0xc
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00444678
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00445e5a
inc dword [ebp - 0x14]
jmp 0x447d58
and dword [ebp - 0x14], 0
lea ecx, [esi + 0x164]
mov eax, dword [ecx + 0x10]
sub eax, dword [ecx + 0xc]
cdq
push 0x38
pop edi
idiv edi
cmp dword [ebp - 0x14], eax
jae 0x447e0e
push dword [ebp - 0x14]
call fcn.00446018
add eax, 0x1c
cmp dword [eax + 0x18], 0x10
jb 0x447de2
mov eax, dword [eax + 4]
jmp 0x447de5
add eax, 4
push eax
push ebx
push dword [esi + 0x124]
call fcn.00453d76
add esp, 0xc
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00444678
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00445e5a
inc dword [ebp - 0x14]
jmp 0x447db5
push 0xb
call fcn.00443b4b
mov edi, eax
mov dword [esp], 0x532848
push dword [esi + 0x124]
call fcn.00456470
pop ecx
pop ecx
push edi
mov ecx, esi
call fcn.00444678
push edi
mov ecx, esi
call fcn.00445e5a
push 0xc
call fcn.00443b4b
pop ecx
mov edi, eax
mov dword [ebp - 0x18], edi
push dword [esi + 0x124]
mov ecx, esi
call fcn.004456a6
push edi
mov ecx, esi
call fcn.00444678
mov ecx, esi
call fcn.004448b0
test eax, eax
je 0x447ea3
and dword [ebp - 0x14], 0
mov ecx, esi
call fcn.004448b0
cmp dword [ebp - 0x14], eax
jae 0x447ec3
push dword [ebp - 0x14]
mov ecx, esi
call fcn.00446322
push eax
push 0x532774
push dword [esi + 0x124]
call fcn.00453d76
add esp, 0xc
push edi
mov ecx, esi
call fcn.00444678
inc dword [ebp - 0x14]
jmp 0x447e6c
push 0x531740
push 0x532774
push dword [esi + 0x124]
call fcn.00453d76
add esp, 0xc
push edi
mov ecx, esi
call fcn.00444678
push 0x37
call fcn.00451928
pop ecx
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x447ee6
mov dword [ebp - 0x44], 0x198
push 0x58a84c
lea eax, [ebp - 0x44]
jmp 0x447c67
push 0xff
call fcn.00451928
pop ecx
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x447f0c
mov dword [ebp - 0x48], 0x198
push 0x58a84c
lea eax, [ebp - 0x48]
jmp 0x447c67
and dword [ebp - 0x34], 0
and dword [ebp - 0x20], 0
mov ebx, 0x532484
lea edi, [esi + 0x17c]
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
cdq
push 0x1c
pop ecx
idiv ecx
cmp dword [ebp - 0x20], eax
jae 0x4481de
push dword [ebp - 0x20]
mov ecx, edi
call fcn.00444209
cmp dword [eax + 0x18], 0x10
jb 0x447f49
mov eax, dword [eax + 4]
jmp 0x447f4c
add eax, 4
push eax
push dword [ebp - 0x30]
call fcn.00456470
push 0x5323d4
push 0x532840
push dword [esi + 0x124]
call fcn.00453d76
push 0x532810
push dword [esi + 0x124]
call fcn.00456480
add esp, 0x1c
push 0xffffffffffffffff
push 0x53280c
push dword [ebp - 0x20]
mov ecx, edi
call fcn.00444209
mov ecx, eax
call fcn.004449bf
mov ecx, dword [ebp - 0x30]
lea eax, [eax + ecx + 1]
push eax
push dword [esi + 0x124]
call fcn.00456480
push ebx
push dword [esi + 0x124]
call fcn.00456480
push 0x5327e8
push dword [esi + 0x124]
call fcn.00456480
push 0x5327bc
push dword [esi + 0x124]
call fcn.00456480
add esp, 0x20
push 0xffffffffffffffff
push 0x53280c
push dword [ebp - 0x20]
mov ecx, edi
call fcn.00444209
mov ecx, eax
call fcn.004449bf
mov edi, dword [ebp - 0x30]
lea eax, [eax + edi + 1]
push eax
push dword [esi + 0x124]
call fcn.00456480
push ebx
push dword [esi + 0x124]
call fcn.00456480
push 0x531788
push dword [esi + 0x124]
call fcn.00456480
add esp, 0x18
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00444678
push 0x5327b8
push edi
call fcn.004537a6
pop ecx
pop ecx
mov edi, eax
mov dword [ebp - 0x54], edi
test edi, edi
jne 0x448055
mov dword [ebp - 0x4c], 0x194
push 0x58a84c
lea eax, [ebp - 0x4c]
jmp 0x447c67
and dword [ebp - 0x2c], 0
push edi
call fcn.00456677
pop ecx
test eax, eax
jne 0x448079
push edi
push 0x36
push 1
push dword [ebp - 0x28]
call fcn.00453d59
add esp, 0x10
add dword [ebp - 0x2c], eax
jmp 0x448059
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
and eax, 0xfffffc00
cmp eax, 0x3200000
jbe 0x4480a2
mov dword [ebp - 0x50], 0x195
push 0x58a84c
lea eax, [ebp - 0x50]
jmp 0x447c67
push 0
push 0
push edi
call fcn.004565f2
add esp, 0xc
and dword [ebp - 0x24], 0
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x2c]
xor edx, edx
push 0x36
pop ecx
div ecx
inc eax
cmp dword [ebp - 0x14], eax
jae 0x4481bf
push edi
push ecx
push 1
push dword [ebp - 0x28]
call fcn.00453d59
add esp, 0x10
mov edi, eax
push edi
push dword [ebp - 0x28]
cmp dword [ebp - 0x24], 0
je 0x448119
lea eax, [ebp - 0x90]
push eax
call fcn.00443825
add esp, 0xc
mov byte [ebp - 4], 1
or dword [ebp - 0x1c], 1
cmp dword [eax + 0x18], 0x10
jb 0x448108
mov eax, dword [eax + 4]
jmp 0x44810b
add eax, 4
push eax
push dword [esi + 0x124]
call fcn.00456480
jmp 0x448148
lea eax, [ebp - 0x74]
push eax
call fcn.00443825
add esp, 0xc
push 2
pop ecx
mov dword [ebp - 4], ecx
or dword [ebp - 0x1c], ecx
cmp dword [eax + 0x18], 0x10
jb 0x448139
mov eax, dword [eax + 4]
jmp 0x44813c
add eax, 4
push eax
push dword [esi + 0x124]
call fcn.00456470
pop ecx
pop ecx
xor eax, eax
inc eax
mov dword [ebp - 4], eax
test byte [ebp - 0x1c], 2
je 0x448165
and dword [ebp - 0x1c], 0xfffffffd
push 0
push eax
lea ecx, [ebp - 0x74]
call fcn.00433351
and dword [ebp - 4], 0
test byte [ebp - 0x1c], 1
je 0x448182
and dword [ebp - 0x1c], 0xfffffffe
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.00433351
push 0x531788
push dword [esi + 0x124]
call fcn.00456480
pop ecx
pop ecx
mov eax, dword [ebp - 0x24]
lea edi, [eax + edi + 2]
mov dword [ebp - 0x24], edi
cmp edi, 0x1400
jb 0x4481b4
and dword [ebp - 0x24], 0
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00444678
inc dword [ebp - 0x14]
mov edi, dword [ebp - 0x54]
jmp 0x4480b7
cmp dword [ebp - 0x24], 0
je 0x4481cf
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00444678
push edi
call fcn.00453482
pop ecx
inc dword [ebp - 0x20]
jmp 0x447f19
push dword [ebp - 0x28]
call fcn.00450d90
push dword [ebp - 0x30]
call fcn.00450d90
pop ecx
pop ecx
mov eax, dword [esi + 0x18c]
sub eax, dword [esi + 0x188]
cdq
push 0x1c
pop ecx
idiv ecx
test eax, eax
je 0x448228
push 0x5323d4
push 0x5327ac
push dword [esi + 0x124]
call fcn.00453d76
add esp, 0xc
push dword [ebp - 0x18]
mov ecx, esi
call fcn.00444678
push 0xd
call fcn.00443b4b
mov edi, eax
mov dword [esp], 0x5327a4
push dword [esi + 0x124]
call fcn.00456470
pop ecx
pop ecx
push edi
mov ecx, esi
call fcn.00444678
push edi
mov ecx, esi
call fcn.00445e5a
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret