Function at 0x57d47d
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [ebp + 8]
push ebx
add eax, 0xfffffffc
cmp eax, 0x2e
push esi
mov esi, ecx
ja case.default.0x57d49e
movzx eax, byte [eax + 0x57dd85]
push edi
jmp dword [eax*4 + 0x57dd09]
lea eax, [ebp - 0xc]
lea edi, [esi + 0x24]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp + 8]
push eax
mov ecx, edi
call fcn.00585296
mov eax, dword [ebp + 8]
mov ecx, eax
or ecx, dword [ebp - 0xc]
test ecx, 0xffffff00
je 0x57d4e0
push 0x5dff24
push esi
call fcn.0057bf37
pop ecx
pop ecx
jmp case.0x57d49e.34
and dword [esi + 0xac], 0
or eax, 0xfffffe00
shl eax, 8
or eax, dword [ebp - 0xc]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x1d0]
mov dword [esi + 0x3dc], eax
jmp case.0x57d49e.34
lea eax, [ebp - 0xc]
lea edi, [esi + 0x24]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp + 8]
push eax
mov ecx, edi
call fcn.00585296
mov eax, dword [ebp + 8]
mov edx, eax
or edx, dword [ebp - 0xc]
mov ecx, 0xffffff00
test ecx, edx
jne 0x57d4ce
mov dword [esi + 0xac], 1
or eax, ecx
jmp 0x57d4ec
lea eax, [ebp + 8]
push eax
lea ecx, [esi + 0x44]
call fcn.00585296
lea eax, [ebp - 0x24]
lea edi, [esi + 0x34]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0x30]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0x30]
push eax
push dword [ebp + 8]
mov ecx, esi
call fcn.0057cc6f
jmp case.0x57d49e.34
lea eax, [ebp - 0x18]
lea edi, [esi + 0x54]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 8]
push eax
mov ecx, edi
call fcn.00585296
push dword [ebp - 8]
lea ecx, [esi + 0x74]
call fcn.00585131
add dword [esi + 0xa0], 4
jmp case.0x57d49e.34
lea eax, [ebp + 8]
push eax
lea ecx, [esi + 0x44]
call fcn.00585296
lea eax, [ebp - 0x18]
lea edi, [esi + 0x54]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 8]
push eax
mov ecx, edi
call fcn.00585296
push dword [ebp - 8]
lea edi, [esi + 0x74]
mov ecx, edi
call fcn.00585131
mov eax, dword [ebp - 0x18]
or eax, dword [ebp + 8]
mov ecx, edi
push eax
call fcn.00585131
add dword [esi + 0xa0], 8
jmp case.0x57d49e.34
lea eax, [ebp - 0xc]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp + 8]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0x18]
lea edi, [esi + 0x54]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 8]
push eax
mov ecx, edi
call fcn.00585296
push dword [ebp - 8]
lea edi, [esi + 0x74]
mov ecx, edi
call fcn.00585131
mov eax, dword [ebp - 0x18]
or eax, dword [ebp + 8]
mov ecx, edi
push eax
call fcn.00585131
push dword [ebp - 0xc]
mov ecx, edi
call fcn.00585131
add dword [esi + 0xa0], 0xc
jmp case.0x57d49e.34
lea eax, [ebp - 0x1c]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0xc]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp + 8]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0x18]
lea edi, [esi + 0x54]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 8]
push eax
mov ecx, edi
call fcn.00585296
cmp dword [esi + 0xac], 0
jne 0x57d6d6
mov eax, dword [ebp - 8]
and eax, 0xffff
cmp eax, 3
jne 0x57d6d6
mov eax, dword [ebp - 8]
and eax, 0xffff0002
or eax, 2
xor dword [ebp - 0x1c], 0x1000000
mov dword [ebp - 8], eax
push dword [ebp - 8]
lea edi, [esi + 0x74]
mov ecx, edi
call fcn.00585131
mov eax, dword [ebp - 0x18]
or eax, dword [ebp + 8]
mov ecx, edi
push eax
call fcn.00585131
push dword [ebp - 0xc]
mov ecx, edi
call fcn.00585131
push dword [ebp - 0x1c]
mov ecx, edi
call fcn.00585131
add dword [esi + 0xa0], 0x10
jmp case.0x57d49e.34
lea eax, [ebp - 0x20]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0x1c]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0xc]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp + 8]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 0x18]
lea edi, [esi + 0x54]
push eax
mov ecx, edi
call fcn.00585296
lea eax, [ebp - 8]
push eax
mov ecx, edi
call fcn.00585296
push dword [ebp - 8]
lea edi, [esi + 0x74]
mov ecx, edi
call fcn.00585131
mov eax, dword [ebp - 0x18]
or eax, dword [ebp + 8]
mov ecx, edi
push eax
call fcn.00585131
push dword [ebp - 0xc]
mov ecx, edi
call fcn.00585131
push dword [ebp - 0x1c]
mov ecx, edi
call fcn.00585131
push dword [ebp - 0x20]
mov ecx, edi
call fcn.00585131
add dword [esi + 0xa0], 0x14
jmp case.0x57d49e.34
lea eax, [ebp + 8]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
call fcn.00585296
or byte [ebp + 0xa], 0xf
push dword [ebp + 8]
jmp 0x57dad4
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.00585296
lea eax, [esi + 0x3e4]
push eax
lea ecx, [esi + 0x14]
call fcn.00585296
lea eax, [ebp + 8]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
mov dword [esi + 0x3e0], 1
call fcn.00585296
push dword [ebp - 0x10]
mov ecx, esi
call fcn.0057c784
mov ecx, dword [ebp + 8]
and ecx, 0xfff0ffff
or eax, ecx
mov dword [ebp + 8], eax
push eax
mov ecx, edi
call fcn.00585131
push dword [ebp - 0x10]
call fcn.005bcaa7
and dword [esi + 0x3e0], 0
pop ecx
jmp case.0x57d49e.34
lea eax, [ebp + 8]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
call fcn.00585296
push dword [ebp + 8]
mov ecx, edi
call fcn.00585131
cmp dword [esi + 0xb4], 0xffff0104
jne case.0x57d49e.34
mov eax, dword [ebp + 8]
and eax, 0x70000000
cmp eax, 0x20000000
jne case.0x57d49e.34
test byte [ebp + 0xb], 0xf
je case.0x57d49e.34
push 0x5dfef8
jmp 0x57d4d3
lea eax, [ebp + 8]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
call fcn.00585296
cmp dword [esi + 0xb4], 0xffff0104
mov ecx, dword [ebp + 8]
jne 0x57d8ab
mov eax, ecx
and eax, 0x70000000
cmp eax, 0x20000000
jne 0x57d8ab
push 0x5dfef8
push esi
call fcn.0057bf37
pop ecx
pop ecx
jmp 0x57d7b0
mov eax, ecx
and eax, 0xf000000
je 0x57d90c
cmp eax, 0x2000000
je 0x57d8fe
cmp eax, 0x4000000
je 0x57d8f0
cmp eax, 0x7000000
je 0x57d8e2
cmp eax, 0x9000000
je 0x57d8db
cmp eax, 0xa000000
jne 0x57d7b0
push 0x5dfec8
jmp 0x57d89e
and ecx, 0xf8ffffff
or ecx, 0x8000000
jmp 0x57d918
and ecx, 0xf5ffffff
or ecx, 0x5000000
jmp 0x57d918
and ecx, 0xf3ffffff
or ecx, 0x3000000
jmp 0x57d918
and ecx, 0xf1ffffff
or ecx, 0x1000000
mov dword [ebp + 8], ecx
jmp 0x57d7b0
lea eax, [ebp - 4]
push eax
lea ecx, [esi + 0x24]
call fcn.00585296
lea eax, [ebp + 8]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
call fcn.00585296
cmp dword [esi + 0xac], 0
jne 0x57d94a
push 0x5dfe9c
jmp 0x57d977
cmp dword [esi + 0xb4], 0xffff0104
jne 0x57d96c
mov eax, dword [ebp + 8]
and eax, 0x70000000
cmp eax, 0x20000000
jne 0x57d96c
push 0x5dfef8
jmp 0x57d977
test byte [ebp + 0xb], 0xf
je 0x57d97f
push 0x5dfe6c
push esi
call fcn.0057bf37
pop ecx
pop ecx
mov eax, dword [ebp + 8]
and eax, 0xf6ffffff
or eax, 0x6000000
mov dword [ebp + 8], eax
push eax
jmp 0x57dad4
lea eax, [ebp + 8]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
call fcn.00585296
mov eax, dword [ebp + 8]
and eax, 0xffe4ffff
or eax, 0xe40000
jmp 0x57d98f
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.00585296
lea eax, [esi + 0x3e4]
push eax
lea ecx, [esi + 0x14]
call fcn.00585296
lea eax, [ebp + 8]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
mov dword [esi + 0x3e0], 1
call fcn.00585296
push dword [ebp - 0x10]
mov ecx, esi
call fcn.0057c82d
mov ecx, dword [ebp + 8]
and ecx, 0xff00ffff
or eax, ecx
jmp 0x57d802
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.00585296
lea eax, [esi + 0x3e4]
push eax
lea ecx, [esi + 0x14]
call fcn.00585296
xor edi, edi
push edi
push edi
push dword [ebp - 0x10]
mov ecx, esi
mov dword [esi + 0x3e0], 1
call fcn.0057c8ce
or eax, 0x80000000
push eax
lea ecx, [esi + 0x44]
call fcn.00585131
push dword [ebp - 0x10]
call fcn.005bcaa7
pop ecx
mov dword [esi + 0x3e0], edi
jmp case.0x57d49e.34
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.00585296
lea eax, [esi + 0x3e4]
push eax
lea ecx, [esi + 0x14]
call fcn.00585296
xor ebx, ebx
lea eax, [ebp - 4]
lea edi, [esi + 0x44]
inc ebx
push eax
mov ecx, edi
mov dword [esi + 0x3e0], ebx
call fcn.00585296
push ebx
push dword [ebp - 4]
mov ecx, esi
push dword [ebp - 0x10]
call fcn.0057c8ce
or eax, 0x80000000
jmp 0x57d802
lea eax, [ebp - 4]
lea edi, [esi + 0x44]
push eax
mov ecx, edi
call fcn.00585296
cmp dword [esi + 0xac], 0
je 0x57dab9
push 0x5dfab4
jmp 0x57dac7
cmp dword [ebp - 4], 0xb0000000
je 0x57dacf
push 0x5dfe44
push esi
call fcn.0057bf37
pop ecx
pop ecx
push 0x2000
mov ecx, edi
jmp 0x57dca3
lea eax, [ebp - 4]
push eax
lea ecx, [esi + 0x24]
call fcn.00585296
test dword [ebp - 4], 0xffffe000
je 0x57dafd
push 0x5dfe2c
push esi
call fcn.0057bf37
pop ecx
pop ecx
push dword [ebp - 4]
lea ecx, [esi + 0x44]
jmp 0x57dca3
lea eax, [ebp + 8]
lea ebx, [esi + 0x44]
push eax
mov ecx, ebx
call fcn.00585296
lea eax, [ebp - 4]
push eax
mov ecx, ebx
call fcn.00585296
cmp dword [esi + 0xac], 0
mov edi, 0x2000
je 0x57db36
push 0x5dfab4
jmp 0x57db50
cmp dword [ebp - 4], 0xb0000000
je 0x57db46
push 0x5dfe44
jmp 0x57db50
test dword [ebp + 8], edi
je 0x57db58
push 0x5dfdf8
push esi
call fcn.0057bf37
pop ecx
pop ecx
mov eax, dword [ebp + 8]
or eax, edi
push eax
jmp 0x57dbaa
lea eax, [ebp - 4]
push eax
lea ecx, [esi + 0x24]
call fcn.00585296
lea eax, [ebp + 8]
lea ebx, [esi + 0x44]
push eax
mov ecx, ebx
call fcn.00585296
mov eax, dword [ebp + 8]
mov edi, 0x1fff
and eax, edi
add eax, dword [ebp - 4]
test eax, 0xffffe000
je 0x57db9b
push 0x5dfe2c
push esi
call fcn.0057bf37
pop ecx
pop ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
add ecx, eax
xor ecx, eax
and ecx, edi
xor ecx, eax
push ecx
mov ecx, ebx
jmp 0x57dca3
push dword [esi + 0x1c8]
lea edi, [esi + 0x54]
mov ecx, edi
call fcn.00585131
push dword [esi + 0x1cc]
mov ecx, edi
call fcn.00585131
mov ecx, esi
call fcn.0057cdee
jmp case.0x57d49e.34
cmp dword [esi + 0xac], 0
jne 0x57dbf0
push 0x5dfdd0
push esi
call fcn.0057bf37
pop ecx
pop ecx
mov eax, dword [esi + 0x1c8]
or eax, 0x40000000
push eax
jmp 0x57dbb7
lea eax, [ebp - 4]
push eax
lea ecx, [esi + 0x24]
call fcn.00585296
fild dword [ebp - 4]
mov eax, dword [ebp - 4]
test eax, eax
jge 0x57dc3a
fadd dword [0x5deb9c]
jmp 0x57dc3a
lea eax, [ebp - 4]
push eax
lea ecx, [esi + 0x24]
call fcn.00585296
fild dword [ebp - 4]
mov eax, dword [ebp - 4]
test eax, eax
jge 0x57dc38
fadd dword [0x5deb9c]
fchs
fstp dword [ebp - 0x14]
jmp 0x57dc9d
lea eax, [ebp - 0x14]
lea edi, [esi + 0x34]
push eax
mov ecx, edi
call fcn.00585296
fld dword [ebp - 0x14]
fchs
mov ecx, edi
fstp dword [ebp - 0x14]
jmp 0x57dca0
lea eax, [esi + 0xc8]
push eax
mov ecx, esi
call fcn.005851e3
push dword [esi + 0x1d0]
lea ecx, [esi + 0x14]
jmp 0x57dca3
lea eax, [esi + 0xc8]
push eax
call fcn.005a51b7
pop ecx
push eax
lea ecx, [esi + 0x24]
jmp 0x57dca3
lea eax, [ebp - 0x14]
push eax
lea eax, [esi + 0xc8]
push 0x5dfdcc
push eax
call fcn.005a4e0c
add esp, 0xc
lea ecx, [esi + 0x34]
push dword [ebp - 0x14]
call fcn.00585131
pop edi
mov ecx, esi
call fcn.005852ca
test eax, eax
jl 0x57dcf0
lea ecx, [esi + 0x14]
call fcn.005852ca
test eax, eax
jl 0x57dcf0
lea ecx, [esi + 0x24]
call fcn.005852ca
test eax, eax
jl 0x57dcf0
lea ecx, [esi + 0x44]
call fcn.005852ca
test eax, eax
jl 0x57dcf0
lea ecx, [esi + 0x74]
call fcn.005852ca
test eax, eax
jl 0x57dcf0
lea ecx, [esi + 0x34]
call fcn.005852ca
test eax, eax
jge 0x57dd03
push 0x3bb
push 0x5dfdac
push esi
call fcn.0057bf37
add esp, 0xc
pop esi
pop ebx
leave
ret 4