Function at 0x4ad540
Capabilities:
Read file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x72e811
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x920
mov eax, dword [0x7cdffc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x920], esi
push 0x400
lea eax, [ebp - 0x4a0]
push 0
push eax
call fcn.006e6ec0
add esp, 0xc
lea eax, [ebp - 0x8a0]
push 0x400
push 0
push eax
call fcn.006e6ec0
add esp, 0xc
push 0x11
call fcn.00562efa
add esp, 4
mov dword [ebp - 0x930], 0
mov edi, eax
mov al, 9
mov byte [ebp - 0x8a4], al
lea eax, [ebp - 0x918]
mov dword [ebp - 0x924], edi
push 0x70
push 0
push eax
call fcn.006e6ec0
add esp, 0xc
lea ecx, [ebp - 0x918]
call fcn.004a0950
mov dword [ebp - 4], 0
push dword [esi + 0x3fc]
mov esi, dword [0x740b5c]
mov dword [ebp - 0x928], 2
call esi
test eax, eax
je 0x4ad626
mov dword [ebp - 0x928], 0
jmp 0x4ad65e
mov eax, dword [ebp - 0x920]
push dword [eax + 0x400]
call esi
test eax, eax
je 0x4ae163
mov eax, dword [ebp - 0x920]
mov dword [ebp - 0x928], 1
push dword [eax + 0x404]
call dword [0x740cf8]
mov byte [ebp - 0x8a4], al
push 0x800
xorps xmm0, xmm0
push 0
movups xmmword [edi], xmm0
push 0x8b29c8
mov byte [edi + 0x10], 0
call fcn.006e6ec0
mov ecx, 0x17
lea edi, [ebp - 0xa0]
mov esi, str.Bin_files__.bin_
lea edx, [ebp - 0xa0]
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x8b27bc]
call fcn.00545870
test eax, eax
jne 0x4ad6d3
mov edx, 0x4e0
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ad6b8
mov eax, dword [eax]
mov edi, dword [0x740748]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
jmp 0x4ae1cc
mov ecx, 0x8b29c8
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4ad6e0
push 0
push 0
push 0
push 0
sub ecx, edx
sar ecx, 1
push ecx
push 0x8b29c8
push 0
push 0
call dword [0x74059c]
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.00562f31
mov edx, 0x8b29c8
mov edi, eax
add esp, 4
lea eax, [edx + 2]
nop
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x4ad720
push 0
push 0
push esi
push edi
sub edx, eax
sar edx, 1
push edx
push 0x8b29c8
push 0
push 0
call dword [0x74059c]
push 0x783f44
push edi
mov byte [edi + esi], 0
call fcn.006ee3d5
push edi
mov esi, eax
call fcn.004b3b30
add esp, 0xc
test esi, esi
jne 0x4ad7ad
mov edx, 0x454
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ad778
mov eax, dword [eax]
mov edi, dword [0x740748]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x4ad7a3
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00404a50
mov edx, 0x454
jmp 0x4ae1a8
push 2
push 0
push esi
call fcn.006eed41
add esp, 0xc
push esi
call fcn.006ef33a
mov edi, dword [0x740748]
add esp, 4
mov dword [ebp - 0x92c], eax
push 0
push 1
push 0x471
push dword [0x8b27bc]
call edi
push ecx
lea ecx, [ebp - 0x918]
call fcn.004a0b10
test al, al
jne 0x4ad864
mov edx, 0x449
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ad805
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x449
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ad843
mov eax, dword [eax]
push 0
push 0x783858
push eax
push dword [0x8b27bc]
call dword [0x740754]
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
jmp 0x4ae1e1
cmp dword [ebp - 0x928], 0
lea ecx, [ebp - 0x918]
jne 0x4addfe
xorps xmm0, xmm0
mov byte [ebp - 0x3c], 0
lea eax, [ebp - 0x3c]
movq qword [ebp - 0x3b], xmm0
push eax
mov dword [ebp - 0x33], 0
mov word [ebp - 0x2f], 0
mov byte [ebp - 0x2d], 0
mov dword [ebp - 0x24], 0x20000002
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x18], 0
call fcn.004a19c0
mov ecx, 0xef00
cmp ax, cx
je 0x4ad8f1
mov edx, 0x44a
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ad8cf
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
mov edx, 0x44a
jmp 0x4ad833
lea eax, [ebp - 0x3c]
mov eax, dword [eax]
lea ecx, [ebp - 0x24]
cmp eax, dword [ecx]
je 0x4ada01
lea eax, [ebp - 0x91c]
mov dword [ebp - 0x91c], 0
push eax
lea ecx, [ebp - 0x918]
call fcn.004a1fd0
movss xmm0, dword [0x79c3e4]
comiss xmm0, dword [ebp - 0x91c]
jbe 0x4ada01
lea ecx, [ebp - 0x8a4]
mov dword [ebp - 0x8a4], 0
call fcn.0040cf50
mov edx, 0x597
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 8
jb 0x4ad964
mov eax, dword [eax]
movss xmm0, dword [ebp - 0x91c]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x8a4]
push eax
call fcn.0040cf30
mov byte [ebp - 4], 1
add esp, 0x10
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
mov esi, dword [ebp - 0x8a4]
cmp dword [esi - 4], 1
jle 0x4ad9b3
push dword [esi - 0xc]
lea ecx, [ebp - 0x8a4]
call fcn.00407600
mov esi, dword [ebp - 0x8a4]
push 0
push esi
push 0x472
push dword [0x8b27bc]
call edi
cmp dword [esi - 4], 1
jle 0x4ad9dd
push dword [esi - 0xc]
lea ecx, [ebp - 0x8a4]
call fcn.00407600
mov esi, dword [ebp - 0x8a4]
push 0
push 0x783858
push esi
push dword [0x8b27bc]
call dword [0x740754]
lea ecx, [ebp - 0x8a4]
call fcn.00407980
jmp 0x4ae1e1
cmp dword [ebp - 0x92c], 0xa0
je 0x4ada55
mov edx, 0x464
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ada22
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x464
jmp 0x4ad833
push 0
push 0
push esi
call fcn.006eed41
add esp, 0xc
lea eax, [ebp - 0x4a0]
push esi
push 1
push 0xa0
push eax
call fcn.006ef511
push esi
call fcn.006ee6f2
add esp, 0x14
lea ecx, [ebp - 0x918]
xor esi, esi
push dword [ebp - 0x924]
call fcn.004a1730
mov ecx, 0xef00
cmp ax, cx
je 0x4adad0
nop dword [eax]
inc esi
cmp esi, 3
je 0x4adb3a
push 0x3e8
call dword [0x7405ac]
push dword [ebp - 0x924]
lea ecx, [ebp - 0x918]
call fcn.004a1730
mov ecx, 0xef00
cmp ax, cx
jne 0x4adaa0
mov esi, dword [ebp - 0x924]
mov al, byte [esi]
cmp al, 0xbe
je 0x4adb82
cmp al, 0xeb
je 0x4adb82
cmp byte [esi + 3], 0
jne 0x4adb82
mov edx, 0x6cf
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4adb07
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x6cf
jmp 0x4ad833
mov edx, 0x451
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4adb4f
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x552
jmp 0x4ad833
mov edx, 0x466
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4adb97
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0xa0
lea eax, [ebp - 0x4a0]
push eax
push 0x473
push dword [0x8b324c]
call edi
mov al, byte [esi]
cmp al, 0xbe
je 0x4adcc3
cmp al, 0xeb
je 0x4adcc3
mov eax, 0x21df
cmp word [esi + 1], ax
jne 0x4adc07
mov ecx, 0x24
mov byte [ebp - 0x91c], 1
lea esi, [ebp - 0x4a0]
lea edi, [ebp - 0x8a0]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [0x740748]
jmp 0x4adc1f
lea edx, [ebp - 0x8a0]
lea ecx, [ebp - 0x4a0]
call fcn.00551f30
mov byte [ebp - 0x91c], 0
mov eax, dword [0x7405ac]
push 0x3e8
call eax
push dword [ebp - 0x91c]
lea eax, [ebp - 0x8a0]
push eax
push ecx
lea ecx, [ebp - 0x918]
call fcn.004a1620
mov ecx, 0xef00
cmp ax, cx
lea ecx, [ebp - 0x2c]
je 0x4adc6c
mov edx, 0x468
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4add24
mov eax, dword [eax]
jmp 0x4add24
mov edx, 0x469
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4adc7e
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x469
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4adcbc
mov eax, dword [eax]
push 0x40
jmp 0x4ad845
mov eax, dword [0x7405ac]
push 0x3e8
call eax
mov ecx, 0x28
lea esi, [ebp - 0x4a0]
lea edi, [ebp - 0x8a0]
rep movsd dword es:[edi], dword [esi]
push 0x3e8
call dword [0x7405ac]
lea eax, [ebp - 0x8a0]
push eax
lea ecx, [ebp - 0x918]
call fcn.004a1940
mov ecx, 0xef00
cmp ax, cx
lea ecx, [ebp - 0x2c]
je 0x4add57
mov edx, 0x468
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4add1e
mov eax, dword [eax]
mov edi, dword [0x740748]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x468
jmp 0x4ad833
mov edx, 0x469
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4add69
mov eax, dword [eax]
mov edi, dword [0x740748]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x469
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4addad
mov eax, dword [eax]
push 0x40
push 0x783858
push eax
push dword [0x8b27bc]
call dword [0x740754]
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
mov esi, dword [ebp - 0x920]
push 1
push dword [esi + 0x3e0]
call dword [0x740b24]
push 1
push dword [esi + 0x3e4]
call dword [0x740b24]
push 1
push dword [esi + 0x3dc]
call dword [0x740b24]
jmp 0x4ae1e1
lea eax, [ebp - 0x91c]
mov dword [ebp - 0x91c], 0
push eax
call fcn.004a1fd0
movss xmm0, dword [0x79c3e4]
comiss xmm0, dword [ebp - 0x91c]
jbe 0x4ade91
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x8a4]
mov dword [ebp - 0x8a4], 0
call fcn.0040cf50
mov edx, 0x597
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 8
jb 0x4ade68
mov eax, dword [eax]
movss xmm0, dword [ebp - 0x91c]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x8a4]
push eax
call fcn.0040cf30
mov byte [ebp - 4], 3
jmp 0x4ad988
mov al, byte [ebp - 0x8a4]
test al, al
je 0x4ae11b
cmp al, 2
je 0x4ae11b
cmp al, 3
je 0x4ae11b
cmp al, 9
jne 0x4adefb
mov edx, 0x462
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4adec8
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x462
jmp 0x4ad833
push 0
push 0
push esi
call fcn.006eed41
add esp, 0xc
lea eax, [ebp - 0x4a0]
push esi
push 1
push dword [ebp - 0x92c]
push eax
call fcn.006ef511
push esi
call fcn.006ee6f2
add esp, 0x14
lea edx, [ebp - 0x8a0]
lea ecx, [ebp - 0x4a0]
call fcn.00551e60
mov edx, 0x42c
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4adf4c
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push dword [ebp - 0x8a4]
lea ecx, [ebp - 0x918]
call fcn.004a1800
mov esi, 0xef00
cmp ax, si
je 0x4adfb7
nop
mov eax, dword [ebp - 0x930]
inc eax
mov dword [ebp - 0x930], eax
cmp eax, 3
je 0x4ae04e
push 0x3e8
call dword [0x7405ac]
push dword [ebp - 0x8a4]
lea ecx, [ebp - 0x918]
call fcn.004a1800
cmp ax, si
jne 0x4adf80
mov edx, 0x42d
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4adfcc
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push dword [ebp - 0x8a4]
lea eax, [ebp - 0x8a0]
push eax
push ecx
lea ecx, [ebp - 0x918]
call fcn.004a16a0
lea ecx, [ebp - 0x2c]
cmp ax, si
je 0x4ae096
mov edx, 0x46b
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ae01b
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x46b
jmp 0x4ad833
mov edx, 0x467
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ae063
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x467
jmp 0x4ad833
mov edx, 0x469
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ae0a8
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x469
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ae0e6
mov eax, dword [eax]
push 0x40
push 0x783858
push eax
push dword [0x8b27bc]
call dword [0x740754]
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
mov eax, dword [ebp - 0x920]
push 1
push dword [eax + 0x3e0]
call dword [0x740b24]
jmp 0x4ae1e1
mov edx, 0x46a
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ae130
mov eax, dword [eax]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00404ac0
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
mov edx, 0x46a
jmp 0x4ad833
mov edx, 0x463
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ae178
mov eax, dword [eax]
mov edi, dword [0x740748]
push 0
push eax
push 0x472
push dword [0x8b27bc]
call edi
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x4ae1a3
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00404a50
mov edx, 0x463
lea ecx, [ebp - 0x2c]
call fcn.00405cc0
cmp dword [eax + 0x14], 8
jb 0x4ae1b8
mov eax, dword [eax]
push 0
push 0x783858
push eax
push dword [0x8b27bc]
call dword [0x740754]
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x4ae1e1
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00404a50
push 0x11
push dword [ebp - 0x924]
call fcn.006a81ec
add esp, 8
lea ecx, [ebp - 0x918]
call fcn.004a1400
push 0
push 0
push 0x471
push dword [0x8b27bc]
call edi
push 0
push 1
push 0x489
push dword [0x8b27bc]
call edi
mov edi, dword [ebp - 0x920]
push 1
push dword [edi + 0x3d8]
call dword [0x740b24]
push 1
push dword [edi + 0x3f8]
call dword [0x740b24]
cmp dword [ebp - 0x928], 0
jne 0x4ae257
push 1
push dword [edi + 0x3e8]
call dword [0x740b24]
lea ecx, [ebp - 0x918]
call fcn.004a0a00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.006a7b19
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret