Function at 0x554570
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x623ec0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x10]
push edi
push 0x5ec588
mov ebx, ecx
mov dword [ebp - 0x10], 0
push esi
push eax
mov dword [ebp - 0x20], ebx
call fcn.0046c5d4
mov eax, dword [ebp - 0x10]
add esp, 0xc
test eax, eax
jne 0x5545ce
push esi
push str.___Fail_to_Load_TileMap_:__s_r_n
call fcn.00586620
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046676f
mov esp, ebp
pop ebp
ret 4
push eax
push 1
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push 1
push eax
call fcn.0047004e
mov eax, dword [ebp - 0x14]
add esp, 0x10
cmp eax, 0x7f
jle 0x5545f6
mov eax, 0x7f
mov dword [ebp - 0x14], eax
push dword [ebp - 0x10]
push eax
lea eax, [ebx + 0x24]
push 1
push eax
call fcn.0047004e
mov eax, dword [ebp - 0x14]
mov byte [ebx + eax + 0x24], 0
lea eax, [ebp - 8]
push dword [ebp - 0x10]
mov dword [ebp - 8], 0
push 1
push 1
push eax
mov dword [ebp - 0xc], 0
call fcn.0047004e
push dword [ebp - 0x10]
lea eax, [ebp - 0xc]
push 1
push 1
push eax
call fcn.0047004e
mov edi, dword [ebp - 0xc]
add esp, 0x30
mov esi, dword [ebp - 8]
mov ecx, ebx
push edi
push esi
call fcn.005539f0
push edi
push esi
call fcn.0054faa0
push dword [ebp - 0x10]
lea eax, [ebx + 0xcc]
push 0x1000
push 0xc
push eax
call fcn.0047004e
push dword [ebp - 0x10]
call fcn.0046bf19
mov eax, 1
lea ecx, [ebx + 0x143d8]
add esp, 0x14
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov esi, 1
mov edi, ecx
nop dword [eax]
push eax
push esi
lea eax, [ebp - 0x2c]
mov ecx, ebx
push eax
call fcn.0054ffc0
inc esi
lea edi, [edi + 0xc]
movq xmm0, qword [eax]
movq qword [edi - 0xc], xmm0
mov eax, dword [eax + 8]
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x1c]
cmp esi, 0x3f
jl 0x554690
mov ecx, dword [ebp - 0x18]
inc eax
add ecx, 0x300
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x3f
jl 0x554686
lea ecx, [ebx + 0x140cc]
mov esi, 0x40
mov edx, ecx
nop word [eax + eax]
movq xmm0, qword [edx + 0xc]
lea edx, [edx + 0x300]
mov eax, dword [edx - 0x2ec]
movq qword [edx - 0x300], xmm0
movq xmm0, qword [edx - 0x18]
mov dword [edx - 0x2f8], eax
mov eax, dword [edx - 0x10]
movq qword [edx - 0xc], xmm0
mov dword [edx - 4], eax
sub esi, 1
jne 0x5546e0
lea edx, [esi + 0x40]
nop word [eax + eax]
movq xmm0, qword [ecx + 0x300]
lea ecx, [ecx + 0xc]
mov eax, dword [ecx + 0x2fc]
movq qword [ecx - 0xc], xmm0
movq xmm0, qword [ecx + 0xb9f4]
mov dword [ecx - 4], eax
mov eax, dword [ecx + 0xb9fc]
movq qword [ecx + 0xbcf4], xmm0
mov dword [ecx + 0xbcfc], eax
sub edx, 1
jne 0x554720
mov dword [ebx + 0x200d8], edx
mov dword [ebx + 0x200dc], edx
mov dword [ebx + 0x200e0], edx
mov dword [ebx + 0x200e4], edx
mov dword [ebx + 0x200e8], edx
mov dword [ebx + 0x20108], edx
mov eax, dword [0x9c25a4]
mov dword [ebx + 0x200cc], 0x3f800000
mov dword [ebx + 0x200d0], 0x3f800000
mov dword [ebx + 0x200d4], 0x3f800000
movups xmm0, xmmword [ebx + 0x200cc]
mov dword [ebx + 0x2010c], edx
mov dword [ebx + 0x200fc], 0x3e99999a
movups xmmword [ebx + 0x200ec], xmm0
mov dword [ebx + 0x20100], 0x3e99999a
mov dword [ebx + 0x20104], 0x3e99999a
cmp dword [eax + 0x354], 1
jne 0x5547fa
mov dword [ebx + 0x200fc], 0x3e4ccccd
mov dword [ebx + 0x20100], 0x3e4ccccd
mov dword [ebx + 0x20104], 0x3e4ccccd
lea edx, [ebx + 0xcc]
mov esi, 0x40
mov ecx, edx
nop word [eax + eax]
mov al, byte [ecx + 0xc]
lea ecx, [ecx + 0x300]
mov byte [ecx - 0x300], al
sub esi, 1
jne 0x554810
mov ecx, 0x40
nop dword [eax]
mov al, byte [edx + 0x300]
lea edx, [edx + 0xc]
mov byte [edx - 0xc], al
sub ecx, 1
jne 0x554830
movss xmm7, dword [0x604cf4]
lea eax, [ebx + 0xc0cd]
movss xmm6, dword [0x604d2c]
lea ecx, [ebx + 0x3cc]
xor edx, edx
mov dword [ebp - 0x18], eax
xor esi, esi
mov edi, eax
nop word [eax + eax]
movsx eax, byte [ecx - 0x300]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
cmp edx, 0x3e
jb 0x554888
movaps xmm5, xmm3
jmp 0x554892
movsx eax, byte [ecx]
movd xmm5, eax
cvtdq2ps xmm5, xmm5
cmp esi, 0x3e
jb 0x5548a9
movaps xmm4, xmm3
cmp edx, 0x3e
jb 0x5548a4
movaps xmm2, xmm3
jmp 0x5548cc
movsx eax, byte [ecx]
jmp 0x5548c5
movsx eax, byte [ecx - 0x2f4]
movd xmm4, eax
cvtdq2ps xmm4, xmm4
cmp edx, 0x3e
jb 0x5548c1
movaps xmm2, xmm4
jmp 0x5548cc
movsx eax, byte [ecx + 0xc]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm4
inc esi
addss xmm1, xmm3
add ecx, 0xc
addss xmm1, xmm5
addss xmm1, xmm2
mulss xmm1, xmm7
movaps xmm0, xmm1
addss xmm0, xmm3
mulss xmm0, xmm6
cvttss2si eax, xmm0
movaps xmm0, xmm1
addss xmm0, xmm4
mov byte [edi - 1], al
mulss xmm0, xmm6
cvttss2si eax, xmm0
movaps xmm0, xmm1
addss xmm1, xmm2
addss xmm0, xmm5
mov byte [edi], al
mulss xmm1, xmm6
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov byte [edi + 0x7f], al
cvttss2si eax, xmm1
mov byte [edi + 0x80], al
add edi, 2
cmp esi, 0x40
jl 0x554870
mov eax, dword [ebp - 0x18]
inc edx
add eax, 0x100
mov dword [ebp - 0x18], eax
cmp edx, 0x40
jl 0x554862
cmp byte [ebx + 0x20a32], 0
jne 0x554987
xor edx, edx
nop word [eax + eax]
lea eax, [ebx + 0xc0cc]
mov ecx, 0xf
add eax, edx
nop dword [eax]
mov byte [eax], 0x7f
lea eax, [eax + 0x80]
sub ecx, 1
jne 0x554970
inc edx
cmp edx, 0x80
jl 0x554960
cmp byte [ebx + 0x20a33], 0
jne 0x5549b7
xor edx, edx
lea eax, [ebx + 0xf9cc]
mov ecx, 0xe
add eax, edx
nop
mov byte [eax], 0x7f
lea eax, [eax + 0x80]
sub ecx, 1
jne 0x5549a0
inc edx
cmp edx, 0x80
jl 0x554992
cmp byte [ebx + 0x20a30], 0
jne 0x5549ff
cmp dword [ebp - 8], 0x10
jne 0x5549d3
cmp dword [ebp - 0xc], 0x10
mov dword [ebp - 0x18], 7
je 0x5549da
mov dword [ebp - 0x18], 0xf
lea esi, [ebx + 0xc0cc]
mov edi, 0x80
mov ebx, dword [ebp - 0x18]
push ebx
push 0x7f
push esi
call fcn.00468b40
add esp, 0xc
sub esi, 0xffffff80
sub edi, 1
jne 0x5549e8
mov ebx, dword [ebp - 0x20]
cmp byte [ebx + 0x20a31], 0
jne 0x554a3d
lea eax, [ebx + 0xc13e]
mov ecx, 0x80
nop dword [eax]
nop word [eax + eax]
lea eax, [eax + 0x80]
mov edx, 0x7f7f7f7f
mov dword [eax - 0x80], edx
mov dword [eax - 0x7c], edx
mov dword [eax - 0x78], edx
mov word [eax - 0x74], dx
sub ecx, 1
jne 0x554a20
cmp byte [ebx + 0x20a30], 1
jne 0x554ab4
cmp byte [ebx + 0x20a33], 1
jne 0x554a74
xor edx, edx
lea eax, [edx + 0xf94c]
mov ecx, 0xf
add eax, ebx
nop
mov byte [eax], 0x7f
lea eax, [eax + 0x80]
sub ecx, 1
jne 0x554a60
inc edx
cmp edx, 0x10
jl 0x554a51
cmp byte [ebx + 0x20a30], 1
jne 0x554ab4
cmp byte [ebx + 0x20a32], 1
jne 0x554ab4
xor edx, edx
nop dword [eax + eax]
lea eax, [edx + 0xc0cc]
mov ecx, 0x10
add eax, ebx
nop dword [eax]
mov byte [eax], 0x7f
lea eax, [eax + 0x80]
sub ecx, 1
jne 0x554aa0
inc edx
cmp edx, 0x10
jl 0x554a90
cmp byte [ebx + 0x20a31], 1
jne 0x554b37
cmp byte [ebx + 0x20a33], 1
jne 0x554af7
mov edx, 0x71
nop dword [eax + eax]
lea eax, [edx + 0xf94c]
mov ecx, 0xf
add eax, ebx
nop dword [eax]
mov byte [eax], 0x7f
lea eax, [eax + 0x80]
sub ecx, 1
jne 0x554ae0
inc edx
cmp edx, 0x80
jl 0x554ad0
cmp byte [ebx + 0x20a31], 1
jne 0x554b37
cmp byte [ebx + 0x20a32], 1
jne 0x554b37
mov edx, 0x71
nop
lea eax, [edx + 0xc0cc]
mov ecx, 0x10
add eax, ebx
nop dword [eax]
mov byte [eax], 0x7f
lea eax, [eax + 0x80]
sub ecx, 1
jne 0x554b20
inc edx
cmp edx, 0x80
jl 0x554b10
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046676f
mov esp, ebp
pop ebp
ret 4